本文整理汇总了PHP中DIContainerFactory类的典型用法代码示例。如果您正苦于以下问题:PHP DIContainerFactory类的具体用法?PHP DIContainerFactory怎么用?PHP DIContainerFactory使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了DIContainerFactory类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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;
}
示例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;
}
示例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;
}
示例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");
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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");
}
示例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"]);
}
示例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;
}
示例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");
}
示例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;
}
示例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;
}
示例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;
}