浏览代码

added support for URL_ACTION additional get params

Piotr Labudda 8 年之前
父节点
当前提交
6c6b02250d
共有 1 个文件被更改,包括 12 次插入0 次删除
  1. 12 0
      SE/se-lib/Route/UrlAction.php

+ 12 - 0
SE/se-lib/Route/UrlAction.php

@@ -151,6 +151,7 @@ class Route_UrlAction extends RouteBase {// TODO: UrlActionBase
 				$fun['ico'] = "glyphicon glyphicon-share";
 				$fun['cell_id_params'] = array();
 				$fun['link_target'] = '_blank';// LINK_TARGET_SELF
+				$fun['url_args'] = []; // Zasob `TYPE` = 'DANE' whhere `DESC` != 'LINK_TARGET_SELF'
 				$functions[ $row['ID'] ] = $fun;
 			}
 			$funParams = $functions[ $row['ID'] ]['cell_id_params'];
@@ -166,12 +167,23 @@ class Route_UrlAction extends RouteBase {// TODO: UrlActionBase
 			if ('LINK_TARGET_SELF' == $row['link_param']) {
 				unset($functions[ $row['ID'] ]['link_target']);
 			}
+			else if (!empty($row['link_param'])) {
+				$functions[ $row['ID'] ]['url_args'][] = ( strpos($row['link_param'], '=') ? $row['link_param'] : $row['link_param'] . "=1" );
+			}
 		}
 		$functions = array_filter($functions, function ($rowFunction) use ($idRecord) {
 				return ($idRecord > 0)
 				?	!empty($rowFunction['cell_id_params'])
 				:	empty($rowFunction['cell_id_params']);
 		});
+		$functions = array_map(function ($fun) { // fix url_args
+			$urlArgs = array_unique($fun['url_args']);
+			unset($fun['url_args']);
+			if (!empty($urlArgs)) {
+				$fun['baseLink'] .= "&" . implode("&", $urlArgs);
+			}
+			return $fun;
+		}, $functions);
 		DBG::log($functions, 'array', "getTableFunctions({$idTbl}, {$idRecord}, ...) :: functions");
 		return $functions;
 	}