예제 #1
0
    /**
     * 提携メディア情報を取得します。
     * @param string $mediaId メディアID
     */
    public function &getTeikeiMedia($mediaId)
    {
        $db =& $this->_core->getDB();
        try {
            // 該当提携メディア
            $code = $this->_code;
            $name = CampaignDbTableNames::getName_TeikeiMedia($code);
            $sql = <<<SQL
select
anken_id,
media_id,
redirect_url,
teikei_from,
teikei_to,
price,
oroshi_price
from {$name}
where
media_id=?
SQL;
            $param = array($mediaId);
            $data =& $db->query($sql, $param);
        } catch (Exception $e) {
            // テーブルなし
            throw new TeikeiMediaNotFountException('sql exception', $e);
        }
        if (count($data) != 1) {
            // 提携メディア特定できない
            throw new TeikeiMediaNotFountException('media teikei not fount!!');
        }
        return $data[0];
    }
예제 #2
0
	/**
	 * セッション情報とメディアタグ情報を取得します。
	 * @param string $cookieId クッキーID
	 */
	public function & getSessionAndMediaUrl($cookieId) {
		$db =& $this->_core->getDB();
		// テーブル名取得
		$table_name_session = CampaignDbTableNames::getName_Session($this->_code);
		$table_name_media = CampaignDbTableNames::getName_TeikeiMedia($this->_code);
		// SQL
		$sql = <<<SQL
select
S.session_id,
S.anken_id,
S.media_id,
S.media_user_id,
S.cookie_id,
S.reg_time,
S.remote_add,
S.referer,
S.lpo_pattern_id,
S.mail,
M.media_url
from {$table_name_session} as S
inner join {$table_name_media} as M
on S.anken_id = M.anken_id
and S.media_id = M.media_id
where cookie_id=?
SQL;
		$param = array($cookieId);
		$data =& $db->query($sql, $param);
		if (count($data) != 1) {
			throw new Action_SessionNotFountException($cookieId);
		}
		return $data[0];
	}
예제 #3
0
	/**
	 * 携帯ユーザIDにてセッション情報とメディアタグ情報を取得します。
	 * @param string $mobUid 携帯ユーザID
	 */
	public function & getSessionAndMediaUrlByMobUid($mobUid) {
		$db =& $this->_core->getDB();
		// テーブル名取得
		$table_name_session = CampaignDbTableNames::getName_Session($this->_code);
		$table_name_media = CampaignDbTableNames::getName_TeikeiMedia($this->_code);
		// SQL(同一携帯ユーザIDが複数ある場合、最新取得)
		$sql = <<<SQL
select
S.session_id,
S.anken_id,
S.media_id,
S.media_user_id,
S.cookie_id,
S.reg_time,
S.remote_add,
S.referer,
S.lpo_pattern_id,
S.bid,
S.mob_carrier,
S.mob_uid,
S.option1,
S.option2,
S.option3,
S.option4,
S.option5,
M.media_url
from {$table_name_session} as S
inner join {$table_name_media} as M
on S.anken_id = M.anken_id
and S.media_id = M.media_id
where S.mob_uid=?
order by S.reg_time DESC,
S.session_id DESC
limit 1
SQL;
		$param = array($mobUid);
		$data =& $db->query($sql, $param);
		if (count($data) != 1) {
			throw new ActionMobile_SessionNotFountException($mobUid);
		}
		return $data[0];
	}
예제 #4
0
    /**
     * 提携メディア情報を取得します。
     * @param string $mediaId メディアID
     */
    public function &getTeikeiMedia($mediaId)
    {
        $db =& $this->_core->getDB();
        try {
            // 該当提携メディア
            $code = $this->_code;
            $name = CampaignDbTableNames::getName_TeikeiMedia($code);
            $sql = <<<SQL
select
anken_id,
media_id,
redirect_url,
docomo_url,
au_url,
softbank_url,
teikei_from,
teikei_to,
price,
oroshi_price,
extra_price,
extra_oroshi,
suspend_from,
suspend_to,
advertise_from,
advertise_to,
expire_id_cookie,
expire_uid_mob,
expire_advertise,
expire_type
from {$name}
where
media_id=?
SQL;
            $param = array($mediaId);
            $data =& $db->query($sql, $param);
        } catch (Exception $e) {
            // テーブルなし
            throw new TeikeiMediaNotFountException('sql exception', $e);
        }
        if (count($data) != 1) {
            // 提携メディア特定できない
            throw new TeikeiMediaNotFountException('media teikei not found!');
        }
        return $data[0];
    }
예제 #5
0
    /**
     * セッション情報とメディアタグ情報を取得します。
     * @param string $cookieId クッキーID
     */
    public function &getSessionAndMediaUrl($sessionId)
    {
        $db =& $this->_core->getDB();
        // テーブル名取得
        $table_name_session = CampaignDbTableNames::getName_Session($this->_code);
        $table_name_media = CampaignDbTableNames::getName_TeikeiMedia($this->_code);
        //↓↓===========nm90022 2009/08/25 start===================================
        //無料会員登録用のメディアタグ反映(track_media_url1)
        // SQL
        $sql = <<<SQL
select
S.session_id,
S.anken_id,
S.media_id,
S.media_user_id,
S.cookie_id,
S.reg_time,
S.remote_add,
S.referer,
S.lpo_pattern_id,
S.bid,
S.mob_carrier,
S.mob_uid,
S.option1,
S.option2,
S.option3,
S.option4,
S.option5,
M.track_media_url1
from {$table_name_session} as S
inner join {$table_name_media} as M
on S.anken_id = M.anken_id
and S.media_id = M.media_id
where session_id=?
SQL;
        //↑↑===========nm90022 2009/08/25 end=====================================
        $param = array($sessionId);
        $data =& $db->query($sql, $param);
        if (count($data) != 1) {
            throw new ActionMobile_SessionNotFountException($sessionId);
        }
        return $data[0];
    }