[ Index ]
 

Code source de CMS made simple 1.0.5

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

title

Body

[fermer]

/install/upgrades/ -> upgrade.20.to.21.php (source)

   1  <?php
   2  
   3  echo "<p>Adding Cross Reference tables...";
   4  
   5  $dbdict = NewDataDictionary($db);
   6  $flds = '
   7      child_type C(100),
   8      child_id I,
   9      parent_type C(100),
  10      parent_id I,
  11      create_date DT,
  12      modified_date DT
  13  ';
  14          
  15  $taboptarray = array('mysql' => 'TYPE=MyISAM');
  16  $sqlarray = $dbdict->CreateTableSQL(cms_db_prefix()."crossref", $flds, $taboptarray);
  17  $dbdict->ExecuteSQLArray($sqlarray);
  18  
  19  $db->Execute("ALTER TABLE ".cms_db_prefix()."crossref ADD INDEX (child_type, child_id)");
  20  $db->Execute("ALTER TABLE ".cms_db_prefix()."crossref ADD INDEX (parent_type, parent_id)");
  21  
  22  echo '[done]</p>';
  23  
  24  echo '<p>Setting up existing cross references...';
  25  
  26  //Do the templates first
  27  $query = 'SELECT template_id, template_content FROM '.cms_db_prefix().'templates';
  28  $result = &$db->Execute($query);
  29  
  30  while ($result && !$result->EOF)
  31  {
  32      do_cross_reference($result->fields['template_id'], 'template', $result->fields['template_content']);
  33      $result->MoveNext();
  34  }
  35  
  36  //Gather up all content
  37  $query = 'SELECT content_id, content FROM '.cms_db_prefix().'content_props ORDER BY content_id';
  38  $result = &$db->Execute($query);
  39  
  40  $contentary = array();
  41  while ($result && !$result->EOF)
  42  {
  43      if (isset($contentary[$result->fields['content_id']]))
  44          $contentary[$result->fields['content_id']] .= $result->fields['content'];
  45      else
  46          $contentary[$result->fields['content_id']] = $result->fields['content'];
  47      $result->MoveNext();
  48  }
  49  
  50  //Now run it all through the cross reference routine to populate
  51  if (count($contentary) > 0)
  52  {
  53      foreach ($contentary as $key=>$val)
  54      {
  55          do_cross_reference($key, 'content', $val);
  56      }
  57  }
  58  
  59  echo '[done]</p>';
  60  
  61  echo '<p>Updating schema version... ';
  62  
  63  $query = "UPDATE ".cms_db_prefix()."version SET version = 21";
  64  $db->Execute($query);
  65  
  66  echo '[done]</p>';
  67  
  68  # vim:ts=4 sw=4 noet
  69  ?>


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