Esempio n. 1
0
 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;
 }
Esempio n. 2
0
/**
 * モジュール名を取得
 * 空の場合はデフォルトモジュールを返す
 *
 * 間違ったモジュール名を指定した
 * デフォルトモジュールが存在しない場合は 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;
}
Esempio n. 3
0
function util_get_module_config($module)
{
    $config = array();
    if ($file = openpne_ext_search($module . '/config.ini')) {
        $config = parse_ini_file($file, true);
    }
    return $config;
}
Esempio n. 4
0
 $_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 {