Changeset 18819 for branches/version-2_5-dev/data/class/util
- Timestamp:
- 2010/09/22 13:23:00 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/class/util/SC_Utils.php
r18815 r18819 209 209 function sfDispException($debugMsg = null) { 210 210 require_once(CLASS_EX_PATH . "page_extends/error/LC_Page_Error_SystemError_Ex.php"); 211 211 212 212 $objPage = new LC_Page_Error_SystemError_Ex(); 213 213 register_shutdown_function(array($objPage, "destroy")); … … 221 221 GC_Utils_Ex::gfPrintLog($objPage->sfGetErrMsg()); 222 222 $objPage->process(); 223 223 224 224 exit(); 225 225 } … … 358 358 * ・FIXME: マイナス値の扱いが不明確 359 359 * ・XXX: INT_LENには収まるが、INT型の範囲を超えるケースに対応できないのでは? 360 * 360 * 361 361 * @param mixed $value 362 362 * @return bool 363 363 */ 364 // 364 // 365 365 function sfIsInt($value) { 366 366 if (strlen($value) >= 1 && strlen($value) <= INT_LEN && is_numeric($value)) { … … 372 372 /* 373 373 * 桁が0で埋められているかを判定する 374 * 374 * 375 375 * @param string $value 検査対象 376 376 * @return boolean 0で埋められている … … 768 768 /** 769 769 * 税金付与した金額を返す 770 * 770 * 771 771 * ・店舗基本情報に基づいた計算は SC_Helper_DB::sfTax() を使用する 772 772 * … … 797 797 /* ポイント付与 */ 798 798 function sfPrePoint($price, $point_rate, $rule = POINT_RULE, $product_id = "") { 799 if(SC_Utils::sfIsInt($product_id)) { 800 $objQuery = new SC_Query(); 801 $where = "now() >= cast(start_date as date) AND "; 802 $where .= "now() < cast(end_date as date) AND "; 803 804 $where .= "del_flg = 0 AND campaign_id IN (SELECT campaign_id FROM dtb_campaign_detail where product_id = ? )"; 805 //登録(更新)日付順 806 $objQuery->setOrder('update_date DESC'); 807 //キャンペーンポイントの取得 808 //$arrRet = $objQuery->select("campaign_name, campaign_point_rate", "dtb_campaign", $where, array($product_id)); 809 } 810 //複数のキャンペーンに登録されている商品は、最新のキャンペーンからポイントを取得 811 if(isset($arrRet[0]['campaign_point_rate']) 812 && $arrRet[0]['campaign_point_rate'] != "") { 813 814 $campaign_point_rate = $arrRet[0]['campaign_point_rate']; 815 $real_point = $campaign_point_rate / 100; 816 } else { 817 $real_point = $point_rate / 100; 818 } 799 $real_point = $point_rate / 100; 819 800 $ret = $price * $real_point; 820 801 switch($rule) { … … 836 817 break; 837 818 } 838 //キャンペーン商品の場合839 if(isset($campaign_point_rate) && $campaign_point_rate != "") {840 $ret = "(".$arrRet[0]['campaign_name']."ポイント率".$campaign_point_rate."%)".$ret;841 }842 819 return $ret; 843 820 } … … 2051 2028 /** 2052 2029 * ポイント使用するかの判定 2053 * 2030 * 2054 2031 * @param integer $status 対応状況 2055 2032 * @return boolean 使用するか(顧客テーブルから減算するか) … … 2068 2045 /** 2069 2046 * ポイント加算するかの判定 2070 * 2047 * 2071 2048 * @param integer $status 対応状況 2072 2049 * @return boolean 加算するか … … 2080 2057 case ORDER_BACK_ORDER: // 取り寄せ中 2081 2058 return false; 2082 2059 2083 2060 case ORDER_DELIV: // 発送済み 2084 2061 return true; 2085 2062 2086 2063 default: 2087 2064 break; … … 2093 2070 /** 2094 2071 * ランダムな文字列を取得する 2095 * 2072 * 2096 2073 * @param integer $length 文字数 2097 2074 * @return string ランダムな文字列 … … 2101 2078 return Text_Password::create($length); 2102 2079 } 2103 2080 2104 2081 /** 2105 2082 * 現在の URL を取得する … … 2109 2086 function sfGetUrl() { 2110 2087 $url = ''; 2111 2088 2112 2089 if (SC_Utils_Ex::sfIsHTTPS()) { 2113 2090 $url = "https://"; … … 2115 2092 $url = "http://"; 2116 2093 } 2117 2094 2118 2095 $url .= $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . '?' . $_SERVER['QUERY_STRING']; 2119 2096 2120 2097 return $url; 2121 2098 } 2122 2099 2123 2100 /** 2124 2101 * バックトレースをテキスト形式で出力する … … 2128 2105 function sfBacktraceToString($arrBacktrace) { 2129 2106 $string = ''; 2130 2107 2131 2108 foreach (array_reverse($arrBacktrace) as $backtrace) { 2132 2109 if (strlen($backtrace['class']) >= 1) { … … 2135 2112 $func = $backtrace['function']; 2136 2113 } 2137 2114 2138 2115 $string .= $backtrace['file'] . " " . $backtrace['line'] . ":" . $func . "\n"; 2139 2116 } 2140 2117 2141 2118 return $string; 2142 2119 }
Note: See TracChangeset
for help on using the changeset viewer.
