[ Index ]
 

Code source de CMS made simple 1.0.5

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

title

Body

[fermer]

/lib/classes/ -> class.templateoperations.inc.php (source)

   1  <?php
   2  #CMS - CMS Made Simple
   3  #(c)2004-6 by Ted Kulp (ted@cmsmadesimple.org)
   4  #This project's homepage is: http://cmsmadesimple.org
   5  #
   6  #This program is free software; you can redistribute it and/or modify
   7  #it under the terms of the GNU General Public License as published by
   8  #the Free Software Foundation; either version 2 of the License, or
   9  #(at your option) any later version.
  10  #
  11  #This program is distributed in the hope that it will be useful,
  12  #BUT withOUT ANY WARRANTY; without even the implied warranty of
  13  #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14  #GNU General Public License for more details.
  15  #You should have received a copy of the GNU General Public License
  16  #along with this program; if not, write to the Free Software
  17  #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  18  #
  19  #$Id$
  20  
  21  /**
  22   * Class for doing template related functions.  Many of the Template object functions are just wrappers around these.
  23   *
  24   * @since        0.6
  25   * @package        CMS
  26   */
  27  
  28  include_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'class.template.inc.php');
  29  
  30  class TemplateOperations
  31  {
  32  	function LoadTemplates()
  33      {
  34          global $gCms;
  35          $db = &$gCms->GetDb();
  36  
  37          $result = array();
  38  
  39          $query = "SELECT template_id, template_name, template_content, stylesheet, encoding, active, default_template, modified_date FROM ".cms_db_prefix()."templates ORDER BY template_name";
  40          $dbresult = &$db->Execute($query);
  41  
  42          while ($dbresult && !$dbresult->EOF)
  43          {
  44              $onetemplate = new Template();
  45              $onetemplate->id = $dbresult->fields['template_id'];
  46              $onetemplate->name = $dbresult->fields['template_name'];
  47              $onetemplate->active = $dbresult->fields['active'];
  48              $onetemplate->default = $dbresult->fields['default_template'];
  49              $onetemplate->content = $dbresult->fields['template_content'];
  50              $onetemplate->encoding = $dbresult->fields['encoding'];
  51              $onetemplate->stylesheet = $dbresult->fields['stylesheet'];
  52              $onetemplate->modified_date = $db->UnixTimeStamp($dbresult->fields['modified_date']);
  53              $result[] = $onetemplate;
  54              $dbresult->MoveNext();
  55          }
  56          
  57          if ($dbresult) $dbresult->Close();
  58  
  59          return $result;
  60      }
  61  
  62      function & LoadTemplateByID($id)
  63      {
  64          $result = false;
  65  
  66          global $gCms;
  67          $db = &$gCms->GetDb();
  68          $cache = &$gCms->TemplateCache;
  69  
  70          if (isset($cache[$id]))
  71          {
  72              return $cache[$id];
  73          }
  74  
  75          $query = "SELECT template_id, template_name, template_content, stylesheet, encoding, active, default_template, modified_date FROM ".cms_db_prefix()."templates WHERE template_id = ?";
  76          $row = &$db->GetRow($query, array($id));
  77  
  78          if($row)
  79          {
  80              $onetemplate =& new Template();
  81              $onetemplate->id = $row['template_id'];
  82              $onetemplate->name = $row['template_name'];
  83              $onetemplate->content = $row['template_content'];
  84              $onetemplate->stylesheet = $row['stylesheet'];
  85              $onetemplate->encoding = $row['encoding'];
  86              $onetemplate->default = $row['default_template'];
  87              $onetemplate->active = $row['active'];
  88              $onetemplate->modified_date = $db->UnixTimeStamp($row['modified_date']);
  89              $result =& $onetemplate;
  90  
  91              if (!isset($cache[$onetemplate->id]))
  92              {
  93                  $cache[$onetemplate->id] =& $onetemplate;
  94              }
  95          }
  96  
  97          return $result;
  98      }
  99  
 100  	function LoadTemplateByContentAlias($alias)
 101      {
 102          $result = false;
 103  
 104          global $gCms;
 105          $db = &$gCms->GetDb();
 106  
 107          $query = "SELECT t.template_id, t.template_name, t.template_content, t.stylesheet, t.encoding, t.active, t.default_template, t.modified_date FROM ".cms_db_prefix()."templates t INNER JOIN ".cms_db_prefix()."content c ON c.template_id = t.template_id WHERE (c.content_alias = ? OR c.content_id = ?) AND c.active = 1";
 108          $row = &$db->GetRow($query, array($alias, $alias));
 109  
 110          if ($row)
 111          {
 112              $onetemplate = new Template();
 113              $onetemplate->id = $row['template_id'];
 114              $onetemplate->name = $row['template_name'];
 115              $onetemplate->content = $row['template_content'];
 116              $onetemplate->stylesheet = $row['stylesheet'];
 117              $onetemplate->encoding = $row['encoding'];
 118              $onetemplate->default = $row['default_template'];
 119              $onetemplate->active = $row['active'];
 120              $onetemplate->modified_date = $db->UnixTimeStamp($row['modified_date']);
 121              $result = $onetemplate;
 122          }
 123  
 124          return $result;
 125      }
 126  
 127  	function LoadTemplateAndContentDates($alias)
 128      {
 129          $result = array();
 130  
 131          global $gCms;
 132          $db = &$gCms->GetDb();
 133  
 134          $query = "SELECT c.modified_date AS c_date, t.modified_date AS t_date FROM ".cms_db_prefix()."templates t INNER JOIN ".cms_db_prefix()."content c ON c.template_id = t.template_id WHERE (c.content_alias = ? OR c.content_id = ?) AND c.active = 1";
 135          $dbresult = &$db->Execute($query, array($alias, $alias));
 136  
 137          while ($dbresult && !$dbresult->EOF)
 138          {
 139              $result[] = $dbresult->fields['c_date'];
 140              $result[] = $dbresult->fields['t_date'];
 141              $dbresult->MoveNext();
 142          }
 143          
 144          if ($dbresult) $dbresult->Close();
 145  
 146          return $result;
 147      }
 148  
 149  	function LoadDefaultTemplate()
 150      {
 151          $result = false;
 152  
 153          global $gCms;
 154          $db = &$gCms->GetDb();
 155  
 156          $query = "SELECT template_id, template_name, template_content, stylesheet, encoding, active, default_template FROM ".cms_db_prefix()."templates WHERE default_template = 1";
 157          $row = &$db->GetRow($query);
 158  
 159          if($row)
 160          {
 161              $onetemplate = new Template();
 162              $onetemplate->id = $row['template_id'];
 163              $onetemplate->name = $row['template_name'];
 164              $onetemplate->content = $row['template_content'];
 165              $onetemplate->stylesheet = $row['stylesheet'];
 166              $onetemplate->encoding = $row['encoding'];
 167              $onetemplate->default = $row['default_template'];
 168              $onetemplate->active = $row['active'];
 169              $result = $onetemplate;
 170          }
 171  
 172          return $result;
 173      }
 174  
 175  	function UsageCount($id)
 176      {
 177          $result = 0;
 178  
 179          global $gCms;
 180          $db = &$gCms->GetDb();
 181  
 182          $query = "SELECT count(*) as the_count FROM ".cms_db_prefix()."content WHERE template_id = ?";
 183          $row = &$db->GetRow($query, array($id));
 184  
 185          if($row)
 186          {
 187              $result = $row['the_count'];
 188          }
 189      
 190          return $result;
 191      }
 192  
 193  	function InsertTemplate($template)
 194      {
 195          $result = -1; 
 196  
 197          global $gCms;
 198          $db = &$gCms->GetDb();
 199  
 200          $time = $db->DBTimeStamp(time());
 201          $new_template_id = $db->GenID(cms_db_prefix()."templates_seq");
 202          $query = "INSERT INTO ".cms_db_prefix()."templates (template_id, template_name, template_content, stylesheet, encoding, active, default_template, create_date, modified_date) VALUES (?,?,?,?,?,?,?,".$time.",".$time.")";
 203          $dbresult = $db->Execute($query, array($new_template_id, $template->name, $template->content, $template->stylesheet, $template->encoding, $template->active, $template->default));
 204          if ($dbresult !== false)
 205          {
 206              $result = $new_template_id;
 207              do_cross_reference($new_template_id, 'template', $template->content);
 208          }
 209  
 210          return $result;
 211      }
 212  
 213  	function UpdateTemplate($template)
 214      {
 215          $result = false; 
 216  
 217          global $gCms;
 218          $db = &$gCms->GetDb();
 219  
 220          $time = $db->DBTimeStamp(time());
 221          $query = "UPDATE ".cms_db_prefix()."templates SET template_name = ?, template_content = ?, stylesheet = ?, encoding = ?, active = ?, default_template = ?, modified_date = ".$time." WHERE template_id = ?";
 222          $dbresult = $db->Execute($query,array($template->name,$template->content,$template->stylesheet,$template->encoding,$template->active,$template->default,$template->id));
 223          if ($dbresult !== false)
 224          {
 225              $result = true;
 226              do_cross_reference($template->id, 'template', $template->content);
 227          }
 228  
 229          return $result;
 230      }
 231  
 232  	function DeleteTemplateByID($id)
 233      {
 234          $result = false;
 235  
 236          global $gCms;
 237          $db = &$gCms->GetDb();
 238  
 239          $query = "DELETE FROM ".cms_db_prefix()."css_assoc WHERE assoc_type = 'template' AND assoc_to_id = ?";
 240          $dbresult = $db->Execute($query,array($id));
 241  
 242          $query = "DELETE FROM ".cms_db_prefix()."templates where template_id = ?";
 243          $dbresult = $db->Execute($query,array($id));
 244  
 245          if ($dbresult !== false)
 246          {
 247              $result = true;
 248              remove_cross_references($id, 'template');
 249          }
 250  
 251          return $result;
 252      }
 253  
 254  	function CountPagesUsingTemplateByID($id)
 255      {
 256          $result = 0;
 257  
 258          global $gCms;
 259          $db = &$gCms->GetDb();
 260  
 261          $query = "SELECT count(*) AS count FROM ".cms_db_prefix()."content WHERE template_id = ?";
 262          $row = &$db->GetRow($query,array($id));
 263  
 264          if ($row)
 265          {
 266              if (isset($row["count"]))
 267              {
 268                  $result = $row["count"];
 269              }
 270          }
 271  
 272          return $result;
 273      }
 274  
 275  	function StylesheetsUsed()
 276      {
 277          $result = 0;
 278  
 279          global $gCms;
 280          $db = &$gCms->GetDb();
 281  
 282          $query = "SELECT count(*) AS count FROM ".cms_db_prefix()."templates WHERE stylesheet is not null and stylesheet != ''";
 283          $row = &$db->GetRow($query);
 284  
 285          if ($row)
 286          {
 287              if (isset($row["count"]))
 288              {
 289                  $result = $row["count"];
 290              }
 291          }
 292  
 293          return $result;
 294      }
 295  
 296  	function TouchAllTemplates($blob_name='')
 297      {
 298          $result = false;
 299  
 300          global $gCms;
 301          $db = &$gCms->GetDb();
 302  
 303          $dbresult = false;
 304  
 305          $time = $db->DBTimeStamp(time());
 306          if ($blob_name != '')
 307          {
 308              $query = "UPDATE ".cms_db_prefix()."templates SET modified_date = ".$time." WHERE template_content like ?";
 309              $dbresult = $db->Execute($query,array('%{html_blob name="'.$blob_name.'"}%'));
 310          }
 311          else
 312          {
 313              $query = "UPDATE ".cms_db_prefix()."templates SET modified_date = ".$time;
 314              $dbresult = $db->Execute($query);
 315          }
 316  
 317          if ($dbresult !== false)
 318          {
 319              $result = true;
 320          }
 321  
 322          return $result;
 323      }
 324  
 325  	function CheckExistingTemplateName($name)
 326      {
 327          $result = false;
 328  
 329          global $gCms;
 330          $db = &$gCms->GetDb();
 331  
 332          $query = "SELECT template_id from ".cms_db_prefix()."templates WHERE template_name = ?";
 333          $row = &$db->GetRow($query,array($name));
 334  
 335          if ($row)
 336          {
 337              $result = true; 
 338          }
 339  
 340          return $result;
 341      }
 342      
 343  	function TemplateDropdown($id = 'template_id', $selected_id = -1, $othertext = '', $show_hidden = false)
 344      {
 345          $result = "";
 346          
 347          global $gCms;
 348          $templateops =& $gCms->GetTemplateOperations();
 349  
 350          $alltemplates = $templateops->LoadTemplates();
 351          
 352          if (count($alltemplates) > 0)
 353          {
 354              $result .= '<select name="'.$id.'"';
 355              if ($othertext != '')
 356              {
 357                  $result .= ' ' . $othertext;
 358              }
 359              $result .= '>';
 360              #$result .= '<option value="">Select Template</option>';
 361              foreach ($alltemplates as $onetemplate)
 362              {
 363                  if ($onetemplate->active == true || $show_hidden == true)
 364                  {
 365                      $result .= '<option value="'.$onetemplate->id.'"';
 366                      if ($onetemplate->id == $selected_id || ($selected_id == -1 && $onetemplate->default == true))
 367                      {
 368                          $result .= ' selected="selected"';
 369                      }
 370                      $result .= '>'.$onetemplate->name.'</option>';
 371                  }
 372              }
 373              $result .= '</select>';
 374          }
 375          
 376          return $result;
 377      }
 378  }
 379  
 380  
 381  ?>


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