Example #1
0
<?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"
Example #2
0
$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.");
}
/**
 * 检查文件代码是否包括系统模块关键字
 */
if (strpos($code, "pmx.system.module.")) {
    die("Error: The code contain invalid string.");
}
$pmxModule = new pmxModule($name, $desc, $cat, $only, $code);
/**
 * 模块名称是否已经存在
 */
if ($pmxModule->isExistName($name) == TRUE) {
    die("Error: Duplicate module name.");
}
/**
 * 添加模块
 */
if ($pmxModule->addMod() == TRUE) {
    echo "Success: You have add module \"" . esc_html($name) . "\" successful";
} else {
    echo "Error: Sorry. We are fail to add the module \"" . esc_html($name) . "\".";
}
Example #3
0
/**
 * 保存模块
 */
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) . "\".";
}
Example #4
0
 /**
  * 获取项目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;
 }
Example #5
0
<?php

/**
 * 获取模块配置
 */
if (!defined("PMX_ENTRANCE")) {
    header("HTTP/1.0 404 Not Found");
    exit;
}
header('Content-Type: text/json; charset=utf-8');
$id = isset($_GET["id"]) ? intval($_GET["id"]) : NULL;
$pmxModule = new pmxModule();
$json_data = array("status" => "0", "msg" => "", "data" => "");
if (!pmx_validate_token()) {
    $json_data = array("status" => "0", "msg" => "Token is incorrect.", "data" => "");
    die(json_encode($json_data));
}
if (!$pmxModule->isExistID($id)) {
    $json_data = array("status" => "0", "msg" => "The module id is non-existent.", "data" => "");
    die(json_encode($json_data));
}
$data = $pmxModule->getConfig($id);
$json_data = array("status" => "1", "msg" => "success.", "data" => $data);
echo json_encode($json_data);
Example #6
0
<?php

/**
 * 删除模块
 */
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("Error: Token is incorrect.");
}
$id = isset($_GET["id"]) ? intval($_GET["id"]) : NULL;
$pmxModule = new pmxModule();
if (!$pmxModule->isExistID($id)) {
    die("Error: The module id is non-existent.");
}
if ($pmxModule->delMod($id)) {
    echo "Success: You have deleted module {$id} successful.";
}