update INSTALL and UPGRADE file
[phpfspot.git] / phpfspot.class.php
index 1423f988f5c63ec2fa7b98aa0ad9155be776c64e..a5b4a4da7cfc045c89c87fa354ca689c6e952801 100644 (file)
@@ -703,8 +703,13 @@ class PHPFSPOT {
     * @return string
     */
    public function translate_path($path)
-   {  
-      return str_replace($this->cfg->path_replace_from, $this->cfg->path_replace_to, $path);
+   {
+      if($this->cfg->enable_replace_path == true)
+         return str_replace(
+            $this->cfg->path_replace_from,
+            $this->cfg->path_replace_to, $path);
+
+      return $path;
 
    } // translate_path
 
@@ -2544,6 +2549,13 @@ class PHPFSPOT {
          $missing = true;
       }
 
+      if($this->cfg->db_access == "pdo") {
+         if(array_search("sqlite", PDO::getAvailableDrivers()) === false) {
+            print "PDO SQLite3 driver is missing<br />\n";
+            $missing = true;
+         }
+      }
+
       /* Check for HTML_AJAX PEAR package, lent from Horde project */
       ini_set('track_errors', 1);
       @include_once 'HTML/AJAX/Server.php';
@@ -2561,6 +2573,11 @@ class PHPFSPOT {
          print "PEAR Console_Getopt package is missing<br />\n";
          $missing = true;
       }
+      @include_once 'Date.php';
+      if(isset($php_errormsg) && preg_match('/Failed opening.*for inclusion/i', $php_errormsg)) {
+         print "PEAR Date package is missing<br />\n";
+         $missing = true;
+      }
       @include_once $this->cfg->smarty_path .'/libs/Smarty.class.php';
       if(isset($php_errormsg) && preg_match('/Failed opening.*for inclusion/i', $php_errormsg)) {
          print "Smarty template engine can not be found in ". $this->cfg->smarty_path ."/libs/Smarty.class.php<br />\n";
@@ -2665,11 +2682,22 @@ class PHPFSPOT {
     * @param integer $month
     * @param integer $day
     */
-   public function get_calendar_matrix($year = 0, $month = 0, $day = 0)
+   public function get_calendar_matrix($userdate)
    {
-      if (!isset($year)) $year = date('Y');
-      if (!isset($month)) $month = date('m');
-      if (!isset($day)) $day = date('d');
+      if(($userdate = strtotime($userdate)) === false) {
+         $year = date('Y');
+         $month = date('m');
+         $day = date('d');
+      }
+      else {
+         $date = new Date();
+         $date->setDate($userdate);
+
+         $year  = $date->getYear();
+         $month = $date->getMonth();
+         $day   = $date->getDay();
+      }
+
       $rows = 1;
       $cols = 1;
       $matrix = Array();
@@ -2678,27 +2706,26 @@ class PHPFSPOT {
       require_once CALENDAR_ROOT.'Day.php';
 
       // Build the month
-      $month = new Calendar_Month_Weekdays($year,$month);
+      $month_cal = new Calendar_Month_Weekdays($year,$month);
 
       // Create links
-      $prevStamp = $month->prevMonth(true);
+      $prevStamp = $month_cal->prevMonth(true);
       $prev = "javascript:setMonth(". date('Y',$prevStamp) .", ". date('n',$prevStamp) .", ". date('j',$prevStamp) .");";
-      $nextStamp = $month->nextMonth(true);
+      $nextStamp = $month_cal->nextMonth(true);
       $next = "javascript:setMonth(". date('Y',$nextStamp) .", ". date('n',$nextStamp) .", ". date('j',$nextStamp) .");";
 
       $selectedDays = array (
          new Calendar_Day($year,$month,$day),
-         new Calendar_Day($year,12,25),
       );
 
       // Build the days in the month
-      $month->build($selectedDays);
+      $month_cal->build($selectedDays);
 
-      $this->tmpl->assign('current_month', date('F Y',$month->getTimeStamp()));
+      $this->tmpl->assign('current_month', date('F Y',$month_cal->getTimeStamp()));
       $this->tmpl->assign('prev_month', $prev);
       $this->tmpl->assign('next_month', $next);
 
-      while ( $day = $month->fetch() ) {
+      while ( $day = $month_cal->fetch() ) {
    
          if(!isset($matrix[$rows]))
             $matrix[$rows] = Array();
@@ -2706,7 +2733,13 @@ class PHPFSPOT {
          $string = "";
 
          $dayStamp = $day->thisDay(true);
-         $link = "javascript:setCalendarDate(". date('Y',$dayStamp) .", ". date('n',$dayStamp).", ". date('j',$dayStamp) .");";
+         $link = "javascript:setCalendarDate('"
+            . date('Y',$dayStamp)
+            . "-"
+            . date('m',$dayStamp)
+            . "-"
+            . date('d',$dayStamp)
+            ."');";
 
          // isFirst() to find start of week
          if ( $day->isFirst() )
@@ -3492,11 +3525,16 @@ class PHPFSPOT {
       if(!isset($this->cfg->thumbs_per_page))
          $this->_error("Please set \$thumbs_per_page in phpfspot_cfg");
 
-      if(!isset($this->cfg->path_replace_from) || $this->cfg->path_replace_from == "")
-         $this->_error("Please set \$path_replace_from in phpfspot_cfg");
+      if(!isset($this->cfg->enable_replace_path))
+         $this->_error("Please set \$enable_replace_path in phpfspot_cfg");
 
-      if(!isset($this->cfg->path_replace_to) || $this->cfg->path_replace_to == "")
-         $this->_error("Please set \$path_replace_to in phpfspot_cfg");
+      if($this->cfg->enable_replace_path == true) {
+         if(!isset($this->cfg->path_replace_from) || $this->cfg->path_replace_from == "")
+            $this->_error("Please set \$path_replace_from in phpfspot_cfg");
+
+         if(!isset($this->cfg->path_replace_to) || $this->cfg->path_replace_to == "")
+            $this->_error("Please set \$path_replace_to in phpfspot_cfg");
+      }
 
       if(!isset($this->cfg->hide_tags))
          $this->_error("Please set \$hide_tags in phpfspot_cfg");