[ Index ]
 

Code source de CMS made simple 1.0.5

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/lib/adodb_lite/adodbSQL_drivers/sqlite/ -> sqlite_date_module.inc (source)

   1  <?php
   2  /**

   3   * ADOdb Lite Date Module for SQLite

   4   * 

   5   */
   6  
   7  if (!defined('TIMESTAMP_FIRST_YEAR')) define('TIMESTAMP_FIRST_YEAR',100);
   8  
   9  @include(ADODB_DIR . '/adodb-time.inc.php');
  10  
  11  eval('class sqlite_date_EXTENDER extends '. $last_module . '_ADOConnection { }');
  12  
  13  class sqlite_date_ADOConnection extends sqlite_date_EXTENDER
  14  {
  15      var $fmtDate = "'Y-m-d'";    /// used by DBDate() as the default date format used by the database

  16      var $fmtTimeStamp = "'Y-m-d H:i:s'";
  17      var $emptyDate = '&nbsp;';
  18      var $emptyTimeStamp = '&nbsp;';
  19      var $sysDate = "adodb_date('Y-m-d')";
  20      var $sysTimeStamp = "adodb_date('Y-m-d H:i:s')";
  21      var $isoDates = false; /// accepts dates in ISO format

  22  
  23  	function Time()
  24      {
  25          $rs =& $this->_Execute("select $this->sysTimeStamp");
  26          if ($rs && !$rs->EOF)
  27              return $this->UnixTimeStamp(reset($rs->fields));
  28  
  29          return false;
  30      }
  31  
  32  	function OffsetDate($dayFraction, $date=false)
  33      {
  34          if (!$date)
  35              $date = $this->sysDate;
  36  
  37          return  '('.$date.'+'.$dayFraction.')';
  38      }
  39  
  40  	function SetDateLocale($locale = 'En')
  41      {
  42          $this->locale = $locale;
  43          switch (strtoupper($locale))
  44          {
  45              case 'EN':
  46                  $this->fmtDate="'Y-m-d'";
  47                  $this->fmtTimeStamp = "'Y-m-d H:i:s'";
  48                  break;
  49  
  50              case 'US':
  51                  $this->fmtDate = "'m-d-Y'";
  52                  $this->fmtTimeStamp = "'m-d-Y H:i:s'";
  53                  break;
  54  
  55              case 'NL':
  56              case 'FR':
  57              case 'RO':
  58              case 'IT':
  59                  $this->fmtDate="'d-m-Y'";
  60                  $this->fmtTimeStamp = "'d-m-Y H:i:s'";
  61                  break;
  62  
  63              case 'GE':
  64                  $this->fmtDate="'d.m.Y'";
  65                  $this->fmtTimeStamp = "'d.m.Y H:i:s'";
  66                  break;
  67  
  68              default:
  69                  $this->fmtDate="'Y-m-d'";
  70                  $this->fmtTimeStamp = "'Y-m-d H:i:s'";
  71                  break;
  72          }
  73      }
  74  
  75  	function DBDate($date)
  76      {
  77          if (empty($date) && $date !== 0)
  78              return 'null';
  79  
  80          if (is_string($date) && !is_numeric($date)) {
  81              if ($date === 'null' || strncmp($date, "'", 1) === 0)
  82                  return $date;
  83  
  84              if ($this->isoDates)
  85                  return "'$date'";
  86  
  87              $date = $this->UnixDate($date);
  88          }
  89  
  90          return adodb_date($this->fmtDate,$date);
  91      }
  92  
  93  	function DBTimeStamp($timestamp)
  94      {
  95          if (empty($timestamp) && $timestamp !== 0)
  96              return 'null';
  97  
  98          # strlen(14) allows YYYYMMDDHHMMSS format

  99          if (!is_string($timestamp) || (is_numeric($timestamp) && strlen($timestamp)<14)) 
 100              return adodb_date($this->fmtTimeStamp, $timestamp);
 101  
 102          if ($timestamp === 'null')
 103              return $timestamp;
 104  
 105          if ($this->isoDates && strlen($timestamp) !== 14)
 106              return "'$timestamp'";
 107  
 108          $timestamp = $this->UnixTimeStamp($timestamp);
 109          return adodb_date($this->fmtTimeStamp, $timestamp);
 110      }
 111  
 112  	function UnixDate($v)
 113      {
 114          if (is_object($v)) {
 115          // odbtp support

 116          //( [year] => 2004 [month] => 9 [day] => 4 [hour] => 12 [minute] => 44 [second] => 8 [fraction] => 0 )

 117              return adodb_mktime($v->hour, $v->minute, $v->second, $v->month, $v->day, $v->year);
 118          }
 119      
 120          if (is_numeric($v) && strlen($v) !== 8)
 121              return $v;
 122  
 123          if (!preg_match( "|^([0-9]{4})[-/\.]?([0-9]{1,2})[-/\.]?([0-9]{1,2})|", ($v), $rr))
 124              return false;
 125  
 126          if ($rr[1] <= TIMESTAMP_FIRST_YEAR)
 127              return 0;
 128  
 129          // h-m-s-MM-DD-YY

 130          return adodb_mktime(0, 0, 0, $rr[2], $rr[3], $rr[1]);
 131      }
 132  
 133  	function UnixTimeStamp($v)
 134      {
 135          if (is_object($v)) {
 136          // odbtp support

 137          //( [year] => 2004 [month] => 9 [day] => 4 [hour] => 12 [minute] => 44 [second] => 8 [fraction] => 0 )

 138              return adodb_mktime($v->hour, $v->minute, $v->second, $v->month, $v->day, $v->year);
 139          }
 140          
 141          if (!preg_match("|^([0-9]{4})[-/\.]?([0-9]{1,2})[-/\.]?([0-9]{1,2})[ ,-]*(([0-9]{1,2}):?([0-9]{1,2}):?([0-9\.]{1,4}))?|", ($v), $rr))
 142              return false;
 143  
 144          if ($rr[1] <= TIMESTAMP_FIRST_YEAR && $rr[2]<= 1)
 145              return 0;
 146  
 147          // h-m-s-MM-DD-YY

 148          if (!isset($rr[5]))
 149              return adodb_mktime(0, 0, 0, $rr[2], $rr[3], $rr[1]);
 150          else return adodb_mktime($rr[5], $rr[6], $rr[7], $rr[2], $rr[3], $rr[1]);
 151      }
 152  
 153  	function UserDate($v, $fmt='Y-m-d', $gmt=false)
 154      {
 155          $tt = $this->UnixDate($v);
 156  
 157          // $tt == -1 if pre TIMESTAMP_FIRST_YEAR

 158          if (($tt === false || $tt == -1) && $v != false)
 159              return $v;
 160          else if ($tt == 0)
 161              return $this->emptyDate;
 162          else if ($tt == -1) { // pre-TIMESTAMP_FIRST_YEAR
 163          }
 164  
 165          return ($gmt) ? adodb_gmdate($fmt, $tt) : adodb_date($fmt, $tt);
 166      }
 167  
 168  	function UserTimeStamp($v, $fmt='Y-m-d H:i:s', $gmt=false)
 169      {
 170          if (!isset($v))
 171              return $this->emptyTimeStamp;
 172  
 173          # strlen(14) allows YYYYMMDDHHMMSS format

 174          if (is_numeric($v) && strlen($v)<14)
 175              return ($gmt) ? adodb_gmdate($fmt,$v) : adodb_date($fmt,$v);
 176  
 177          $tt = $this->UnixTimeStamp($v);
 178          // $tt == -1 if pre TIMESTAMP_FIRST_YEAR

 179          if (($tt === false || $tt == -1) && $v != false)
 180              return $v;
 181  
 182          if ($tt == 0)
 183              return $this->emptyTimeStamp;
 184          else return ($gmt) ? adodb_gmdate($fmt,$tt) : adodb_date($fmt,$tt);
 185      }
 186  
 187  	function SQLDate($fmt, $col=false)
 188      {
 189          $fmt = $this->qstr($fmt);
 190          return ($col) ? "adodb_date2($fmt,$col)" : "adodb_date($fmt)";
 191      }
 192  }
 193  
 194  eval('class sqlite_date_resultset_EXTENDER extends '. $last_module . '_ResultSet { }');
 195  
 196  class sqlite_date_ResultSet extends sqlite_date_resultset_EXTENDER
 197  {
 198      var $emptyTimeStamp = '&nbsp;'; /// what to display when $time==0

 199      var $emptyDate = '&nbsp;'; /// what to display when $time==0

 200      var $datetime = false;
 201  
 202  	function UserTimeStamp($v, $fmt='Y-m-d H:i:s')
 203      {
 204          if (is_numeric($v) && strlen($v)<14)
 205              return adodb_date($fmt,$v);
 206  
 207          $tt = $this->UnixTimeStamp($v);
 208          // $tt == -1 if pre TIMESTAMP_FIRST_YEAR

 209          if (($tt === false || $tt == -1) && $v != false)
 210              return $v;
 211  
 212          if ($tt === 0)
 213              return $this->emptyTimeStamp;
 214          else return adodb_date($fmt,$tt);
 215      }
 216  
 217  	function UserDate($v,$fmt='Y-m-d')
 218      {
 219          $tt = $this->UnixDate($v);
 220          // $tt == -1 if pre TIMESTAMP_FIRST_YEAR

 221          if (($tt === false || $tt == -1) && $v != false)
 222              return $v;
 223          else if ($tt == 0)
 224              return $this->emptyDate;
 225          else if ($tt == -1) { // pre-TIMESTAMP_FIRST_YEAR
 226          }
 227          return adodb_date($fmt,$tt);
 228      }
 229  
 230  	function UnixDate($v)
 231      {
 232          return sqlite_date_ADOConnection::UnixDate($v);
 233      }
 234  
 235  	function UnixTimeStamp($v)
 236      {
 237          return sqlite_date_ADOConnection::UnixTimeStamp($v);
 238      }
 239  
 240  }
 241  ?>


Généré le : Tue Apr 3 18:50:37 2007 par Balluche grâce à PHPXref 0.7