本文整理汇总了PHP中SC_Utils_Ex::sfGetUniqRandomId方法的典型用法代码示例。如果您正苦于以下问题:PHP SC_Utils_Ex::sfGetUniqRandomId方法的具体用法?PHP SC_Utils_Ex::sfGetUniqRandomId怎么用?PHP SC_Utils_Ex::sfGetUniqRandomId使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SC_Utils_Ex
的用法示例。
在下文中一共展示了SC_Utils_Ex::sfGetUniqRandomId方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: sfGetUniqSecretKey
/**
* 重複しない会員登録キーを発行する。
*
* @access public
* @return string 会員登録キーの文字列
*/
public function sfGetUniqSecretKey()
{
$objQuery =& SC_Query_Ex::getSingletonInstance();
do {
$uniqid = SC_Utils_Ex::sfGetUniqRandomId('r');
$exists = $objQuery->exists('dtb_customer', 'secret_key = ?', array($uniqid));
} while ($exists);
return $uniqid;
}
示例2: lfRegistDataMobile
/**
* TODO
* @deprecated 未使用?
*/
function lfRegistDataMobile($array, $arrRegistColumn, $arrRejectRegistColumn)
{
// 仮登録
foreach ($arrRegistColumn as $data) {
if (strlen($array[$data["column"]]) > 0 && !in_array($data["column"], $arrRejectRegistColumn)) {
$arrRegist[$data["column"]] = $array[$data["column"]];
}
}
// 誕生日が入力されている場合
if (strlen($array["year"]) > 0) {
$arrRegist["birth"] = $array["year"] . "/" . $array["month"] . "/" . $array["day"] . " 00:00:00";
}
// パスワードの暗号化
$arrRegist["password"] = sha1($arrRegist["password"] . ":" . AUTH_MAGIC);
$count = 1;
while ($count != 0) {
$uniqid = SC_Utils_Ex::sfGetUniqRandomId("t");
$count = $objConn->getOne("SELECT COUNT(*) FROM dtb_customer WHERE secret_key = ?", array($uniqid));
}
$arrRegist["secret_key"] = $uniqid;
// 仮登録ID発行
$arrRegist["create_date"] = "now()";
// 作成日
$arrRegist["update_date"] = "now()";
// 更新日
$arrRegist["first_buy_date"] = "";
// 最初の購入日
//-- 仮登録実行
$this->objQuery->insert("dtb_customer", $arrRegist);
return $uniqid;
}
示例3: setUniqId
public function setUniqId()
{
// 予測されないようにランダム文字列を付与する。
$_SESSION['site']['uniqid'] = SC_Utils_Ex::sfGetUniqRandomId();
}
示例4: lfRegistData
/**
* 登録処理
*
* @param array $objFormParam フォームパラメータークラス
* @return array エラー配列
*/
public function lfRegistData(&$objFormParam)
{
// 登録用データ取得
$arrData = $objFormParam->getDbArray();
// 足りないものを作る
if (!SC_Utils_Ex::isBlank($objFormParam->getValue('year'))) {
$arrData['birth'] = $objFormParam->getValue('year') . '/' . $objFormParam->getValue('month') . '/' . $objFormParam->getValue('day') . ' 00:00:00';
}
if (!is_numeric($arrData['customer_id'])) {
$arrData['secret_key'] = SC_Utils_Ex::sfGetUniqRandomId('r');
} else {
$arrOldCustomerData = SC_Helper_Customer_Ex::sfGetCustomerData($arrData['customer_id']);
if ($arrOldCustomerData['status'] != $arrData['status']) {
$arrData['secret_key'] = SC_Utils_Ex::sfGetUniqRandomId('r');
}
}
return SC_Helper_Customer_Ex::sfEditCustomerData($arrData, $arrData['customer_id']);
}
示例5: lfRegistPreCustomer
function lfRegistPreCustomer($arrData, $arrInfo)
{
// 購入時の会員登録
$sqlval['name01'] = $arrData['order_name01'];
$sqlval['name02'] = $arrData['order_name02'];
$sqlval['kana01'] = $arrData['order_kana01'];
$sqlval['kana02'] = $arrData['order_kana02'];
$sqlval['zip01'] = $arrData['order_zip01'];
$sqlval['zip02'] = $arrData['order_zip02'];
$sqlval['pref'] = $arrData['order_pref'];
$sqlval['addr01'] = $arrData['order_addr01'];
$sqlval['addr02'] = $arrData['order_addr02'];
$sqlval['email'] = $arrData['order_email'];
$sqlval['tel01'] = $arrData['order_tel01'];
$sqlval['tel02'] = $arrData['order_tel02'];
$sqlval['tel03'] = $arrData['order_tel03'];
$sqlval['fax01'] = $arrData['order_fax01'];
$sqlval['fax02'] = $arrData['order_fax02'];
$sqlval['fax03'] = $arrData['order_fax03'];
$sqlval['sex'] = $arrData['order_sex'];
$sqlval['password'] = $arrData['password'];
$sqlval['reminder'] = $arrData['reminder'];
$sqlval['reminder_answer'] = $arrData['reminder_answer'];
// メルマガ配信用フラグの判定
switch ($arrData['mail_flag']) {
case '1':
// HTMLメール
$mail_flag = 4;
break;
case '2':
// TEXTメール
$mail_flag = 5;
break;
case '3':
// 希望なし
$mail_flag = 6;
break;
default:
$mail_flag = 6;
break;
}
// メルマガフラグ
$sqlval['mailmaga_flg'] = $mail_flag;
// 会員仮登録
$sqlval['status'] = 1;
// URL判定用キー
$sqlval['secret_key'] = SC_Utils_Ex::sfGetUniqRandomId("t");
$objQuery = new SC_Query();
$sqlval['create_date'] = "now()";
$sqlval['update_date'] = "now()";
$objQuery->insert("dtb_customer", $sqlval);
// 顧客IDの取得
$arrRet = $objQuery->select("customer_id", "dtb_customer", "secret_key = ?", array($sqlval['secret_key']));
$customer_id = $arrRet[0]['customer_id'];
// 仮登録完了メール送信
$objMailPage = $this;
$objMailPage->to_name01 = $arrData['order_name01'];
$objMailPage->to_name02 = $arrData['order_name02'];
$objMailPage->CONF = $arrInfo;
$objMailPage->uniqid = $sqlval['secret_key'];
$objMailView = new SC_SiteView();
$objMailView->assignobj($objMailPage);
$body = $objMailView->fetch("mail_templates/customer_mail.tpl");
$mailHelper = new SC_Helper_Mail_Ex();
$objMail = new SC_SendMail();
$objMail->setItem('', $mailHelper->sfMakeSubject($objQuery, $objMailView, $objMailPage, "会員登録のご確認"), $body, $arrInfo['email03'], $arrInfo['shop_name'], $arrInfo["email03"], $arrInfo["email04"], $arrInfo["email04"], $arrInfo["email01"]);
// 宛先の設定
$name = $arrData['order_name01'] . $arrData['order_name02'] . " 様";
$objMail->setTo($arrData['order_email'], $name);
$objMail->sendMail();
return $customer_id;
}
示例6: setUniqId
/** ユニークIDのセット **/
function setUniqId()
{
// 予測されないようにランダム文字列を付与する。
$this->SetSession('uniqid', SC_Utils_Ex::sfGetUniqRandomId());
}
示例7: lfGetSecretKey
function lfGetSecretKey($email, &$objConn)
{
$sql = "SELECT secret_key FROM dtb_customer_mail WHERE email = ?";
$uniqid = $objConn->getOne($sql, array($email));
if ($uniqid == '') {
$count = 1;
while ($count != 0) {
$uniqid = SC_Utils_Ex::sfGetUniqRandomId("t");
$count = $objConn->getOne("SELECT COUNT(*) FROM dtb_customer_mail WHERE secret_key = ?", array($uniqid));
}
$objQuery = new SC_Query();
$objQuery->update("dtb_customer_mail", array('secret_key' => $uniqid), "email = " . SC_Utils_Ex::sfQuoteSmart($email));
}
return $uniqid;
}
示例8: doNewUser
/**
*
* 新規ユーザーの作成
*
* @param SC_Customer $objCustomer
* @param string $openid
*/
function doNewUser(SC_Customer $objCustomer, $openid = "")
{
$customer = array("name01" => "英雄", "name02" => "太郎", "kana01" => "エイユウ", "kana02" => "タロウ", "zip01" => $this->arrSiteInfo["zip01"], "zip02" => $this->arrSiteInfo["zip02"], "pref" => $this->arrSiteInfo["pref"], "addr01" => $this->arrSiteInfo["addr01"], "addr02" => $this->arrSiteInfo["addr02"], "tel01" => $this->arrSiteInfo["tel01"], "tel02" => $this->arrSiteInfo["tel02"], "tel03" => $this->arrSiteInfo["tel03"], "sex" => 0, "password" => DEFAULT_PASSWORD, "reminder" => 1, "reminder_answer" => DEFAULT_PASSWORD, "mailmaga_flg" => "3", "au_open_id" => $openid);
$customer["email"] = SC_Utils_Ex::sfGetUniqRandomId("auone_", date("Ymd_")) . "@" . $_SERVER["SERVER_NAME"];
$customer["secret_key"] = SC_Helper_Customer_Ex::sfGetUniqSecretKey();
$customer_id = SC_Helper_Customer_Ex::sfEditCustomerData($customer);
$customer["customer_id"] = $customer_id;
$this->setLoginInfo($customer);
}
示例9: process
/**
* Page のプロセス.
*
* @return void
*/
function process()
{
// 認証可否の判定
$objSess = new SC_Session();
SC_Utils_Ex::sfIsSuccess($objSess);
$this->objQuery = new SC_Query();
$this->objConn = new SC_DBConn();
$objView = new SC_AdminView();
$objDb = new SC_Helper_DB_Ex();
$objDate = new SC_Date(1901);
$this->arrYear = $objDate->getYear();
// 日付プルダウン設定
$this->arrMonth = $objDate->getMonth();
$this->arrDay = $objDate->getDay();
//---- 登録用カラム配列
$arrRegistColumn = array(array("column" => "name01", "convert" => "aKV"), array("column" => "name02", "convert" => "aKV"), array("column" => "kana01", "convert" => "CKV"), array("column" => "kana02", "convert" => "CKV"), array("column" => "zip01", "convert" => "n"), array("column" => "zip02", "convert" => "n"), array("column" => "pref", "convert" => "n"), array("column" => "addr01", "convert" => "aKV"), array("column" => "addr02", "convert" => "aKV"), array("column" => "email", "convert" => "a"), array("column" => "email_mobile", "convert" => "a"), array("column" => "tel01", "convert" => "n"), array("column" => "tel02", "convert" => "n"), array("column" => "tel03", "convert" => "n"), array("column" => "fax01", "convert" => "n"), array("column" => "fax02", "convert" => "n"), array("column" => "fax03", "convert" => "n"), array("column" => "sex", "convert" => "n"), array("column" => "job", "convert" => "n"), array("column" => "birth", "convert" => "n"), array("column" => "password", "convert" => "a"), array("column" => "reminder", "convert" => "n"), array("column" => "reminder_answer", "convert" => "aKV"), array("column" => "mailmaga_flg", "convert" => "n"), array("column" => "note", "convert" => "aKV"), array("column" => "point", "convert" => "n"), array("column" => "status", "convert" => "n"));
//---- 登録除外用カラム配列
$arrRejectRegistColumn = array("year", "month", "day");
// 検索条件を保持
if ($_POST['mode'] == "edit_search") {
$arrSearch = $_POST;
} else {
$arrSearch = $_POST['search_data'];
}
if (is_array($arrSearch)) {
foreach ($arrSearch as $key => $val) {
$arrSearchData[$key] = $val;
}
}
$this->arrSearchData = $arrSearchData;
//---- 顧客編集情報取得
if (($_POST["mode"] == "edit" || $_POST["mode"] == "edit_search") && is_numeric($_POST["edit_customer_id"])) {
//-- 顧客データ取得
$sql = "SELECT * FROM dtb_customer WHERE del_flg = 0 AND customer_id = ?";
$result = $this->objConn->getAll($sql, array($_POST["edit_customer_id"]));
$this->list_data = $result[0];
$birth = split(" ", $this->list_data["birth"]);
$birth = split("-", $birth[0]);
$this->list_data["year"] = $birth[0];
$this->list_data["month"] = isset($birth[1]) ? $birth[1] : "";
$this->list_data["day"] = isset($birth[2]) ? $birth[2] : "";
$this->list_data["password"] = DEFAULT_PASSWORD;
//DB登録のメールアドレスを渡す
$this->tpl_edit_email = $result[0]['email'];
//購入履歴情報の取得
$this->arrPurchaseHistory = $this->lfPurchaseHistory($_POST['edit_customer_id']);
// 支払い方法の取得
$this->arrPayment = $objDb->sfGetIDValueList("dtb_payment", "payment_id", "payment_method");
}
//---- 顧客情報編集
if ($_POST["mode"] != "edit" && $_POST["mode"] != "edit_search" && is_numeric($_POST["customer_id"])) {
//-- POSTデータの引き継ぎ
$this->arrForm = $_POST;
$this->arrForm['email'] = strtolower($this->arrForm['email']);
// emailはすべて小文字で処理
//-- 入力データの変換
$this->arrForm = $this->lfConvertParam($this->arrForm, $arrRegistColumn);
//-- 入力チェック
$this->arrErr = $this->lfErrorCheck($this->arrForm);
//-- 入力エラー発生 or リターン時
if ($this->arrErr || $_POST["mode"] == "return") {
foreach ($this->arrForm as $key => $val) {
$this->list_data[$key] = $val;
}
//購入履歴情報の取得
$this->arrPurchaseHistory = $this->lfPurchaseHistory($_POST['customer_id']);
// 支払い方法の取得
$this->arrPayment = $objDb->sfGetIDValueList("dtb_payment", "payment_id", "payment_method");
} else {
//-- 確認
if ($_POST["mode"] == "confirm") {
$this->tpl_mainpage = 'customer/edit_confirm.tpl';
$passlen = strlen($this->arrForm['password']);
$this->passlen = $this->lfPassLen($passlen);
}
//-- 編集
if ($_POST["mode"] == "complete") {
$this->tpl_mainpage = 'customer/edit_complete.tpl';
// 現在の会員情報を取得する
$arrCusSts = $this->objQuery->getOne("SELECT status FROM dtb_customer WHERE customer_id = ?", array($_POST["customer_id"]));
// 会員情報が変更されている場合にはシークレット№も更新する。
if ($arrCusSts != $_POST['status']) {
$secret = SC_Utils_Ex::sfGetUniqRandomId("r");
$this->arrForm['secret_key'] = $secret;
array_push($arrRegistColumn, array('column' => 'secret_key', 'convert' => 'n'));
}
//-- 編集登録
$objDb->sfEditCustomerData($this->arrForm, $arrRegistColumn);
}
}
}
//---- ページ表示
$objView->assignobj($this);
$objView->display(MAIN_FRAME);
}
示例10: lfRegistData
function lfRegistData($array, $arrRegistColumn, $arrRejectRegistColumn)
{
$objConn = new SC_DbConn();
// 仮登録
foreach ($arrRegistColumn as $data) {
if (strlen($array[$data["column"]]) > 0 && !in_array($data["column"], $arrRejectRegistColumn)) {
$arrRegist[$data["column"]] = $array[$data["column"]];
}
}
// 誕生日が入力されている場合
if (strlen($array["year"]) > 0) {
$arrRegist["birth"] = $array["year"] . "/" . $array["month"] . "/" . $array["day"] . " 00:00:00";
}
// パスワードの暗号化
$arrRegist["password"] = sha1($arrRegist["password"] . ":" . AUTH_MAGIC);
$count = 1;
while ($count != 0) {
$uniqid = SC_Utils_Ex::sfGetUniqRandomId("t");
$count = $objConn->getOne("SELECT COUNT(*) FROM dtb_customer WHERE secret_key = ?", array($uniqid));
}
$arrRegist["secret_key"] = $uniqid;
// 仮登録ID発行
$arrRegist["create_date"] = "now()";
// 作成日
$arrRegist["update_date"] = "now()";
// 更新日
$arrRegist["first_buy_date"] = "";
// 最初の購入日
//-- 仮登録実行
$objConn->query("BEGIN");
$objQuery = new SC_Query();
$objQuery->insert("dtb_customer", $arrRegist);
/* メルマガ会員機能は現在停止中 2007/03/07
//-- 非会員でメルマガ登録しているかの判定
$sql = "SELECT count(*) FROM dtb_customer_mail WHERE email = ?";
$mailResult = $objConn->getOne($sql, array($arrRegist["email"]));
//-- メルマガ仮登録実行
$arrRegistMail["email"] = $arrRegist["email"];
if ($array["mailmaga_flg"] == 1) {
$arrRegistMail["mailmaga_flg"] = 4;
} elseif ($array["mailmaga_flg"] == 2) {
$arrRegistMail["mailmaga_flg"] = 5;
} else {
$arrRegistMail["mailmaga_flg"] = 6;
}
$arrRegistMail["update_date"] = "now()";
// 非会員でメルマガ登録している場合
if ($mailResult == 1) {
$objQuery->update("dtb_customer_mail", $arrRegistMail, "email = '" .addslashes($arrRegistMail["email"]). "'");
} else { // 新規登録の場合
$arrRegistMail["create_date"] = "now()";
$objQuery->insert("dtb_customer_mail", $arrRegistMail);
}
*/
$objConn->query("COMMIT");
return $uniqid;
}
示例11: lfRegistData
function lfRegistData($array)
{
$objQuery = new SC_Query();
$this->arrInfo;
do {
$secret = SC_Utils_Ex::sfGetUniqRandomId("r");
} while (($result = $objQuery->getOne("SELECT COUNT(*) FROM dtb_customer WHERE secret_key = ?", array($secret))) != 0);
$sql = "SELECT email FROM dtb_customer WHERE secret_key = ? AND status = 1";
$email = $objQuery->getOne($sql, array($array["id"]));
$objQuery->begin();
$arrRegist["secret_key"] = $secret;
// 本登録ID発行
$arrRegist["status"] = 2;
$arrRegist["update_date"] = "NOW()";
$where = "secret_key = ? AND status = 1";
$arrRet = $objQuery->select("point", "dtb_customer", $where, array($array["id"]));
// 会員登録時の加算ポイント(購入時会員登録の場合は、ポイント加算)
$arrRegist['point'] = $arrRet[0]['point'] + $arrInfo['welcome_point'];
$objQuery->update("dtb_customer", $arrRegist, $where, array($array["id"]));
/* 購入時の自動会員登録は行わないためDEL
// 購入時登録の場合、その回の購入を会員購入とみなす。
// 会員情報の読み込み
$where1 = "secret_key = ? AND status = 2";
$customer = $objQuery->select("*", "dtb_customer", $where1, array($secret));
// 初回購入情報の読み込み
$order_temp_id = $objQuery->get("dtb_order_temp", "order_temp_id");
// 購入情報の更新
if ($order_temp_id != null) {
$arrCustomer['customer_id'] = $customer[0]['customer_id'];
$where3 = "order_temp_id = ?";
$objQuery->update("dtb_order_temp", $arrCustomer, $where3, array($order_temp_id));
$objQuery->update("dtb_order", $arrCustomer, $where3, array($order_temp_id));
}
*/
$sql = "SELECT mailmaga_flg FROM dtb_customer WHERE email = ?";
$result = $objQuery->getOne($sql, array($email));
switch ($result) {
// 仮HTML
case '4':
$arrRegistMail["mailmaga_flg"] = 1;
break;
// 仮TEXT
// 仮TEXT
case '5':
$arrRegistMail["mailmaga_flg"] = 2;
break;
// 仮なし
// 仮なし
case '6':
$arrRegistMail["mailmaga_flg"] = 3;
break;
default:
$arrRegistMail["mailmaga_flg"] = $result;
break;
}
$objQuery->update("dtb_customer", $arrRegistMail, "email = " . SC_Utils_Ex::sfQuoteSmart($email) . " AND del_flg = 0");
$objQuery->commit();
return $secret;
// 本登録IDを返す
}
示例12: lfRegistData
function lfRegistData($array, $arrRegistColumn, $arrRejectRegistColumn, $confirm_flg, $isMobile = false, $email_mobile = "")
{
$objConn = new SC_DbConn();
// 登録データの生成
foreach ($arrRegistColumn as $data) {
if (strlen($array[$data["column"]]) > 0 && !in_array($data["column"], $arrRejectRegistColumn)) {
$arrRegist[$data["column"]] = $array[$data["column"]];
}
}
// 誕生日が入力されている場合
if (strlen($array["year"]) > 0) {
$arrRegist["birth"] = $array["year"] . "/" . $array["month"] . "/" . $array["day"] . " 00:00:00";
}
// パスワードの暗号化
$arrRegist["password"] = sha1($arrRegist["password"] . ":" . AUTH_MAGIC);
// 仮会員登録の場合
if ($confirm_flg == true) {
// 重複しない会員登録キーを発行する。
$count = 1;
while ($count != 0) {
$uniqid = SC_Utils_Ex::sfGetUniqRandomId("t");
$count = $objConn->getOne("SELECT COUNT(*) FROM dtb_customer WHERE secret_key = ?", array($uniqid));
}
switch ($array["mailmaga_flg"]) {
case 1:
$arrRegist["mailmaga_flg"] = 4;
break;
case 2:
$arrRegist["mailmaga_flg"] = 5;
break;
default:
$arrRegist["mailmaga_flg"] = 6;
break;
}
$arrRegist["status"] = "1";
// 仮会員
} else {
// 重複しない会員登録キーを発行する。
$count = 1;
while ($count != 0) {
$uniqid = SC_Utils_Ex::sfGetUniqRandomId("r");
$count = $objConn->getOne("SELECT COUNT(*) FROM dtb_customer WHERE secret_key = ?", array($uniqid));
}
$arrRegist["status"] = "2";
// 本会員
}
/*
secret_keyは、テーブルで重複許可されていない場合があるので、
本会員登録では利用されないがセットしておく。
*/
$arrRegist["secret_key"] = $uniqid;
// 会員登録キー
$arrRegist["create_date"] = "now()";
// 作成日
$arrRegist["update_date"] = "now()";
// 更新日
$arrRegist["first_buy_date"] = "";
// 最初の購入日
$arrRegist["point"] = $this->CONF["welcome_point"];
// 入会時ポイント
if ($isMobile) {
// 携帯メールアドレス
$arrRegist['email_mobile'] = $arrRegist['email'];
//PHONE_IDを取り出す
$phoneId = SC_MobileUserAgent::getId();
$arrRegist['mobile_phone_id'] = $phoneId;
}
//-- 仮登録実行
$objConn->query("BEGIN");
$objQuery = new SC_Query();
$objQuery->insert("dtb_customer", $arrRegist);
/* メルマガ会員機能は現在停止中 2007/03/07
//-- 非会員でメルマガ登録しているかの判定
$sql = "SELECT count(*) FROM dtb_customer_mail WHERE email = ?";
$mailResult = $objConn->getOne($sql, array($arrRegist["email"]));
//-- メルマガ仮登録実行
$arrRegistMail["email"] = $arrRegist["email"];
if ($array["mailmaga_flg"] == 1) {
$arrRegistMail["mailmaga_flg"] = 4;
} elseif ($array["mailmaga_flg"] == 2) {
$arrRegistMail["mailmaga_flg"] = 5;
} else {
$arrRegistMail["mailmaga_flg"] = 6;
}
$arrRegistMail["update_date"] = "now()";
// 非会員でメルマガ登録している場合
if ($mailResult == 1) {
$objQuery->update("dtb_customer_mail", $arrRegistMail, "email = '" .addslashes($arrRegistMail["email"]). "'");
} else { // 新規登録の場合
$arrRegistMail["create_date"] = "now()";
$objQuery->insert("dtb_customer_mail", $arrRegistMail);
}
*/
$objConn->query("COMMIT");
return $uniqid;
}