Пример #1
0
 /**
  * getInstanceメソッド
  *
  * このクラスのオブジェクトを生成する。
  * 既に生成されていたら、前回と同じものを返す。
  *
  * @return object $instance
  */
 public static function getInstance()
 {
     if (!self::$_instance) {
         self::$_instance = new self();
     }
     return self::$_instance;
 }
Пример #2
0
// セッション変数の破棄
$returnSessOBJ->unsetAll();
// 送信されたデータを設定
$mailElements["from_address"] = $param["from_address"];
$mailElements["from_name"] = $param["from_name"];
$mailElements["pc_to_address"] = $param["pc_to_address"];
$mailElements["mb_to_address"] = $param["mb_to_address"];
$mailElements["subject"] = $param["subject"];
$mailElements["text_body"] = $param["text_body"];
$tags = array("sesKey");
$POSTparam = $requestOBJ->makePostTag($tags);
$URLparam = $requestOBJ->makeGetTag($tags);
$smartyOBJ->assign("POSTparam", $POSTparam);
$smartyOBJ->assign("reloadParam", $POSTparam);
$AdmOrderingOBJ = AdmOrdering::getInstance();
$AdminUserOBJ = AdmUser::getInstance();
$AdmSupportMailOBJ = AdmSupportMail::getInstance();
// セッションにセットします
if ($param["sesKey"]) {
    $sesKey = $param["sesKey"];
    $searchValue = $orderingSearchSessOBJ->{$param}["sesKey"];
} else {
    $execMsgSessOBJ->errMsg[] = "パラメータがありません";
    header("location: ./?action_ordering_OrderingSearchList=1&" . $URLparam);
    exit;
}
$AdmOrderingOBJ->setWhereString($searchValue);
$smartyOBJ->assign("whereContents", $AdmOrderingOBJ->getWhereContents());
// サポートメール定型文の取得
$supportMailList = $AdmSupportMailOBJ->getSupportMailListForSelect();
$smartyOBJ->assign("supportMailList", $supportMailList);
Пример #3
0
 /**
  * itemDisplayConditionCheckメソッド
  *
  * 商品表示条件チェック処理
  *
  * @param  integer $data   商品データ
  * @param  integer $userId ユーザデータ
  * @return array   $data   表示条件に合った情報データ
  */
 public function itemDisplayConditionCheck($data, $userData)
 {
     // 引数が不正ならFALSE
     if (!is_array($data) || !is_array($userData)) {
         return FALSE;
     }
     //ユニットクラスのインスタンス生成
     $UnitOBJ = Unit::getInstance();
     //注文クラスのインスタンス生成
     $OrderingOBJ = Ordering::getInstance();
     /************************ [情報表示条件] *****************************/
     /*  unit_id                          = TRUE;  // ユニットID(表示)  */
     /*  except_unit_id                   = FALSE; // ユニットID(非表示)*/
     /*  item_id                          = TRUE;  // 購入商品ID(表示)  */
     /*  except_item_id                   = FALSE; // 購入商品ID(非表示)*/
     /*  user_search_conditions_id        = TRUE; // 検索条件保存ID(表示)*/
     /*  except_user_search_conditions_id = FALSE; // 購入商品ID(非表示)*/
     /*********************************************************************/
     //ユニットID(表示)チェック
     if ($data["unit_id"]) {
         // ユニットIDが「無ければ」情報閲覧不可
         if (!$UnitOBJ->isInUnitUser($userData["user_id"], $data["unit_id"])) {
             return FALSE;
         }
     }
     //ユニットID(非表示)チェック
     if ($data["except_unit_id"]) {
         // ユニットIDが「有れば」情報閲覧不可
         if ($UnitOBJ->isInUnitUser($userData["user_id"], $data["except_unit_id"])) {
             return FALSE;
         }
     }
     // 購入商品ID(表示)チェック
     if ($data["item_id"]) {
         // ユニットIDが「無ければ」情報閲覧不可
         if (!$OrderingOBJ->isBoughtItem($userData["user_id"], $data["item_id"])) {
             return FALSE;
         }
     }
     // 購入商品ID(非表示)チェック
     if ($data["except_item_id"]) {
         // ユニットIDが「有れば」情報閲覧不可
         if ($OrderingOBJ->isBoughtItem($userData["user_id"], $data["except_item_id"])) {
             return FALSE;
         }
     }
     // 検索条件保存ID(表示)※「AND検索→すべて該当する場合/OR検索→1つでも該当する場合」⇒ 表示
     if ($data["user_search_conditions_id"]) {
         // 管理用ユーザークラスのインスタンス生成
         $AdmUserOBJ = AdmUser::getInstance();
         $searchConditionAry = explode(",", $data["user_search_conditions_id"]);
         $searchConditionIdCount = count($searchConditionAry);
         foreach ($searchConditionAry as $val) {
             $searchSaveData = "";
             $searchValue = "";
             if ($searchSaveData = $AdmUserOBJ->getUserSearchConditionData($val)) {
                 $searchValue = unserialize($searchSaveData["search_condition"]);
                 $columnArray = "";
                 $whereArray = "";
                 $columnArray[] = "user_id";
                 $whereArray = $AdmUserOBJ->setWhereString($searchValue);
                 $whereArray[] = "user_id = " . $userData["user_id"];
                 $sql = $this->makeSelectQuery("v_user_profile", $columnArray, $whereArray);
                 // ユーザー検索情報の取得
                 if (!$this->executeQuery($sql, "fetchRow")) {
                     // 検索結果が取れてこなかった場合
                     if ($data["user_search_conditions_type"]) {
                         // AND検索(1つでも該当なしならFALSE)
                         return FALSE;
                     } else {
                         // OR検索(該当なしなら件数からマイナス)
                         $searchConditionIdCount--;
                     }
                 } else {
                     // 検索結果が取れてきた場合(OR検索)
                     if (!$data["user_search_conditions_type"]) {
                         // OR検索(1つでも該当したらループ抜ける)
                         break;
                     }
                 }
             }
         }
         // (OR検索で)1件も該当なしならFALSE
         if ($searchConditionIdCount == 0) {
             return FALSE;
         }
     }
     // 検索条件保存ID(非表示) ※「AND検索→すべて該当する場合/OR検索→1つでも該当する場合」⇒ 非表示
     if ($data["except_user_search_conditions_id"]) {
         // 管理用ユーザークラスのインスタンス生成
         $AdmUserOBJ = AdmUser::getInstance();
         $exceptSearchConditionAry = explode(",", $data["except_user_search_conditions_id"]);
         $exceptSearchConditionIdCount = count($exceptSearchConditionAry);
         foreach ($exceptSearchConditionAry as $val) {
             $searchSaveData = "";
             $searchValue = "";
             if ($searchSaveData = $AdmUserOBJ->getUserSearchConditionData($val)) {
                 $searchValue = unserialize($searchSaveData["search_condition"]);
                 $columnArray = "";
                 $whereArray = "";
                 $columnArray[] = "user_id";
                 $whereArray = $AdmUserOBJ->setWhereString($searchValue);
                 $whereArray[] = "user_id = " . $userData["user_id"];
                 $sql = $this->makeSelectQuery("v_user_profile", $columnArray, $whereArray);
                 // ユーザー検索情報の取得
                 if ($this->executeQuery($sql, "fetchRow")) {
                     // 検索結果が取れてきた場合
                     if ($data["except_user_search_conditions_type"]) {
                         // AND検索(「該当あり」なら件数からマイナス)
                         $exceptSearchConditionIdCount--;
                     } else {
                         // OR検索(「非表示」なので、1件でも「該当あり」ならFALSE)
                         return FALSE;
                     }
                 } else {
                     // 検索結果が取れてこない場合(AND検索)
                     if ($data["except_user_search_conditions_type"]) {
                         // AND検索(1件でも該当なしならループ抜ける)
                         break;
                     }
                 }
             }
         }
         // AND検索の場合はすべて「該当あり」ならFALSE
         if ($exceptSearchConditionIdCount == 0) {
             return FALSE;
         }
     }
     // 曜日間の情報表示縛り設定
     if ($data["is_display_week"] != 0) {
         if ($data["display_week_string"]) {
             //その週の日曜日の日付(weekStartDate)を取得します
             $nowDate = mktime(0, 0, 0, date("m"), date("d"), date("Y"));
             $nowDateArray = getdate($nowDate);
             $nowWeekNum = $nowDateArray['wday'];
             //指定日の曜日番号
             $weekStartDate = date("Y-m-d", $nowDate - $nowWeekNum * 24 * 60 * 60);
             $currentWeekArray = explode("-", $weekStartDate);
             //設定値を取得、整形します
             $displayWeekStringArray = explode("_", $data["display_week_string"]);
             $startValueArray = explode(",", $displayWeekStringArray[0]);
             $lastValueArray = explode(",", $displayWeekStringArray[1]);
             //その週での表示開始、終了曜日
             $firstWeekNum = $startValueArray[0];
             $lastWeekNum = $lastValueArray[0];
             $startTimeArray = explode(":", $startValueArray[1]);
             $lastTimeArray = explode(":", $lastValueArray[1]);
             //その週での開始日時、終了日時を取得します
             $StartDatetime = mktime($startTimeArray[0], $startTimeArray[1], $startTimeArray[2], $currentWeekArray[1], $currentWeekArray[2] + $firstWeekNum, $currentWeekArray[0]);
             $lastDatetime = mktime($lastTimeArray[0], $lastTimeArray[1], $lastTimeArray[2], $currentWeekArray[1], $currentWeekArray[2] + $lastWeekNum, $currentWeekArray[0]);
             //現時点でのタイムスタンプ
             $nowTime = time();
             //表示する場合
             if ($data["is_display_week"] == 1) {
                 if ($StartDatetime > $nowTime or $lastDatetime < $nowTime) {
                     return FALSE;
                 }
                 /*
                                     //金曜(5)~月曜(1)設定の場合
                                     if($StartDatetime > $lastDatetime){
                                         //『表示終了時刻(月曜設定)より前か、表示開始時刻(金曜設定)より後』の条件満たす排他的論理和
                                         if( ($StartDatetime < $nowTime) XOR ($lastDatetime > $nowTime) ){
                                             //おkなので何もしません
                                         }else{
                                             return FALSE;
                                         }
                                     }else{
                 
                                         if( ($StartDatetime > $nowTime) OR ($lastDatetime < $nowTime) ){
                                             return FALSE;
                                         }
                                     }
                 */
                 //表示しない場合
             } elseif ($data["is_display_week"] == 2) {
                 if ($StartDatetime < $nowTime and $lastDatetime > $nowTime) {
                     return FALSE;
                 }
             }
         }
     }
     return TRUE;
 }
Пример #4
0
 /**
  * convertUserDataメソッド
  *
  * 任意のユーザーデータの取得
  *
  * @param  integer $userId      ユーザーid
  * @return array $convertArray コンバート配列
  */
 protected function convertUserData($userId)
 {
     if (!is_numeric($userId)) {
         return FALSE;
     }
     // ユーザーデータの取得
     $AdmUserOBJ = AdmUser::getInstance();
     $userData = $AdmUserOBJ->getUserData($userId);
     // 変換内容の取得
     $dataList = self::keyConvertData($this->_configOBJ->define->CONVERT_TYPE_USER);
     if ($dataList) {
         while ($data = array_shift($dataList)) {
             $convertArray[$data["key_name"]] = $userData[$data["contents"]];
         }
     }
     return $convertArray;
 }
Пример #5
0
 /**
  * コンストラクタ。
  */
 function __construct()
 {
     parent::__construct();
 }