function _validateParams($link) { $ini_filepath = openpne_ext_search('portal/validate/do/edit_link/link_list.ini'); $rules = parse_ini_file($ini_filepath, true); $validator = new OpenPNE_Validator($rules, $link); // OpenPNE_Validator による検証 if (!$validator->validate()) { $this->handleError($validator->getErrors()); } // 独自のパラメータ検証 $params = $validator->getParams(); if ($params['title'] || $params['url']) { // タイトルとURLのいずれかが入力されている $error = array(); // タイトルもしくはURLのどちらかが入力されていない if (!$params['title']) { $error[] = 'タイトルを入力してください'; } elseif (!$params['url']) { $error[] = 'URLを入力してください'; } if (!empty($error)) { $this->handleError($error); } } return $params; }
/** * モジュール名を取得 * 空の場合はデフォルトモジュールを返す * * 間違ったモジュール名を指定した * デフォルトモジュールが存在しない場合は false * * @param string $module module name */ function _check_module($module) { // 英数字とアンダーバーのみ // 「../」等は許さない if (preg_match('/\\W/', $module)) { // モジュール名が不正です return false; } if (empty($module)) { // モジュールが指定されていません return false; } if ($module == ADMIN_MODULE_NAME) { $module = 'admin'; } elseif ($module == 'admin') { return false; } if (!openpne_ext_search($module)) { return false; } return $module; }
function util_get_module_config($module) { $config = array(); if ($file = openpne_ext_search($module . '/config.ini')) { $config = parse_ini_file($file, true); } return $config; }
$_SERVER['QUERY_STRING'] .= $params; if (!($module = _check_module($module))) { openpne_display_error('モジュールが見つかりません', true); } // disable modules if (in_array($module, (array) $GLOBALS['_OPENPNE_DISABLE_MODULES'])) { openpne_display_error('モジュールが無効になっています', true); } if (OPENPNE_UNDER_MAINTENANCE && !in_array($module, (array) $GLOBALS['_OPENPNE_MAINTENANCE_MODULES'])) { openpne_display_error(); } if ($init = openpne_ext_search("{$module}/init.inc")) { require_once $init; } // 読み込む auth.inc を決定 $auth = openpne_ext_search("{$module}/auth.inc"); if (!$auth) { $auth = OPENPNE_WEBAPP_DIR . '/lib/auth.inc'; } // ファイル名が module_ または b_ ではじまる場合、認証をおこなうかどうかのチェック list($img_prefix, $img_second_prefix) = explode('_', $_GET['filename'], 3); if ($img_prefix == 'module' && $img_second_prefix) { $module_config = util_get_module_config($img_second_prefix); if (!isset($module_config['image']['is_auth']) || $module_config['image']['is_auth']) { require_once $auth; } } elseif ($img_prefix == 'b') { if (db_banner_is_after_auth_banner($img_second_prefix)) { require_once $auth; } } else {