/** * 保存模块 */ if (!defined("PMX_ENTRANCE")) { header("HTTP/1.0 404 Not Found"); exit; } header('Content-Type: text/html; charset=utf-8'); if (!pmx_validate_token()) { die("Token is incorrect."); } $allow_cats = array(0, 1, 2); $allow_onlys = array(0, 1); $id = isset($_POST["id"]) ? $_POST["id"] : ""; $name = isset($_POST["name"]) ? $_POST["name"] : ""; $desc = isset($_POST["desc"]) ? $_POST["desc"] : ""; $cat = isset($_POST["optionsCat"]) ? $_POST["optionsCat"] : 2; $only = isset($_POST["optionsOnly"]) ? $_POST["optionsOnly"] : 0; $code = isset($_POST["code"]) ? $_POST["code"] : ""; if ($name == "" || !in_array($cat, $allow_cats) || !in_array($only, $allow_onlys)) { die("Error: Something you input is invalid."); } $pmxModule = new pmxModule($name, $desc, $cat, $only, $code); if ($pmxModule->isExistID($id) == FALSE) { die("Error: Module id is invalid."); } if ($pmxModule->updateMod($id) == TRUE) { echo "Success: You have update module \"" . esc_html($name) . "\" successful"; } else { echo "Error: Sorry. We are fail to update the module \"" . esc_html($name) . "\"."; }
<?php if (!defined("PMX_ENTRANCE")) { header("HTTP/1.0 404 Not Found"); exit; } pmx_require_header("Edit Module"); pmx_require_nav(""); $id = isset($_GET["id"]) ? intval($_GET["id"]) : NULL; $pmxModule = new pmxModule(); if (!$pmxModule->isExistID($id)) { die("Error: The module id is non-existent."); } $data = $pmxModule->getDetail($id); ?> <div class="main"> <div class="main-item-single main-item-add-module pull-left"> <form class="form-horizontal" id="form-add-mod" action="<?php echo pmx_getactionurl_savemod(); ?> " method="POST" role="form"> <div class="main-item-single-block main-item-single-addmodule-setting"> <div class="add-module-item add-module-item-1"> <div class="form-group"> <label for="inputName" class="col-sm-2 control-label">Name</label> <div class="col-sm-9"> <input type="text" name="name" class="form-control" id="inputName" placeholder="Module Name"
/** * 获取项目JS代码 * * @param unknown $id * @param string $type * nomal为js.php, hook为hook.js, 这会让{pmx.system.projurl}的值不一样 * @return boolean|string */ public function getCode($id, $type = "normal", $urlext = "") { global $table_prefix; if (!$this->isExistID($id)) { return FALSE; } $detail = $this->getDetail($id); $saltid = $detail['saltid']; /** * 获取模块ID */ $mods = json_decode($detail["mods"]); /** * 获取项目的模块参数配置 */ $projModConfig = json_decode($detail["modConfig"]); if (count($mods) <= 0) { return FALSE; } $pmxMod = new pmxModule(); $jscode = ""; /** * 把模块参数配置整合到原始模块代码里 */ foreach ($mods as $modid) { // BUGS if ($pmxMod->isExistID($modid)) { $code = $pmxMod->getDetail($modid)['code']; $config = $pmxMod->getConfig($modid); // echo "\n=============\n$modid"; // var_dump($config); $search = array(); if (count($config) > 0) { foreach ($config as $config_item) { $search_item["search"] = "{pmx.define." . $config_item[0] . "}"; if (count($projModConfig) > 0) { foreach ($projModConfig as $modConfig_item) { if ($modConfig_item[0] == $modid) { if ($modConfig_item[1] == $config_item[0]) { $search_item["replace"] = $modConfig_item[2]; break; } else { $search_item["replace"] = ""; } } } } else { $search_item["replace"] = ""; } $search[] = $search_item; // var_dump($search_item); } } $search[] = array("search" => "{pmx.system.projid}", "replace" => $saltid); if ($type != "hook") { $search[] = array("search" => "{pmx.system.projurl}", "replace" => (new pmxURL())->get_request_puburl($saltid)); } else { $search[] = array("search" => "{pmx.system.projurl}", "replace" => (new pmxURL())->get_response_puburl($saltid, $urlext)); } /** * 为主机记录生成SID */ $sid = $this->newSaltID(50); while ((new pmxHost())->isExistSaltID($sid)) { $sid = $this->newSaltID(50); } $search[] = array("search" => "{pmx.system.hookurl}", "replace" => (new pmxURL())->get_hook_puburl($saltid, $sid . "/")); // echo $modid." : "; // var_dump($search); if (count($search) > 0) { foreach ($search as $search_item) { if (trim($search_item["search"]) != "" && trim($code) != "") { $code = str_replace($search_item["search"], $search_item["replace"], $code); // echo "\n===============\n{$modid}*str_replace(".$search_item["search"].", ".$search_item["replace"].', $code);'."\t\n".$code; } } } $jscode = $jscode . $code . "\n"; } } return $jscode; }