本文整理汇总了PHP中Utilities::date方法的典型用法代码示例。如果您正苦于以下问题:PHP Utilities::date方法的具体用法?PHP Utilities::date怎么用?PHP Utilities::date使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Utilities
的用法示例。
在下文中一共展示了Utilities::date方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _date
function _date($argDate, $argTargetLocal, $argFormat = null)
{
if ("JP" == strtoupper($argTargetTimezone) || "ja_jp" == strtolower($argTargetTimezone) || "ja-jp" == strtolower($argTargetTimezone)) {
if (null === $argFormat) {
$argFormat = "Y-m-d H:i:s";
}
return Utilities::date($argFormat, $argDate, "GMT", "Asia/Tokyo");
} else {
if (null === $argFormat) {
$argFormat = "Y-m-d H:i:s";
}
return Utilities::date($argFormat, $argDate, "GMT");
}
}
示例2: registration
/**
* 登録する
* @param string DB接続情報
*/
public static function registration($argID = NULL, $argPass = NULL, $argDSN = NULL)
{
if (FALSE === self::$_initialized) {
self::_init($argDSN);
}
$id = $argID;
$pass = $argPass;
if (NULL === $id) {
if (TRUE === class_exists('Flow', FALSE) && isset(Flow::$params) && isset(Flow::$params['post']) && TRUE === is_array(Flow::$params['post']) && isset(Flow::$params['post'][self::$authIDField])) {
// Flowに格納されているPOSTパラメータを自動で使う
$id = Flow::$params['post'][self::$authIDField];
}
if (isset($_REQUEST) && isset($_REQUEST[self::$authIDField])) {
// リクエストパラメータから直接受け取る
$id = $_REQUEST[self::$authIDField];
}
}
if (NULL === $pass) {
if (TRUE === class_exists('Flow', FALSE) && isset(Flow::$params) && isset(Flow::$params['post']) && TRUE === is_array(Flow::$params['post']) && isset(Flow::$params['post'][self::$authPassField])) {
// Flowに格納されているPOSTパラメータを自動で使う
$pass = Flow::$params['post'][self::$authPassField];
}
if (isset($_REQUEST) && isset($_REQUEST[self::$authPassField])) {
// リクエストパラメータから直接受け取る
$pass = $_REQUEST[self::$authPassField];
}
}
$id = self::_resolveEncrypted($id, self::$authIDEncrypted);
$pass = self::_resolveEncrypted($pass, self::$authPassEncrypted);
$gmtDate = Utilities::date('Y-m-d H:i:s', NULL, NULL, 'GMT');
$query = '`' . self::$authIDField . '` = :' . self::$authIDField . ' AND `' . self::$authPassField . '` = ' . self::$authPassField . ' ';
$binds = array(self::$authIDField => $id, self::$authPassField => $pass);
$User = ORMapper::getModel(self::$_DBO, self::$authTable, $query, $binds);
$User->{'set' . str_replace(' ', '', ucwords(str_replace('_', ' ', self::$authIDField)))}($id);
$User->{'set' . str_replace(' ', '', ucwords(str_replace('_', ' ', self::$authPassField)))}($pass);
$User->{'set' . str_replace(' ', '', ucwords(str_replace('_', ' ', self::$authCreatedField)))}($gmtDate);
$User->{'set' . str_replace(' ', '', ucwords(str_replace('_', ' ', self::$authModifiedField)))}($gmtDate);
if (TRUE === $User->save()) {
// ユーザーの登録は完了とみなし、コミットを行う!
self::$_DBO->commit();
}
return $User;
}
示例3: setTokenToCookie
/**
* 新しいトークンを指定のトークンキー名で払い出しcookieにセットする
* @param string トークンキー名
*/
public static function setTokenToCookie($argTokenKey)
{
// 新しいtokenを発行する
self::$_token = self::_identifierToToken(self::$_identifier);
// クッキーを書き換える
setcookie($argTokenKey, self::$_token, 0, self::$_path, self::$_domain);
// SESSHONレコードを更新
$binds = array(self::$_sessionPKeyName => self::$_token, 'expierddate' => Utilities::modifyDate('-' . (string) self::$_expiredtime . 'sec', 'Y-m-d H:i:s', NULL, NULL, 'GMT'));
$Session = ORMapper::getModel(self::$_DBO, self::$_sessionTblName, '`' . self::$_sessionPKeyName . '` = :' . self::$_sessionPKeyName . ' AND `' . self::$_sessionDateKeyName . '` >= :expierddate ORDER BY `' . self::$_sessionDateKeyName . '` DESC limit 1', $binds);
$Session->{'set' . str_replace(' ', '', ucwords(str_replace('_', ' ', self::$_sessionPKeyName)))}(self::$_token);
$Session->{'set' . str_replace(' ', '', ucwords(str_replace('_', ' ', self::$_sessionDateKeyName)))}(Utilities::date('Y-m-d H:i:s', NULL, NULL, 'GMT'));
$Session->save();
}
示例4: put
/**
* PUTメソッド リソースの新規作成、更新(冪等性を持ちます)
* XXX モデルの位置付けが、テーブルリソースで無い場合は、継承して、RESTの”冪等性”に従って実装して下さい
* @return mixed 成功時は最新のリソース配列 失敗時はFALSE
*/
public function put($argRequestParams = NULL)
{
$this->_init();
$gmtDate = Utilities::date('Y-m-d H:i:s', NULL, NULL, 'GMT');
$requestParams = array();
$resources = FALSE;
if (NULL === $argRequestParams) {
$requestParams = $this->getRequestParams();
} else {
$requestParams = $argRequestParams;
}
debug('PUT param=');
debug($requestParams);
if (isset($requestParams['datas']) && isset($requestParams['datas'][0])) {
// 配列のPOSTはリカーシブルで処理をする
for ($requestIdx = 0; $requestIdx < count($requestParams['datas']); $requestIdx++) {
$tmpRes = $this->put($requestParams['datas'][$requestIdx]);
if (is_array($tmpRes) && isset($tmpRes[0])) {
$resources[$requestIdx] = $tmpRes[0];
} else {
return FALSE;
}
}
} else {
// 更新を行うリソースを特定する
$baseQuery = ' 1=1 ';
$baseBinds = NULL;
if (TRUE === $this->restResource['me']) {
// 認証ユーザーのリソース指定
// bind使うので自力で組み立てる
$baseQuery = ' `' . $this->authUserIDFieldName . '` = :' . $this->authUserIDFieldName . ' ';
$baseBinds = array($this->authUserIDFieldName => $this->authUserID);
}
// リソースの更新
// XXX 因みに更新はDEEP指定されていてもDEEPしない!
if (NULL !== $this->restResource['ids'] && count($this->restResource['ids']) >= 1) {
// id指定でループする
for ($IDIdx = 0; $IDIdx < count($this->restResource['ids']); $IDIdx++) {
// 空のモデルを先ず作る
try {
if (TRUE === $this->restResource['me'] && NULL !== $this->AuthUser && is_object($this->AuthUser) && strtolower($this->restResourceModel) == strtolower($this->AuthUser->tableName) && $this->restResource['ids'][$IDIdx] == $this->AuthUser->pkeyName) {
// 自分自身のAuthモデルに対しての処理とする
$Model = $this->AuthUser;
$fields = $Model->getFieldKeys();
if (TRUE === $this->restResource['me'] && FALSE === in_array($this->authUserIDFieldName, $fields)) {
// フィールドが無いなら$baseQueryを再初期化
$baseQuery = ' 1=1 ';
$baseBinds = NULL;
}
} else {
$Model = $this->_getModel($this->restResourceModel);
$fields = $Model->getFieldKeys();
if (TRUE === $this->restResource['me'] && FALSE === in_array($this->authUserIDFieldName, $fields)) {
// フィールドが無いなら$baseQueryを再初期化
$baseQuery = ' 1=1 ';
$baseBinds = NULL;
}
$query = $baseQuery . ' AND `' . $Model->pkeyName . '` = :' . $Model->pkeyName . ' ';
$binds = $baseBinds;
if (NULL === $binds) {
$binds = array();
}
$binds[$Model->pkeyName] = $this->restResource['ids'][$IDIdx];
// 読み込み
debug($query);
debug($binds);
$Model->load($query, $binds);
}
} catch (Exception $Exception) {
// リソースが存在しない
$this->httpStatus = 404;
throw new RESTException($Exception->getMessage(), $this->httpStatus);
break;
}
// 最初の一回目はバリデーションを必ず実行
if (0 === $IDIdx) {
$datas = array();
if (FALSE === in_array($this->authUserIDFieldName, $fields)) {
// フィールドが無いなら$baseQueryを再初期化
$baseQuery = ' 1=1 ';
$baseBinds = NULL;
}
// オートバリデート
try {
for ($fieldIdx = 0; $fieldIdx < count($fields); $fieldIdx++) {
if (isset($requestParams[$fields[$fieldIdx]])) {
// XXX intのincrementとdecrimentは許可する
if (FALSE === ('int' === $Model->describes[$fields[$fieldIdx]]['type'] && TRUE === ('increment' === strtolower($requestParams[$fields[$fieldIdx]]) || 'decrement' === strtolower($requestParams[$fields[$fieldIdx]])))) {
// exec系以外はオートバリデート
$Model->validate($fields[$fieldIdx], $requestParams[$fields[$fieldIdx]]);
}
// バリデートに成功したので更新値として認める
$datas[$fields[$fieldIdx]] = $requestParams[$fields[$fieldIdx]];
} elseif ($fields[$fieldIdx] == $this->restResourceCreateDateKeyName && TRUE !== 0 < strlen($Model->{$this->restResourceCreateDateKeyName})) {
// データ作成日付の自動補完
//.........这里部分代码省略.........
示例5: _finalizeData
/**
* セッションデータテーブルにデータをしまう
* @param string セッションデータのプライマリーキー
*/
protected static function _finalizeData($argPKey)
{
if (is_array(self::$_sessionData) && count(self::$_sessionData) > 0) {
$binds = array(self::$_sessionDataPKeyName => $argPKey, 'expierddate' => Utilities::modifyDate('-' . (string) self::$_expiredtime . 'sec', 'Y-m-d H:i:s', NULL, NULL, 'GMT'));
$Session = ORMapper::getModel(self::$_DBO, self::$_sessionDataTblName, $argPKey);
// XXX identifierが変えられたかもしれないので、もう一度セット
$Session->{'set' . str_replace(' ', '', ucwords(str_replace('_', ' ', self::$_sessionDataPKeyName)))}($argPKey);
$Session->{'set' . str_replace(' ', '', ucwords(str_replace('_', ' ', self::$_serializeKeyName)))}(json_encode(self::$_sessionData));
$Session->{'set' . str_replace(' ', '', ucwords(str_replace('_', ' ', self::$_sessionDataDateKeyName)))}(Utilities::date('Y-m-d H:i:s', NULL, NULL, 'GMT'));
debug('session!');
try {
debug('save???');
$Session->save();
debug('save!');
// 正常終了
return TRUE;
} catch (exception $Exception) {
// XXX この場合は、並列プロセス(Ajaxの非同期プロセス等)が先にinsertを走らせた場合に発生する
debug('throw msg=' . $Exception->getMessage());
debug('throw save?');
$Session->save();
debug('throw save!');
// 正常終了
return TRUE;
}
// XXX SESSIONExceptionクラスを実装予定
logging(__CLASS__ . PATH_SEPARATOR . __METHOD__ . PATH_SEPARATOR . __LINE__ . PATH_SEPARATOR . self::$_DBO->getLastErrorMessage(), 'exception');
return FALSE;
}
return TRUE;
}