Example #1
0
 /**
  * インスタンスの取得。
  *
  * インスタンスが既に生成済みの場合は既存インスタンスを返し、
  * 未生成であれば新たに生成したものを返す。
  *
  * @return mixed 成功時はインスタンス、失敗時はfalseを返す
  */
 public static function getInstance()
 {
     if (null === self::$_instance) {
         self::$_instance = new self();
     }
     return self::$_instance;
 }
Example #2
0
 /**
  *  コンストラクタ
  */
 public function __construct()
 {
     // 設定データのインスタンスを取得
     $this->_configOBJ = ComConfig::getInstance();
     $requestOBJ = ComRequest::getInstance();
     // ユーザーエージェント情報をセット
     $this->_httpUserAgent = $requestOBJ->getParameter("HTTP_USER_AGENT", "", "server");
 }
 /**
  * コンストラクタ
  */
 public function __construct()
 {
     $requestOBJ = ComRequest::getInstance();
     // ユーザーエージェント情報をセット
     $this->_httpUserAgent = $requestOBJ->getParameter("HTTP_USER_AGENT", "", "server");
     // キャリア名をにセット
     $this->setCarrier($this->_httpUserAgent);
     // IPアドレスをセット
     $this->_ipAddress = $requestOBJ->getParameter("REMOTE_ADDR", "", "server");
     // キャリア別クラス指定
     $className = __CLASS__ . $this->_carrier;
     $classFile = dirname(__FILE__) . "/" . $className . ".php";
     if (!$this->_carrier || !file_exists($classFile)) {
         exit($this->_carrier . "用クラスファイルが存在しません!");
     }
     // キャリア別クラスインスタンスを生成
     $this->_carrierOBJ = new $className($this->_httpUserAgent);
 }
Example #4
0
    $sessionSetOption = array("save_path" => "/tmp/" . $_config["define"]["PROJECT_NAME"] . "/www", "name" => $sesName, "gc_maxlifetime" => 60 * 60 * 24 * 7);
}
if (!ComSession::isStarted()) {
    ComSession::setOptions($sessionSetOption);
    if ($sessionId) {
        ComSession::setId($sessionId);
    }
    ComSession::start();
}
// アクセスページ名
$accessPageName = $controllerOBJ->convertActionName($requestOBJ->getActionName());
// common用エラーセッション
$ComErrSessOBJ = new ComSessionNamespace("common_err");
// セッションにセットします
$userSessOBJ = new ComSessionNamespace("user");
$getRequestOBJ = new ComRequest();
$affiliateParam = $getRequestOBJ->getAllParameter("", "get");
$advCd = $affiliateParam["advcd"];
// 検索アドコード取得
if (preg_match("/^http:\\/\\/www.google.co.jp\\/search\\//", $server["HTTP_REFERER"])) {
    $advCd = $_config["define"]["GOOGLE_AD_CD_PC"];
} else {
    if (preg_match("/^http:\\/\\/search.yahoo.co.jp\\/search/", $server["HTTP_REFERER"])) {
        $advCd = $_config["define"]["YAHOO_AD_CD_PC"];
    } else {
        if (preg_match("/^http:\\/\\/search.yahoo.co.jp\\/bin\\/search/", $server["HTTP_REFERER"])) {
            $advCd = $_config["define"]["YAHOO2_AD_CD_PC"];
        } else {
            if (preg_match("/^http:\\/\\/search.msn.co.jp\\/results.aspx/", $server["HTTP_REFERER"])) {
                $advCd = $_config["define"]["MSN_AD_CD_PC"];
            } else {
 /**
  * コンストラクタ
  *
  * @param string $httpUserAgent $_SERVER["HTTP_USER_AGENT"]の値
  */
 public function __construct($httpUserAgent)
 {
     $this->_httpUserAgent = $httpUserAgent;
     $this->_requestOBJ = ComRequest::getInstance();
 }
Example #6
0
<?php

/**
 * common.php
 *
 * Copyright (c) 2009 Fraise, Inc.
 * All rights reserved.
 */
/**
 * Web側/管理側共通処理。
 *
 * @copyright   2009 Fraise, Inc.
 * @author      mitsuhiro nakamura
 */
// プロジェクトディレクトリの絶対パス
define("D_BASE_DIR", dirname(dirname(__FILE__)));
// include pathを設定
ini_set("include_path", D_BASE_DIR . "/class");
// autoload関数定義ファイル
require_once D_BASE_DIR . "/common/__autoload.php";
$requestOBJ = ComRequest::getInstance();
$configOBJ = ComConfig::getInstance();
$utilityOBJ = ComUtility::getInstance();
$smartyOBJ = ComSmarty::getInstance();
$_config = $configOBJ->toArray();
$smartyOBJ->assign("config", $_config);
Example #7
0
 /**
  * smtpMailToメソッド(SMTP)
  *
  * メール送信実行
  *
  * @param array   $$mailElements  送信する要素
  *   [from_address]:メール送信元アドレス
  *   [from_name]   :メール送信元名(任意)
  *   [return_path] :リターンアドレス(任意)
  *   [subject]     :メールタイトル
  *   [text_body]   :メール本文(テキスト)
  *   [html_body]   :メール本文(HTML)(任意)
  * @return 送信成功:True 送信失敗:False
  */
 public function smtpMailTo($mailElements, $sec = 0, $imageData = null, $imageType = null)
 {
     if (!isset($mailElements["to_address"]) || !isset($mailElements)) {
         return FALSE;
     }
     // http通信
     //送信用にエンコード
     $sendSubject = $mailElements["subject"];
     $sendTextBody = htmlspecialchars_decode($mailElements["text_body"], ENT_QUOTES);
     //$sendHtmlBody = base64_encode($mailElements["html_body"]);
     // 送信項目の設定
     $postdata["to"] = $mailElements["to_address"];
     //$postdata["to_nm"] = $mailElements["to_name"];
     $postdata["rtn_path"] = $mailElements["return_path"] ? $mailElements["return_path"] : self::RETURN_PATH . $this->_configOBJ->define->MAIL_DOMAIN;
     $postdata["from"] = $mailElements["from_address"];
     $postdata["from_nm"] = $mailElements["from_name"];
     $postdata["sbj"] = $sendSubject;
     $postdata["body"] = $sendTextBody;
     //$postdata["html"] = $mailElements["html_body"];
     $postdata["sec"] = $sec;
     // 画像があったら画像も送信
     if ($imageData && $imageType) {
         foreach ($imageData as $image) {
             // base64エンコード
             $postdata["image"][] = $image;
             //$postdata["image"][] = base64_encode($image);
         }
         foreach ($imageType as $type) {
             // base64エンコード
             $postdata["image_type"][] = $type;
         }
     }
     // リメール用インスタンス生成
     $sendMailComSendMagicDeliveryOBJ = new ComSendMagicDelivery();
     if (!$this->_mailServerIp) {
         // 無ければメールサーバーは通常SendMagic
         $this->_mailServerIp = $this->_configOBJ->common_config->smtp_mail_server_ip->sendMagic;
     }
     // SMTPホスト設定
     $sendMailComSendMagicDeliveryOBJ->setSendMailServerIp($this->_mailServerIp);
     // SMTP接続開始
     if (!$sendMailComSendMagicDeliveryOBJ->openSmtpConnect()) {
         return false;
     }
     // 送信メールデータ生成
     $sendMailData = $postdata;
     if ($sendMailData) {
         // 送信
         try {
             // リメール送信
             if (!$sendMailComSendMagicDeliveryOBJ->sendMagicDelivery($sendMailData)) {
                 // SMTP切断
                 $sendMailComSendMagicDeliveryOBJ->closeSmtpConnect();
                 return false;
             }
         } catch (Zend_Exception $e) {
             $requestOBJ = ComRequest::getInstance();
             $actionName = $requestOBJ->getActionName();
             // 送れたものとして判断
             // デバッグメール
             $debugMail = "";
             $debugMail["subject"] = "リメール送信エラー";
             $debugMail["text_body"][] = "file:" . __FILE__;
             $debugMail["text_body"][] = "line:" . __LINE__;
             $debugMail["text_body"][] = "err:" . $e->getMessage();
             $debugMail["text_body"][] = "action_file_name:" . $actionName;
             $debugMail["text_body"] = implode("\n", $debugMail["text_body"]);
             // システムにエラーメール
             $this->debugSmtpMailTo($debugMail);
             // SMTP切断
             $sendMailComSendMagicDeliveryOBJ->closeSmtpConnect();
             return false;
         }
     } else {
         // SMTP切断
         $sendMailComSendMagicDeliveryOBJ->closeSmtpConnect();
         return false;
     }
     /*
     // 以下、デバッグメール ※当分の間残しといて下さい!!
     $requestOBJ = ComRequest::getInstance();
     $actionName = $requestOBJ->getActionName();
     $testMail = "";
     $sendMailData = "";
     $testMail["subject"] = "TESTリメール送信";
     $testMail["text_body"][] = "file:" . __FILE__;
     $testMail["text_body"][] = "line:" . __LINE__;
     $testMail["text_body"][] = "action_file_name:" . $actionName;
     $testMail["text_body"][] = "result:OK";
     $testMail["text_body"] = implode("\n", $testMail["text_body"]);
     $sendMailData = print_r($testMail, true);
     // 指定アドレスに送信
     mb_send_mail("*****@*****.**", "smtp_remail_test", $sendMailData, "");
     */
     // SMTP切断
     $sendMailComSendMagicDeliveryOBJ->closeSmtpConnect();
     return $postdata;
 }
Example #8
0
 /**
  * SQLクエリを発行する。
  *
  * @param  string $queryString クエリ文字列
  * @param  string $fetchMethod フェッチメソッド
  *
  * @return mixed フェッチメソッドがfetch,fetchAllならオブジェクト、それ以外ならデータ配列を返す
  */
 public function executeQuery($queryString, $fetchMethod = null)
 {
     if (!$queryString) {
         return FALSE;
     }
     //接続が切れていたら再接続
     $this->reConnection();
     try {
         // プロファイラの取得
         $profOBJ = $this->_dbOBJ->getProfiler();
         // クエリの発行処理
         switch ($fetchMethod) {
             case "fetchRow":
             case "fetchOne":
             case "fetchCol":
             case "fetchPairs":
                 $resultSet = self::$fetchMethod($queryString);
                 break;
             default:
                 $resultSet = $this->_dbOBJ->query($queryString);
                 break;
         }
         // 最後のクエリのプロファイラの取得
         $lastQueryProfOBJ = $profOBJ->getLastQueryProfile();
         $requestOBJ = ComRequest::getInstance();
         $actionName = $requestOBJ->getActionName();
         // クエリ結果が返ってきた場合
         if ($resultSet) {
             if ($actionName != "user_convertCsvExec") {
                 // 出力用クエリログの格納 ※競馬間コンバートの場合は不要
                 self::setDebugSql($lastQueryProfOBJ, debug_backtrace());
             }
             return $resultSet;
         } else {
             return FALSE;
         }
         // クエリ結果が返らない場合
     } catch (Zend_Db_Statement_Exception $e) {
         $this->_errorMessage = mb_convert_encoding($e->getMessage() . "<br />SQL:" . $queryString, "UTF-8", "auto");
         exit($this->_errorMessage);
         // クエリ結果が返らない場合以外の例外
     } catch (Zend_Exception $e) {
         exit($e->getMessage());
     }
 }
 /**
  * コンストラクタ
  *
  * @param string $httpUserAgent $_SERVER["HTTP_USER_AGENT"]の値
  */
 public function __construct()
 {
     $this->_requestOBJ = ComRequest::getInstance();
     // ユーザーエージェント情報をセット
     $this->_httpUserAgent = $this->_requestOBJ->getParameter("HTTP_USER_AGENT", "", "server");
 }
Example #10
0
 /**
  * ページリンクを取得する。
  *
  * ページリンク設定配列:
  * "total_count"      => 全データ件数
  * "offset"           => オフセット値
  * "disp_count"       => 1ページ表示件数
  * "link_count"       => ページ番号リンク数※
  * "action_name"      => リンク先ページアクション名※
  * "offset_name"      => オフセットのパラメータキー名※
  * "previous_name"    => 前ページリンク名※
  * "next_name"        => 次ページリンク名※
  * "additional_param" => 追加パラメータ※
  *
  * ※の項目は省略可能
  *
  * @param  array $pagerArray ページリンク設定配列
  * @return mixed ページリンク配列
  */
 public static function getLink($pagerArray)
 {
     if (!is_array($pagerArray)) {
         return false;
     }
     if (!is_numeric($pagerArray["total_count"]) || !is_numeric($pagerArray["offset"]) || !is_numeric($pagerArray["disp_count"])) {
         return false;
     }
     // デフォルトのページ番号リンク数は10
     if (!is_numeric($pagerArray["link_count"])) {
         $pagerArray["link_count"] = 10;
     }
     // デフォルトのアクション名は現在ページ
     if (!$pagerArray["action_name"]) {
         $requestOBJ = ComRequest::getInstance();
         $actionName = $requestOBJ->getActionName();
         if ($actionName) {
             $pagerArray["action_name"] = $actionName;
         } else {
             $pagerArray["action_name"] = "index";
         }
     }
     // デフォルトのオフセットのパラメータキー名はoffset
     if (!$pagerArray["offset_name"]) {
         $pagerArray["offset_name"] = "offset";
     }
     // デフォルトの前ページリンク名はprev
     if (!$pagerArray["previous_name"]) {
         $pagerArray["previous_name"] = "prev";
     }
     // デフォルトの次ページリンク名はnext
     if (!$pagerArray["next_name"]) {
         $pagerArray["next_name"] = "next";
     }
     // デフォルトの次ページリンク名はhome
     if (!$pagerArray["home_name"]) {
         $pagerArray["home_name"] = "home";
     }
     // 件数を0から数えるのでマイナス1
     $pagerArray["total_count"]--;
     // 全ページ数
     $totalPage = (int) ($pagerArray["total_count"] / $pagerArray["disp_count"]) + 1;
     // 現在表示中のページ
     $currentPage = (int) ($pagerArray["offset"] / $pagerArray["disp_count"]) + 1;
     // リンクの先頭ページ
     $startPage = (int) ($pagerArray["offset"] / ($pagerArray["disp_count"] * $pagerArray["link_count"])) * $pagerArray["link_count"];
     $startPage++;
     // リンクの終端ページ
     $endPage = $startPage + ($pagerArray["link_count"] - 1);
     if ($totalPage < $endPage) {
         $endPage = $totalPage;
     }
     // 前のページに一気に移動するリンクを作る
     if ($startPage != 1) {
         $linkArray["pages"][] .= "<a href=\"./?action_" . $pagerArray["action_name"] . "&" . $pagerArray["offset_name"] . "=" . ($startPage - 2) * $pagerArray["disp_count"] . $pagerArray["additional_param"] . "\">" . "~" . ($startPage - 1) . "</a>\n";
     }
     // ページ番号リンクを1ページ分ずつ作る
     for ($i = $startPage; $i <= $endPage; $i++) {
         $offset = ($i - 1) * $pagerArray["disp_count"];
         // 表示中のページでなければリンク作成
         if ($i != $currentPage) {
             $linkArray["pages"][] .= "<a href=\"./?action_" . $pagerArray["action_name"] . "&" . $pagerArray["offset_name"] . "=" . $offset . $pagerArray["additional_param"] . "\" title=\"" . $i . "\">" . $i . "</a>";
             // 表示中のページならただの数字
         } else {
             $linkArray["pages"][] = "<strong>" . $i . "</strong>";
         }
     }
     // 次のページに一気に移動するリンクを作る
     if ($endPage < $totalPage) {
         $linkArray["pages"][] .= "<a href=\"./?action_" . $pagerArray["action_name"] . "&" . $pagerArray["offset_name"] . "=" . $endPage * $pagerArray["disp_count"] . $pagerArray["additional_param"] . "\">" . "" . ($endPage + 1) . "~</a>\n";
     }
     // 前のページへリンク
     $linkArray["previous"] = "";
     if ($currentPage != 1) {
         $linkArray["previous"] .= "<a href=\"./?action_" . $pagerArray["action_name"];
         $linkArray["previous"] .= "&" . $pagerArray["offset_name"] . "=" . ($currentPage - 2) * $pagerArray["disp_count"] . $pagerArray["additional_param"] . "\" accesskey=\"4\">";
         $linkArray["previous"] .= $pagerArray["previous_name"] . "</a>";
     }
     // 次のページへリンク
     $linkArray["next"] = "";
     if ($currentPage < $totalPage) {
         $linkArray["next"] .= "<a href=\"./?action_" . $pagerArray["action_name"];
         $linkArray["next"] .= "&" . $pagerArray["offset_name"] . "=" . $currentPage * $pagerArray["disp_count"] . $pagerArray["additional_param"] . "\" accesskey=\"6\">";
         $linkArray["next"] .= $pagerArray["next_name"] . "</a>";
     }
     if ($pagerArray["show_home"] && (!$pagerArray["last_link"] || $currentPage >= $totalPage)) {
         $linkArray["home"] = "<a href=\"{$pagerArray["show_home"]}\">{$pagerArray["home_name"]}</a>";
     }
     return $linkArray;
 }