Source for file update_T_PRO_PRODUCT.phpinc

Documentation is available at update_T_PRO_PRODUCT.phpinc

  1. <?php
  2. /**
  3.   * upgrade table T_PRO_PRODUCT
  4.   *
  5.   * @project    Open CSP-Management
  6.   * @package    dbms
  7.   * @category   versioncheck
  8.   *
  9.   * @author     Peter Krebs <p.krebs@wpus.at>
  10.   * @copyright  (c) 2002-2005 by WURM & Parnter Unternehmensservice GmbH
  11.   * @license    http://opensource.org/licenses/gpl-license.php GNU Public License
  12.   *
  13.   * @version pk-05-06-18
  14.   * @version pk-05-10-03
  15.   * @version sw-05-11-04
  16.   *
  17.   ***/
  18.  
  19. $query="SELECT * FROM T_SYS_TABLES WHERE TBL_NAME ='T_PRO_PRODUCT' ORDER BY TBL_VERSION DESC";
  20. if (!$tblVer=OCSP_OBJ::defaultReadDBObj()->quickQuery($query)) {
  21.     $tblVer['TBL_NAME']="T_PRO_PRODUCT";
  22.     $tblVer['TBL_VERSION']=0;
  23.     $tblVer['TBL_SELECT']=0;
  24.     $tblVer['TBL_INSERT']=50;
  25.     $tblVer['TBL_UPDATE']=75;
  26.     $tblVer['TBL_DELETE']=75;
  27.     $tblVer['TBL_LASTCHANGE']=NULL;
  28. }
  29.  
  30. require_once __OCSP_PHPINCPATH__ ."db/update/functions_mySQL.phpinc";
  31.  
  32. if (intval($tblVer['TBL_VERSION']10{
  33.     DB_UPDATE_execCmd("CREATE TABLE IF NOT EXISTS T_PRO_PRODUCT (
  34.             PRO_ID int(11) NOT NULL auto_increment,
  35.             PGP_ID int(11) NOT NULL default '0',
  36.             PRO_NAME varchar(128) NOT NULL default '',
  37.             PRO_NUMBER varchar(32) default NULL,
  38.             PRO_DESC1 text,
  39.             PRO_DESC2 text,
  40.             PRO_DESC3 text,
  41.             PRO_DESC4 text,
  42.             PRO_IMG1 varchar(250) default NULL,
  43.             PRO_IMG2 varchar(250) default NULL,
  44.             PRO_IMG3 varchar(250) default NULL,
  45.             PRO_THUMB1 varchar(250) default NULL,
  46.             PRO_THUMB2 varchar(250) default NULL,
  47.             PRO_SORTORDER int(11) default NULL,
  48.             PRO_SHOW tinyint(4) NOT NULL default '1',
  49.             PRO_HASPARTS tinyint(4) NOT NULL default '1',
  50.             PRO_SEARCHTEXT text,
  51.             PRO_LINK1 varchar(250) default NULL,
  52.             PRO_LINK2 varchar(250) default NULL,
  53.             PRO_LINK3 varchar(250) default NULL,
  54.             PRO_LINK4 varchar(250) default NULL,
  55.             PRO_PRICE1 float default NULL,
  56.             PRO_PRICE2 float default NULL,
  57.             PRO_ATTR1_TITLE varchar(64) default NULL,
  58.             PRO_ATTR2_TITLE varchar(64) default NULL,
  59.             PRO_ATTR3_TITLE varchar(64) default NULL,
  60.             PRO_ATTR4_TITLE varchar(64) default NULL,
  61.             PRO_ATTR5_TITLE varchar(64) default NULL,
  62.             PRO_ATTR1_VALUES text,
  63.             PRO_ATTR2_VALUES text,
  64.             PRO_ATTR3_VALUES text,
  65.             PRO_ATTR4_VALUES text,
  66.             PRO_ATTR5_VALUES text,
  67.             PRO_REDUCTION float default '0',
  68.             PRO_REDFROM date default '2002-01-02',
  69.             PRO_REDTILL date default '9999-01-01',
  70.             PRO_NEWTILL date NOT NULL default '2001-01-20',
  71.             PRIMARY KEY  (PRO_ID,PGP_ID),
  72.             KEY PRO_SORTORDER (PRO_SORTORDER),
  73.             KEY PRO_NUMBER (PRO_NUMBER),
  74.             FULLTEXT KEY PRO_NAME (PRO_NAME,PRO_NUMBER,PRO_DESC1,PRO_DESC2,PRO_SEARCHTEXT),
  75.             FULLTEXT KEY PRO_SEARCHTEXT (PRO_SEARCHTEXT),
  76.             KEY PRO_NEWTILL (PRO_NEWTILL)
  77.         ) TYPE=MyISAM;
  78.     ");
  79. else {
  80.     DB_UPDATE_backupTable("T_PRO_PRODUCT");
  81. }
  82.  
  83. if (intval($tblVer['TBL_VERSION']11{
  84.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PRODUCT ADD PRO_SHOWFROM DATETIME DEFAULT '2003-01-01' NOT NULL AFTER PRO_SHOW");
  85.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PRODUCT ADD PRO_SHOWTILL DATETIME DEFAULT '2010-01-01' NOT NULL AFTER PRO_SHOWFROM");
  86.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PRODUCT ADD CTMPL_ID INT NOT NULL DEFAULT '0' ");
  87.  
  88.     $tblVer['TBL_VERSION']=11;
  89. }
  90.  
  91. if (intval($tblVer['TBL_VERSION']12{
  92.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PRODUCT ADD PRT_ID INT NOT NULL DEFAULT '0'");
  93.     $tblVer['TBL_VERSION']=12;
  94. }
  95.  
  96. if (intval($tblVer['TBL_VERSION']13{
  97.     // object value table added drop some fields (if empty)
  98.  
  99.     $a_colName=array();
  100.     $a_colName[]="PRO_DESC3";
  101.     $a_colName[]="PRO_DESC4";
  102.     $a_colName[]="PRO_IMG2";
  103.     $a_colName[]="PRO_IMG3";
  104.     $a_colName[]="PRO_THUMB2";
  105.     $a_colName[]="PRO_THUMB3";
  106.     $a_colName[]="PRO_LINK3";
  107.     $a_colName[]="PRO_LINK4";
  108.  
  109.     for ($i=2;$i<=5;$i++{
  110.         // keep ATTR1
  111.         $a_colName[]="PRO_ATTR".$i."_TITLE";
  112.         $a_colName[]="PRO_ATTR".$i."_VALUES";
  113.     }
  114.  
  115.     foreach($a_colName as $s_colName{
  116.         $s_query="SELECT COUNT(*) AS NOFROWS,'".$s_colName."' AS CNAME FROM T_PRO_PRODUCT WHERE NOT ISNULL(".$s_colName.")";
  117.         $a_res=OCSP_OBJ::defaultReadDBObj()->quickQuery($s_query);
  118.  
  119.         if ((!isset($a_res['NOFROWS']|| !intval($a_res['NOFROWS'])) && ($a_res['CNAME']==$s_colName)) {
  120.             // the column is empty we can drop it
  121.             echo "<p>Dropping Column $s_colName as it is empty</p>";
  122.             DB_UPDATE_execCmd("ALTER TABLE T_PRO_PRODUCT DROP ".$s_colName);
  123.         }
  124.     }
  125.  
  126.     $tblVer['TBL_VERSION']=13;
  127. }
  128.  
  129. if (intval($tblVer['TBL_VERSION']14{
  130.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PRODUCT DROP PRIMARY KEY,ADD PRIMARY KEY (PRO_ID)");
  131.     $tblVer['TBL_VERSION']=14;
  132. }
  133.  
  134. // <sw-05-11-04> added PROJ_ID
  135. if (intval($tblVer['TBL_VERSION']15{
  136.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PRODUCT ADD PROJ_ID INT NOT NULL DEFAULT '0'");
  137.     $tblVer['TBL_VERSION']=15;
  138. }
  139. // </sw-05-11-05>
  140.  
  141. if (intval($tblVer['TBL_VERSION']16// <pk-06-01-25 />
  142.     DB_UPDATE_execCmd("ALTER TABLE `T_PRO_PRODUCT` ADD INDEX ( `PGP_ID` )");
  143.     $tblVer['TBL_VERSION']=16;
  144. }
  145.  
  146. if (intval($tblVer['TBL_VERSION']17// <pk-06-02-07 />
  147.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PRODUCT ADD PRO_LASTCHANGE TIMESTAMP");
  148.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PRODUCT ADD PAR_LASTCHANGE TIMESTAMP");
  149.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PRODUCT ADD PRO_CREATION TIMESTAMP");
  150.     $tblVer['TBL_VERSION']=17;
  151. }
  152.  
  153. if (intval($tblVer['TBL_VERSION']18// <pk-06-02-10 />
  154.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PRODUCT ADD PRO_AUDIENCE_LIST VARCHAR(255)");
  155.     $tblVer['TBL_VERSION']=18;
  156. }
  157.  
  158. if (intval($tblVer['TBL_VERSION']19{
  159.      DB_UPDATE_execCmd("ALTER TABLE `T_PRO_PRODUCT` CHANGE `PRO_SHOWTILL` `PRO_SHOWTILL` DATETIME NOT NULL DEFAULT '2030-01-01 00:00:00'");
  160.      DB_UPDATE_execCmd("ALTER TABLE `T_PRO_PRODUCT` DROP `PRO_ATTR1_TITLE`");  
  161.      DB_UPDATE_execCmd("ALTER TABLE `T_PRO_PRODUCT` DROP `PRO_ATTR1_VALUES`");  
  162.      $tblVer['TBL_VERSION']=19;
  163. }
  164.  
  165. if (intval($tblVer['TBL_VERSION']20{
  166.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PRODUCT ADD PRO_CAMPAINED TINYINT(1) NOT NULL DEFAULT '0'");
  167.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PRODUCT ADD PRO_UNIQUE_PRICE TINYINT(1) NOT NULL DEFAULT '0'");
  168.     $tblVer['TBL_VERSION']=20;    
  169. }
  170.  
  171.  
  172.  
  173. ?>

Documentation generated on Thu, 08 Jan 2009 17:49:10 +0100 by phpDocumentor 1.4.0a2