// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
\r
- require_once("MDB2.php");\r
+ require_once("error.php");\r
\r
- require_once(dirname(__FILE__) . "/../common/common.php");\r
- require_once(dirname(__FILE__) . "/../config/config.php");\r
- \r
- function login($name, $password) {\r
- /*\r
- * \88ø\90\94\82ð\8am\94F\82µ\82Ü\82·\81B\r
+ /**\r
+ * 日付・時刻に関連する機能を提供します。\r
+ * \r
+ * 日付・時刻は扱いに注意が必要な型です。\r
+ * ひらめきノートで日付・時刻を扱う場合、必ず{@link Hirameki_DateTimeUtil}クラスを通して扱います。\r
+ * \r
+ * @package common\r
+ * @author u6k <u6k.yu1@gmail.com>\r
+ * @copyright Copyright (c) 2008 u6k.yu1@gmail.com, All rights reserved.\r
+ * @license BSD License\r
+ * @version $Id$\r
+ * @link http://hirameki-note.sourceforge.jp/ ひらめきノート\r
+ */\r
+ class Hirameki_DateTimeUtil {\r
+ /**\r
+ * 現在日時を返します。\r
+ * \r
+ * 実際は、32bitの整数値を返します。\r
+ * この整数値はエポック秒です。\r
+ * \r
+ * @param void\r
+ * @return 現在日時。\r
*/\r
- if (empty($name)) {\r
- throw new ArgumentException("name\88ø\90\94\82ª\8bó\82Å\82·\81B");\r
- }\r
- if (!is_string($name)) {\r
- throw new ArgumentException("name\88ø\90\94\82ª\95¶\8e\9a\97ñ\8c^\82Å\82Í\82 \82è\82Ü\82¹\82ñ\81B");\r
- }\r
- if (empty($password)) {\r
- throw new ArgumentException("password\88ø\90\94\82ª\8bó\82Å\82·\81B");\r
- }\r
- if (!is_string($password)) {\r
- throw new ArgumentException("password\88ø\90\94\82ª\95¶\8e\9a\97ñ\8c^\82Å\82Í\82 \82è\82Ü\82¹\82ñ\81B");\r
+ public static function now() {\r
+ return time(); // TODO 32bit整数値であり、2037年までしか扱えません。改善する必要があります。\r
}\r
\r
- /*\r
- * \83f\81[\83^\83x\81[\83X\82©\82ç\83A\83J\83E\83\93\83g\8fî\95ñ\82ð\8c\9f\8dõ\82µ\81A\83\8d\83O\83C\83\93\8am\94F\82ð\8ds\82¢\82Ü\82·\81B\r
+ /**\r
+ * 日時に書式を適用して、文字列に変換して返します。\r
+ * \r
+ * 書式は、ユーザごとに設定でき、このメソッドはそのユーザごとの書式で日時を文字列に変換します。\r
+ * \r
+ * @param int $time 文字列に変換する日時。\r
+ * @return 日時から変換した文字列。\r
*/\r
- global $config;\r
- $con = MDB2::connect($config);\r
- $con->loadModule("Extended");\r
- \r
- $sql = <<< SQL_END\r
-select\r
- account.id as id,\r
- account.name as name,\r
- account.real_name as real_name,\r
- account.email as email\r
-from\r
- account,\r
- (\r
- select\r
- id,\r
- max(create_time) as latest_time\r
- from\r
- account\r
- group by\r
- id\r
- having\r
- name = :name\r
- and password = :password\r
- ) as latest_account\r
-where\r
- account.id = latest_account.id\r
- and account.create_time = latest_account.latest_time\r
- and account.enable = :enable\r
-SQL_END;\r
- $type = "integer";\r
- $param = array(\r
- "name" => $name,\r
- "password" => md5($password),\r
- "enable" => 1\r
- );\r
- $param_type = array(\r
- "name" => "text",\r
- "password" => "text",\r
- "enable" => "integer"\r
- );\r
- \r
- $result = $con->getOne($sql, $type, $param, $param_type);\r
- \r
- $con->disconnect();\r
- \r
- \r
+ public static function format($time) {\r
+ return date("Y-m-d H:i:s", $time); // TODO ユーザごとの書式で変換するようにします。\r
+ }\r
}\r
?>\r