• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP DIContainerFactory类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中DIContainerFactory的典型用法代码示例。如果您正苦于以下问题:PHP DIContainerFactory类的具体用法?PHP DIContainerFactory怎么用?PHP DIContainerFactory使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了DIContainerFactory类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。

示例1: validate

 /**
  * validate実行
  *
  * @param   mixed   $attributes チェックする値(autoregist_use_items)     
  * @param   string  $errStr     エラー文字列(未使用:エラーメッセージ固定)
  * @param   array   $params     オプション引数
  * @return  string  エラー文字列(エラーの場合)
  * @access  public
  */
 function validate($attributes, $errStr, $params)
 {
     // container取得
     $container =& DIContainerFactory::getContainer();
     $usersView =& $container->getComponent("usersView");
     $use_items = $attributes;
     if (!isset($use_items)) {
         return _INVALID_INPUT;
     }
     // eメールと携帯メール
     $where = array("({items}.type = 'email' OR {items}.type = 'mobile_email')" => null);
     $items =& $usersView->getItems($where, null, null, null, array($this, "_getItemsFetchcallback"));
     foreach ($use_items as $use_item) {
         // 不正入力チェック
         if (!$use_item) {
             continue;
         }
         $list = explode(":", $use_item);
         if (count($list) != 2) {
             continue;
         }
         // eメールか携帯メールが必須(value = _ON)になっているか?
         list($id, $value) = $list;
         if (array_key_exists($id, $items)) {
             if ($value == SYSTEM_AUTOREGIST_DEFAULT_MUST_ITEM || $value == SYSTEM_AUTOREGIST_CHECKED_ITEM) {
                 return;
             }
         }
     }
     return $errStr;
 }
开发者ID:RikaFujiwara,项目名称:NetCommons2,代码行数:40,代码来源:Validator_Mailitem.class.php


示例2: validate

 /**
  * プライベートメッセージチェックバリデータクラス
  *   Filterとして行うべきだが、実装していないためValidatorとして実装
  *
  * @param   mixed   $attributes チェックする値(配列の場合あり)
  * @param   string  $errStr     エラー文字列
  * @param   array   $params     (使用しない)
  * @return  string  エラー文字列(エラーの場合)
  * @access  public
  */
 function validate($attributes, $errStr, $params)
 {
     $container =& DIContainerFactory::getContainer();
     $session =& $container->getComponent('Session');
     $user_id = $session->getParameter('_user_id');
     if (empty($user_id)) {
         return;
     }
     $modulesView =& $container->getComponent('modulesView');
     $pm_module = $modulesView->getModuleByDirname('pm');
     if (!isset($pm_module['module_id'])) {
         return;
     }
     if ($session->getParameter('_user_auth_id') < _AUTH_GENERAL) {
         return;
     }
     $authoritiesView =& $container->getComponent('authoritiesView');
     $_role_auth_id = $session->getParameter('_role_auth_id');
     $where_params = array('{modules}.module_id' => $pm_module['module_id']);
     $authorities = $authoritiesView->getAuthoritiesModulesLinkByAuthorityId($_role_auth_id, $where_params);
     if ($authorities === false || !isset($authorities[0]) || $authorities[0]['authority_id'] === null) {
         return;
     }
     $renderer =& SmartyTemplate::getInstance();
     $renderer->assign('_pm_use_flag', _ON);
     $commonMain =& $container->getComponent('commonMain');
     $request =& $container->getComponent('Request');
     require_once WEBAPP_DIR . '/modules/pm/config/define.inc.php';
     $pmView =& $commonMain->registerClass(WEBAPP_DIR . '/modules/pm/components/View.class.php', 'Pm_Components_View', 'pmView');
     $request->setParameter('filter', PM_FILTER_UNREAD);
     $new_message_count = $pmView->getMessageCount();
     $request->setParameter('filter', '');
     $renderer->assign('_pm_new_message_count', $new_message_count);
     return;
 }
开发者ID:RikaFujiwara,项目名称:NetCommons2,代码行数:45,代码来源:Validator_Message.class.php


示例3: validate

 /**
  * validate処理
  *
  * @param   mixed   $attributes チェックする値
  * @param   string  $errStr     エラー文字列
  * @param   array   $params     オプション引数
  * @return  string  エラー文字列(エラーの場合)
  * @access  public
  */
 function validate($attributes, $errStr, $params)
 {
     $container =& DIContainerFactory::getContainer();
     $request =& $container->getComponent("Request");
     $session =& $container->getComponent("Session");
     $authID = $session->getParameter("_auth_id");
     $userID = $session->getParameter("_user_id");
     $assignmentView =& $container->getComponent("assignmentView");
     $prefix_id_name = $request->getParameter("prefix_id_name");
     if ($prefix_id_name == ASSIGNMENT_REFERENCE_PREFIX_NAME . $attributes["assignment_id"] || $prefix_id_name == ASSIGNMENT_SUMMARY_PREFIX_NAME . $attributes["assignment_id"] || $prefix_id_name == ASSIGNMENT_SUBMITTER_PREFIX_NAME . $attributes["assignment_id"] || $prefix_id_name == ASSIGNMENT_SUBMITTERS_PREFIX_NAME . $attributes["assignment_id"]) {
         $request->setParameter("reference", _ON);
     } else {
         $request->setParameter("reference", _OFF);
     }
     $submit_user_id = $assignmentView->getSubmitterID($attributes["submit_id"]);
     if ($submit_user_id === false) {
         return $errStr;
     }
     if (!empty($submit_user_id)) {
         $request->setParameter("submit_user_id", $submit_user_id);
     }
     if (empty($submit_user_id) || $submit_user_id == $userID) {
         return;
     }
     if (!$assignmentView->hasSubmitterView($submit_user_id)) {
         return $errStr;
     }
     return;
 }
开发者ID:RikaFujiwara,项目名称:NetCommons2,代码行数:38,代码来源:Validator_Submitter.class.php


示例4: execute

 /**
  * Injectionを行う
  *
  * @access  public
  * @since   3.0.0
  */
 function execute()
 {
     $log =& LogFactory::getLog();
     $log->trace("Filter_InjectSessionの前処理が実行されました", "Filter_InjectSession#execute");
     //
     // 設定ファイルに入っていた値を元に設定
     //
     $container =& DIContainerFactory::getContainer();
     if ($this->getSize() > 0) {
         $session =& $container->getComponent("Session");
         $params = $session->getParameters();
         if (count($params) > 0) {
             foreach ($this->getAttributes() as $key => $value) {
                 $component =& $container->getComponent($key);
                 if (is_object($component)) {
                     BeanUtils::setAttributes($component, $params, true);
                 } else {
                     $log->error("不正なコンポーネントが設定ファイルで指定されています({$key})", "Filter_InjectSession#execute");
                 }
             }
         }
     }
     $filterChain =& $container->getComponent("FilterChain");
     $filterChain->execute();
     $log->trace("Filter_InjectSessionの後処理が実行されました", "Filter_InjectSession#execute");
 }
开发者ID:RikaFujiwara,项目名称:NetCommons2,代码行数:32,代码来源:Filter_InjectSession.class.php


示例5: validate

 /**
  * validate実行
  *
  * @param   mixed   $attributes チェックする値
  * @param   string  $errStr     エラー文字列
  * @param   array   $params     オプション引数
  * @return  string  エラー文字列(エラーの場合)
  * @access  public
  */
 function validate($attributes, $errStr, $params)
 {
     $container =& DIContainerFactory::getContainer();
     $role_authority_id = intval($attributes);
     if ($role_authority_id == 0) {
         return;
     }
     // 会員データ取得
     $usersView =& $container->getComponent("usersView");
     $where_params = array("{users}.active_flag IN (" . _USER_ACTIVE_FLAG_OFF . "," . _USER_ACTIVE_FLAG_ON . "," . _USER_ACTIVE_FLAG_PENDING . "," . _USER_ACTIVE_FLAG_MAILED . ")" => null, "{users}.system_flag IN (" . _ON . "," . _OFF . ")" => null, "{users}.role_authority_id" => $role_authority_id);
     $users =& $usersView->getUsers($where_params);
     if ($users === false || isset($users[0])) {
         return $errStr;
     }
     $authoritiesView =& $container->getComponent("authoritiesView");
     $auth =& $authoritiesView->getAuthorityById($role_authority_id);
     if ($auth['user_authority_id'] == _AUTH_MODERATE) {
         // モデレータならば
         // pages_users_linkテーブルで
         // role_auth_idが使用されていないこともチェック
         $pagesView =& $container->getComponent("pagesView");
         $pages_users_link =& $pagesView->getPageUsersLink(array("role_authority_id" => $role_authority_id));
         if ($pages_users_link === false || isset($pages_users_link[0])) {
             return $errStr;
         }
     }
     return;
 }
开发者ID:RikaFujiwara,项目名称:NetCommons2,代码行数:37,代码来源:Validator_RoleAuthExistence.class.php


示例6: validate

 /**
  * メッセージデータバリデータ
  *
  * @param   mixed   $attributes チェックする値
  * @param   string  $errStr     エラー文字列
  * @param   array   $params     オプション引数
  * @return  string  エラー文字列(エラーの場合)
  * @access  public
  */
 function validate($attributes, $errStr, $params)
 {
     $receiver_id = null;
     $message_id = null;
     if (isset($attributes["receiver_id"])) {
         $receiver_id = $attributes["receiver_id"];
     }
     if (isset($attributes["message_id"])) {
         $message_id = $attributes["message_id"];
     }
     if ($message_id != null) {
         $container =& DIContainerFactory::getContainer();
         $pmView =& $container->getComponent("pmView");
         $receiver_id = $pmView->getMessageReceiverId($message_id);
         if ($receiver_id == false) {
             return;
         }
     }
     if ($receiver_id == null) {
         return;
     }
     if (!is_array($receiver_id)) {
         $receivers = explode(" ", $receiver_id);
     } else {
         $receivers = $receiver_id;
     }
     $container =& DIContainerFactory::getContainer();
     $pmView =& $container->getComponent("pmView");
     foreach ($receivers as $receiver) {
         if (!$pmView->checkMessageExist($receiver)) {
             return $errStr;
         }
     }
     return;
 }
开发者ID:RikaFujiwara,项目名称:NetCommons2,代码行数:44,代码来源:Validator_MessageView.class.php


示例7: validate

 /**
  * 表示方法チェックバリデータ
  *
  * @param   mixed   $attributes チェックする値
  * @param   string  $errStr     エラー文字列
  * @param   array   $params     オプション引数
  * @return  string  エラー文字列(エラーの場合)
  * @access  public
  */
 function validate($attributes, $errStr, $params)
 {
     $container =& DIContainerFactory::getContainer();
     $db =& $container->getComponent("DbObject");
     $sql = "SELECT user_flag, member_flag, total_member_flag " . "FROM {online} " . "WHERE block_id = ?";
     $blocks = $db->execute($sql, $attributes["block_id"], 1, null, false);
     if ($blocks === false) {
         $db->addError();
         return $errStr;
     }
     $request =& $container->getComponent("Request");
     $actionChain =& $container->getComponent("ActionChain");
     $actionName = $actionChain->getCurActionName();
     if ($actionName == "online_action_edit_style") {
         $exists = !empty($blocks);
         $request->setParameter("exists", $exists);
         return;
     }
     if (!empty($blocks)) {
         $request->setParameter("user_flag", $blocks[0][0]);
         $request->setParameter("member_flag", $blocks[0][1]);
         $request->setParameter("total_member_flag", $blocks[0][2]);
     } else {
         $request->setParameter("user_flag", 1);
         $request->setParameter("member_flag", 1);
         $request->setParameter("total_member_flag", 1);
     }
     return;
 }
开发者ID:RikaFujiwara,项目名称:NetCommons2,代码行数:38,代码来源:Validator_Display.class.php


示例8: validate

 /**
  * リンク必須項目チェックバリデータ
  *
  * @param   mixed   $attributes チェックする値
  * @param   string  $errStr     エラー文字列
  * @param   array   $params     オプション引数
  * @return  string  エラー文字列(エラーの場合)
  * @access  public
  */
 function validate($attributes, $errStr, $params)
 {
     $container =& DIContainerFactory::getContainer();
     $filterChain =& $container->getComponent("FilterChain");
     $smartyAssign =& $filterChain->getFilterByName("SmartyAssign");
     if (empty($attributes["automatic_check"]) && isset($attributes["title"]) && empty($attributes["title"])) {
         $errors[] = sprintf($errStr, $smartyAssign->getLang("linklist_title"));
     }
     if (isset($attributes["url"]) && (empty($attributes["url"]) || $attributes["url"] == LINKLIST_DEFAULT_TITLE)) {
         $errors[] = sprintf($errStr, $smartyAssign->getLang("linklist_url"));
     }
     if (!empty($errors)) {
         $errStr = implode("<br />", $errors);
         return $errStr;
     }
     if (!isset($attributes["url"])) {
         return;
     }
     //許可するプロトコルを読み込み
     $db =& $container->getComponent("DbObject");
     $sql = "SELECT protocol FROM {textarea_protocol}";
     $protocolArr = $db->execute($sql);
     if ($protocolArr === false) {
         return _INVALID_INPUT;
     }
     if (preg_match("/^\\.\\//", $attributes["url"]) || preg_match("/^\\.\\.\\//", $attributes["url"])) {
         return;
     }
     foreach ($protocolArr as $i => $protocol) {
         if (preg_match("/^" . $protocol["protocol"] . "/", $attributes["url"])) {
             return;
         }
     }
     return _INVALID_INPUT;
 }
开发者ID:RikaFujiwara,项目名称:NetCommons2,代码行数:44,代码来源:Validator_LinkRequired.class.php


示例9: execute

 /**
  * セッション処理を行う
  *
  * @access  public
  * @since   3.0.0
  */
 function execute()
 {
     $log =& LogFactory::getLog();
     $log->trace("Filter_Sessionの前処理が実行されました", "Filter_Session#execute");
     $container =& DIContainerFactory::getContainer();
     $session =& new Session();
     $container->register($session, "Session");
     $attributes = $this->getAttributes();
     $modeArray = array();
     if (isset($attributes["mode"])) {
         $modeArray = explode(",", $attributes["mode"]);
         foreach ($modeArray as $key => $value) {
             $modeArray[$key] = trim($value);
         }
     } else {
         $modeArray[] = "start";
     }
     if (isset($attributes["name"])) {
         $session->setName($attributes["name"]);
     }
     if (isset($attributes["id"])) {
         $session->setID($attributes["id"]);
     }
     if (isset($attributes["savePath"])) {
         $session->setSavePath($attributes["savePath"]);
     }
     if (isset($attributes["subsavePath"]) && !is_writable($session->getSavePath())) {
         $session->setSavePath($attributes["subsavePath"]);
     }
     if (isset($attributes["cacheLimiter"])) {
         $session->setCacheLimiter($attributes["cacheLimiter"]);
     }
     if (isset($attributes["cacheExpire"])) {
         $session->setCacheExpire($attributes["cacheExpire"]);
     }
     if (isset($attributes["useCookies"])) {
         $session->setUseCookies($attributes["useCookies"]);
     }
     if (isset($attributes["lifetime"])) {
         $session->setCookieLifetime($attributes["lifetime"]);
     }
     if (isset($attributes["path"])) {
         $session->setCookiePath($attributes["path"]);
     }
     if (isset($attributes["domain"])) {
         $session->setCookieDomain($attributes["domain"]);
     }
     if (isset($attributes["secure"])) {
         $session->setCookieSecure($attributes["secure"]);
     }
     if (in_array('start', $modeArray)) {
         $session->start();
     }
     $filterChain =& $container->getComponent("FilterChain");
     $filterChain->execute();
     if (in_array('close', $modeArray)) {
         $session->close();
     }
     $log->trace("Filter_Sessionの後処理が実行されました", "Filter_Session#execute");
 }
开发者ID:RikaFujiwara,项目名称:NetCommons2,代码行数:66,代码来源:Filter_Session.class.php


示例10: validate

 /**
  * validate実行
  *
  * @param   mixed   $attributes チェックする値
  * @param   string  $errStr     エラー文字列
  * @param   array   $params     オプション引数
  * @return  string  エラー文字列(エラーの場合)
  * @access  public
  */
 function validate($attributes, $errStr, $params)
 {
     $container =& DIContainerFactory::getContainer();
     $request =& $container->getComponent("Request");
     $session =& $container->getComponent("Session");
     $pagesView =& $container->getComponent("pagesView");
     $room_id_arr = $request->getParameter("room_id_arr");
     $_user_auth_id = $session->getParameter("_user_auth_id");
     if ($_user_auth_id == _AUTH_ADMIN) {
         $room_id_arr[] = CALENDAR_ALL_MEMBERS_ID;
     }
     $add_authority_arr = array_keys($attributes["add_authority"]);
     $diff_arr = array_diff($add_authority_arr, $room_id_arr);
     if (count($diff_arr) > 0) {
         return $errStr;
     }
     foreach ($room_id_arr as $i => $room_id) {
         if (isset($attributes["add_authority"][$room_id])) {
             $add_authority = $attributes["add_authority"][$room_id];
         } else {
             if ($room_id == CALENDAR_ALL_MEMBERS_ID) {
                 $add_authority = _AUTH_ADMIN;
             } else {
                 $add_authority = _AUTH_CHIEF;
             }
         }
         $attributes["add_authority"][$room_id] = $add_authority;
     }
     $request->setParameter("add_authority", $attributes["add_authority"]);
 }
开发者ID:RikaFujiwara,项目名称:NetCommons2,代码行数:39,代码来源:Validator_EditAuth.class.php


示例11: validate

 /**
  * 正解チェックバリデータ
  *
  * @param   mixed   $attributes チェックする値
  * @param   string  $errStr     エラー文字列
  * @param   array   $params     オプション引数
  * @return  string  エラー文字列(エラーの場合)
  * @access  public
  */
 function validate($attributes, $errStr, $params)
 {
     if ($attributes["quiz"]["status"] != QUIZ_STATUS_INACTIVE_VALUE) {
         return;
     }
     if ($attributes["question_type"] == QUIZ_QUESTION_TYPE_TEXTAREA_VALUE) {
         return;
     }
     ksort($attributes["choice_id"]);
     $correctChecks = array();
     foreach (array_keys($attributes["choice_id"]) as $choiceIteration) {
         if ($attributes["question_type"] == QUIZ_QUESTION_TYPE_RADIO_VALUE && $attributes["correct_radio"] == $choiceIteration || $attributes["question_type"] == QUIZ_QUESTION_TYPE_CHECKBOX_VALUE && !empty($attributes["correct"][$choiceIteration]) || $attributes["question_type"] == QUIZ_QUESTION_TYPE_WORD_VALUE) {
             $correctChecks[] = _ON;
         } else {
             $correctChecks[] = _OFF;
         }
     }
     if ($attributes["require_flag"] && !in_array(_ON, $correctChecks)) {
         return $errStr;
     }
     $correct = implode("|", $correctChecks);
     $container =& DIContainerFactory::getContainer();
     $request =& $container->getComponent("Request");
     $request->setParameter("correct", $correct);
     return;
 }
开发者ID:RikaFujiwara,项目名称:NetCommons2,代码行数:35,代码来源:Validator_Correct.class.php


示例12: execute

 /**
  * command line parameters to dto
  *
  * @access  public
  */
 function execute()
 {
     $className = get_class($this);
     $container =& DIContainerFactory::getContainer();
     $actionChain =& $container->getComponent("ActionChain");
     $this->_errorList =& $actionChain->getCurErrorList();
     $log =& LogFactory::getLog();
     $log->trace("{$className}の前処理が実行されました", "{$className}#execute");
     $req =& $container->getComponent('Request');
     $cmdArgs = $req->getParameter('args');
     $dto =& $this->_createDto($this->getAttributes(), is_array($cmdArgs) ? $cmdArgs : array());
     if (is_object($dto)) {
         $container->register($dto, $this->componentKey);
         //余ったパラメータをargsに上書き
         $req->setParameter('args', $dto->args);
     } elseif ($this->registerDummy) {
         $dummy = new stdClass();
         $req->setParameterRef($this->componentKey, $dummy);
         $container->register($dummy, $this->componentKey);
     }
     //
     // ここで一旦次のフィルターに制御を移す
     //
     $filterChain =& $container->getComponent("FilterChain");
     $filterChain->execute();
     //
     // ここに後処理を記述
     //
     $log->trace("{$className}の後処理が実行されました", "{$className}#execute");
 }
开发者ID:RikaFujiwara,项目名称:NetCommons2,代码行数:35,代码来源:Filter_CmdArgs2Dto.class.php


示例13: validate

 /**
  * 汎用データベース存在チェックバリデータ
  *
  * @param   mixed   $attributes チェックする値
  * @param   string  $errStr     エラー文字列
  * @param   array   $params     オプション引数
  * @return  string  エラー文字列(エラーの場合)
  * @access  public
  */
 function validate($attributes, $errStr, $params)
 {
     $container =& DIContainerFactory::getContainer();
     $actionChain =& $container->getComponent("ActionChain");
     $actionName = $actionChain->getCurActionName();
     if (empty($attributes["multidatabase_id"]) && ($actionName == "multidatabase_view_edit_create" || $actionName == "multidatabase_action_edit_create")) {
         return;
     }
     $mdbView =& $container->getComponent("mdbView");
     $request =& $container->getComponent("Request");
     if (empty($attributes["multidatabase_id"])) {
         $attributes['multidatabase_id'] = $mdbView->getCurrentMdbId();
         $request->setParameter("multidatabase_id", $attributes['multidatabase_id']);
     }
     if (empty($attributes['multidatabase_id'])) {
         return $errStr;
     }
     if (empty($attributes["block_id"])) {
         $block = $mdbView->getBlock();
         if ($attributes["room_id"] != $block["room_id"]) {
             return $errStr;
         }
         $attributes["block_id"] = $block["block_id"];
         $request->setParameter("block_id", $attributes["block_id"]);
     }
     if (!$mdbView->mdbExists()) {
         return $errStr;
     }
     return;
 }
开发者ID:RikaFujiwara,项目名称:NetCommons2,代码行数:39,代码来源:Validator_MultidatabaseExists.class.php


示例14: execute

 function execute()
 {
     //出力用バッファをクリア(消去)し、出力のバッファリングをオフ
     //ob_end_clean();
     //リクエストの内容をすべて取得し指定URLを求める
     $container =& DIContainerFactory::getContainer();
     $request =& $container->getComponent("Request");
     $parameters = $request->getParameters();
     $url = "";
     $url_parameters = "";
     $url_parameters_sub = "";
     foreach ($parameters as $key => $parameter) {
         if ($key == "_redirect_url") {
             $url = $parameter;
         } else {
             if ($key == "_sub_action") {
                 $url_parameters .= "?" . ACTION_KEY . "=" . $parameter;
             } else {
                 if ($key != ACTION_KEY) {
                     $url_parameters_sub .= "&amp;" . $key . "=" . $parameter;
                 }
             }
         }
     }
     $url_parameters .= $url_parameters_sub;
     //
     // 他サイトから取得する場合の文字列作成
     //
     $encryption =& $container->getComponent("encryptionView");
     $url_parameters .= $encryption->getRedirectUrl();
     $res = $this->request->getResponseHtml($url . $url_parameters);
     print $res;
     return;
 }
开发者ID:RikaFujiwara,项目名称:NetCommons2,代码行数:34,代码来源:Main.class.php


示例15: validate

 /**
  * validate実行
  *
  * @param   mixed   $attributes チェックする値		user_id
  * @param   string  $errStr     エラー文字列
  * @param   array   $params     オプション引数
  * @return  string  エラー文字列(エラーの場合)
  * @access  public
  */
 function validate($attributes, $errStr, $params)
 {
     $container =& DIContainerFactory::getContainer();
     $session =& $container->getComponent("Session");
     $configView =& $container->getComponent("configView");
     //
     // 自分(Self)
     //
     $user_id = $session->getParameter("_user_id");
     if ($user_id == "0") {
         return $errStr;
     }
     $user_auth_id = $session->getParameter("_user_auth_id");
     //
     // 編集先
     //
     $edit_user_id = $attributes;
     if ($edit_user_id == "0") {
         $edit_user_id = $session->getParameter("_user_id");
     }
     //
     // 退会機能
     //
     $withdraw_membership_use = $configView->getConfigByConfname(_SYS_CONF_MODID, "withdraw_membership_use");
     if ($withdraw_membership_use === false) {
         return $errStr;
     }
     if ($user_id != $edit_user_id || $user_auth_id == _AUTH_ADMIN || $withdraw_membership_use['conf_value'] == _OFF) {
         // 自分自身以外、管理者は退会できない
         return $errStr;
     }
     return;
 }
开发者ID:RikaFujiwara,项目名称:NetCommons2,代码行数:42,代码来源:Validator_Withdraw.class.php


示例16: validate

 /**
  * ログイン/権限チェックバリデータ
  *
  * @param   mixed   $attributes チェックする値
  * @param   string  $errStr	 エラー文字列
  * @param   array   $params	 オプション引数
  * @return  string  エラー文字列(エラーの場合)
  * @access  public
  */
 function validate($attributes, $errStr, $params)
 {
     $container =& DIContainerFactory::getContainer();
     $session =& $container->getComponent('Session');
     $user_auth_id = $session->getParameter('_user_auth_id');
     $authoritiesView =& $container->getComponent('authoritiesView');
     $where_params = array('{modules}.module_id' => $attributes['module_id']);
     $authorities = $authoritiesView->getAuthoritiesModulesLinkByAuthorityId($session->getParameter('_role_auth_id'), $where_params);
     if ($user_auth_id > _AUTH_GUEST && isset($authorities[0]['authority_id'])) {
         return;
     }
     if ($user_auth_id > _AUTH_OTHER) {
         $errStr = _INVALID_AUTH;
     }
     $request =& $container->getComponent('Request');
     $active_center = $request->getParameter('active_center');
     if (isset($active_center)) {
         $parameters =& $request->getParameters();
         $redirect_url = "?_sub_action=" . DEFAULT_ACTION;
         foreach ($parameters as $key => $parameter) {
             if ($key != "page_id" && $key != "block_id" && $key != "room_id" && $key != "action" && !is_array($parameter) && !preg_match("/^_/", $key)) {
                 $redirect_url .= "@" . $key . "=" . urlencode($parameter);
             }
         }
         $url = BASE_URL . INDEX_FILE_NAME . "?action=login_view_main_init&error_mes=" . _ON . "&_redirect_url=" . $redirect_url;
         $commonMain =& $container->getComponent('commonMain');
         $commonMain->redirectHeader($url, 2, $errStr);
         exit;
     } else {
         return $errStr;
     }
 }
开发者ID:RikaFujiwara,项目名称:NetCommons2,代码行数:41,代码来源:Validator_ChkLogin.class.php


示例17: validate

 /**
  * validate実行
  *
  * @param   mixed   $attributes チェックする値
  *                  
  * @param   string  $errStr     エラー文字列(未使用:エラーメッセージ固定)
  * @param   array   $params     オプション引数
  * @return  string  エラー文字列(エラーの場合)
  * @access  public
  */
 function validate($attributes, $errStr, $params)
 {
     // container取得
     $container =& DIContainerFactory::getContainer();
     $filterChain =& $container->getComponent("FilterChain");
     $smartyAssign =& $filterChain->getFilterByName("SmartyAssign");
     $mdbView =& $container->getComponent("mdbView");
     $mdbAction =& $container->getComponent("mdbAction");
     $db =& $container->getComponent("DbObject");
     $errStr = $smartyAssign->getLang("_invalid_input");
     if (!isset($attributes)) {
         return $errStr;
     }
     $uploadsAction =& $container->getComponent("uploadsAction");
     $file = $uploadsAction->uploads();
     if (empty($file) || strtolower($file[0]['extension']) != "csv") {
         return MULTIDATABASE_IMPORT_FILE_TYPE_EORROR;
     }
     if (isset($file[0]['error_mes']) && $file[0]['error_mes'] != "") {
         return $file[0]['error_mes'];
     }
     $csv_file = FILEUPLOADS_DIR . "multidatabase/" . $file[0]['physical_file_name'];
     $handle = fopen($csv_file, 'r');
     if ($handle === false) {
         return MULTIDATABASE_IMPORT_FILE_OPEN_EORROR;
     }
     $row_data = array();
     while (($data = $mdbAction->fgetcsv_reg($handle)) !== FALSE) {
         $num = count($data);
         for ($c = 0; $c < $num; $c++) {
             $data[$c] = mb_convert_encoding($data[$c], "UTF-8", "SJIS");
         }
         $row_data[] = $data;
     }
     fclose($handle);
     //データが件数を取得(ヘッダ部を除く)
     $row_num = count($row_data) - 1;
     if ($row_num <= 0) {
         return MULTIDATABASE_IMPORT_FILE_NO_DATA;
     }
     $metadatas = $mdbView->getMetadatas(array("multidatabase_id" => intval($attributes)));
     if ($metadatas === false) {
         return $errStr;
     }
     if (count($metadatas) != count($row_data[0])) {
         return MULTIDATABASE_IMPORT_FILE_METADATA_NUM_ERROR;
     } else {
         $count = 0;
         foreach (array_keys($metadatas) as $i) {
             if ($metadatas[$i]['name'] != $row_data[0][$count]) {
                 return $row_data[0][$count] . ":" . MULTIDATABASE_IMPORT_FILE_METADATA_ERROR;
             }
             $count++;
         }
     }
     array_shift($row_data);
     $session =& $container->getComponent("Session");
     $session->setParameter(array("multidatabase_csv_data", $attributes), $row_data);
     return;
 }
开发者ID:RikaFujiwara,项目名称:NetCommons2,代码行数:70,代码来源:Validator_UploadCsv.class.php


示例18: validate

 /**
  * 登録フォーム存在チェックバリデータ
  *
  * @param   mixed   $attributes チェックする値
  * @param   string  $errStr     エラー文字列
  * @param   array   $params     オプション引数
  * @return  string  エラー文字列(エラーの場合)
  * @access  public
  */
 function validate($attributes, $errStr, $params)
 {
     $container =& DIContainerFactory::getContainer();
     $actionChain =& $container->getComponent("ActionChain");
     $actionName = $actionChain->getCurActionName();
     if (empty($attributes["registration_id"]) && ($actionName == "registration_view_edit_registration_entry" || $actionName == "registration_action_edit_registration_entry")) {
         return;
     }
     $registrationView =& $container->getComponent("registrationView");
     $request =& $container->getComponent("Request");
     if (empty($attributes["registration_id"])) {
         $session =& $container->getComponent("Session");
         $session->removeParameter("registration_edit" . $attributes["block_id"]);
         $attributes["registration_id"] = $registrationView->getCurrentRegistrationID();
         $request->setParameter("registration_id", $attributes["registration_id"]);
     }
     if (empty($attributes["registration_id"])) {
         return $errStr;
     }
     if (empty($attributes["block_id"])) {
         $block = $registrationView->getBlock();
         if ($attributes["room_id"] != $block["room_id"]) {
             return $errStr;
         }
         $attributes["block_id"] = $block["block_id"];
         $request->setParameter("block_id", $attributes["block_id"]);
     }
     if (!$registrationView->registrationExists()) {
         return $errStr;
     }
     return;
 }
开发者ID:RikaFujiwara,项目名称:NetCommons2,代码行数:41,代码来源:Validator_RegistrationExists.class.php


示例19: validate

 /**
  * validate実行
  *
  * @param   mixed   $attributes チェックする値
  * @param   string  $errStr     エラー文字列
  * @param   array   $params     オプション引数(items,item_id=0を許すかどうか)
  * @return  string  エラー文字列(エラーの場合)
  * @access  public
  */
 function validate($attributes, $errStr, $params)
 {
     // container取得
     $container =& DIContainerFactory::getContainer();
     $mdbView =& $container->getComponent("mdbView");
     // metadata_id取得
     $metadata_id = intval($attributes);
     if (isset($params[1]) && $params[1] == _ON && $metadata_id == 0) {
         return;
     }
     $metadata =& $mdbView->getMetadataById($metadata_id);
     if ($metadata === false) {
         return $errStr;
     }
     //
     // Actionにデータセット
     //
     // actionChain取得
     $actionChain =& $container->getComponent("ActionChain");
     $action =& $actionChain->getCurAction();
     if (isset($params[0])) {
         BeanUtils::setAttributes($action, array($params[0] => $metadata));
     } else {
         BeanUtils::setAttributes($action, array("metadata" => $metadata));
     }
     return;
 }
开发者ID:RikaFujiwara,项目名称:NetCommons2,代码行数:36,代码来源:Validator_MetadataExists.class.php


示例20: Search_Components_View

 /**
  * コンストラクター
  *
  * @access	public
  */
 function Search_Components_View()
 {
     $this->_container =& DIContainerFactory::getContainer();
     $this->_db =& $this->_container->getComponent("DbObject");
     $this->_session =& $this->_container->getComponent("Session");
     $this->_modulesView =& $this->_container->getComponent("modulesView");
 }
开发者ID:RikaFujiwara,项目名称:NetCommons2,代码行数:12,代码来源:View.class.php



注:本文中的DIContainerFactory类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP DJClassifiedsSEO类代码示例发布时间:2022-05-23
下一篇:
PHP DFCInterface类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap