本文整理汇总了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 .= "&" . $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;未经允许,请勿转载。 |
请发表评论