Update to r405 from < r401

Update to r405 (V1.4.7) from older versions < r401 (V1.4.6)

<note>SOLVED since r406 V1.4.7 - > Docu: Download DEV - Version ZIP Format</note>

Procedure for installation r405 V1.4.7 if the update is not working from a previous version:

  • Copy this text in the newly created file include/inc_lib/revision/r405.php.
  • Delete the file content/tmp/r405.checked.tmp, if the update did not work apparently (Error Message “Fatal error: _setConfig failed” in FE).


Update 23.11.2010 (Corrected DB update)

  • Checks if the field “sysvalue_vartype” in the table “phpwcms_sysvalue” exists and creates it if not yet available. (Since r171 available)
    This field has not been used and was made only on new installations to r171.
    In DB updates, the system is not available!


<?php
/*************************************************************************************
   Copyright notice
 
   (c) 2002-2010 Oliver Georgi (oliver@phpwcms.de) // All rights reserved.
 
   This script is part of PHPWCMS. The PHPWCMS web content management system is
   free software; you can redistribute it and/or modify it under the terms of
   the GNU General Public License as published by the Free Software Foundation;
   either version 2 of the License, or (at your option) any later version.
 
   The GNU General Public License can be found at http://www.gnu.org/copyleft/gpl.html
   A copy is found in the textfile GPL.txt and important notices to the license
   from the author is found in LICENSE.txt distributed with these scripts.
 
   This script is distributed in the hope that it will be useful, but WITHOUT ANY
   WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
   PARTICULAR PURPOSE.  See the GNU General Public License for more details.
 
   This copyright notice MUST APPEAR in all copies of the script!
*************************************************************************************/
 
 
// Revision 405 Update Check
function phpwcms_revision_r405() {
 
    $status = true;
 
    // do former revision check
    // r402 required no action, so fallback to r401
    $r401 = '401';
    if(phpwcms_revision_check_temp($r401) !== true) {
        $status = phpwcms_revision_check($r401);
    }
 
    // check if article content tab field exists
    $result = _dbQuery("SHOW COLUMNS FROM ".DB_PREPEND."phpwcms_articlecontent LIKE 'acontent_tab'", 'COUNT_SHOW');
 
    if(empty($result)) {
        $result = _dbQuery("ALTER TABLE ".DB_PREPEND."phpwcms_articlecontent ADD acontent_tab VARCHAR(255) NOT NULL DEFAULT ''", 'ALTER');
    }
 
    // check if new structure level class field exists
    $result = _dbQuery("SHOW COLUMNS FROM ".DB_PREPEND."phpwcms_articlecat LIKE 'acat_class'", 'COUNT_SHOW');
 
    if(empty($result)) {
        $result = _dbQuery("ALTER TABLE ".DB_PREPEND."phpwcms_articlecat ADD acat_class VARCHAR(255) NOT NULL DEFAULT ''", 'ALTER');
    }
 
    // check if new structure level keywords field exists
    $result = _dbQuery("SHOW COLUMNS FROM ".DB_PREPEND."phpwcms_articlecat LIKE 'acat_keywords'", 'COUNT_SHOW');
 
    if(empty($result)) {
        $result = _dbQuery("ALTER TABLE ".DB_PREPEND."phpwcms_articlecat ADD acat_keywords VARCHAR(255) NOT NULL DEFAULT ''", 'ALTER');
    }
 
    // upgrade sysvalue fields +KH:24.11.2011 if no field exists
    $result = _dbQuery("SHOW COLUMNS FROM ".DB_PREPEND."phpwcms_sysvalue LIKE 'sysvalue_vartype'");
 
    // sysvalue_vartype
    if(empty($result)) {
        $result = _dbQuery("ALTER TABLE ".DB_PREPEND."phpwcms_sysvalue ADD sysvalue_vartype VARCHAR(255) NOT NULL DEFAULT ''", 'ALTER');
    }
    elseif(isset($result[0]['Type']) && $result[0]['Type'] == 'varchar(100)') {
        $result = _dbQuery("ALTER TABLE ".DB_PREPEND."phpwcms_sysvalue CHANGE sysvalue_vartype sysvalue_vartype VARCHAR(255) NOT NULL DEFAULT ''", 'ALTER');
    }
 
    // sysvalue_value
    $result = _dbQuery("SHOW COLUMNS FROM ".DB_PREPEND."phpwcms_sysvalue LIKE 'sysvalue_value'");
    if(empty($result)) {
        $result = _dbQuery("ALTER TABLE ".DB_PREPEND."phpwcms_sysvalue ADD sysvalue_value MEDIUMTEXT NOT NULL DEFAULT ''", 'ALTER');
    }
    elseif(isset($result[0]['Type']) && ($result[0]['Type'] == 'text' OR $result[0]['Type'] == 'mediumblob')) {
        $result = _dbQuery("ALTER TABLE ".DB_PREPEND."phpwcms_sysvalue CHANGE sysvalue_value sysvalue_value MEDIUMTEXT NOT NULL", 'ALTER');
    }
    // sysvalue_lastchange
    $result = _dbQuery("SHOW COLUMNS FROM ".DB_PREPEND."phpwcms_sysvalue LIKE 'sysvalue_lastchange'");
    if(empty($result)) {
        $result = _dbQuery("ALTER TABLE ".DB_PREPEND."phpwcms_sysvalue ADD sysvalue_lastchange INT(11) NOT NULL DEFAULT 0", 'ALTER');
    }
    // sysvalue_group
    $result = _dbQuery("SHOW COLUMNS FROM ".DB_PREPEND."phpwcms_sysvalue LIKE 'sysvalue_group'");
    if(empty($result)) {
        $result = _dbQuery("ALTER TABLE ".DB_PREPEND."phpwcms_sysvalue ADD sysvalue_group VARCHAR(255) NOT NULL DEFAULT ''", 'ALTER');
        $result = _dbQuery("ALTER TABLE ".DB_PREPEND."phpwcms_sysvalue ADD INDEX (sysvalue_group)", 'ALTER');
    }
    // sysvalue_status
    $result = _dbQuery("SHOW COLUMNS FROM ".DB_PREPEND."phpwcms_sysvalue LIKE 'sysvalue_status'");
    if(empty($result)) {
        $result = _dbQuery("ALTER TABLE ".DB_PREPEND."phpwcms_sysvalue ADD sysvalue_status INT(1) NOT NULL DEFAULT 0", 'ALTER');
        $result = _dbQuery("ALTER TABLE ".DB_PREPEND."phpwcms_sysvalue ADD INDEX (sysvalue_status)", 'ALTER');
    }
 
 
    return $status;
 
}
 
?>


Knut Heermann (flip-flop) 2010/11/07 19:47

english/installation/update/r403.txt · Last modified: 2018/06/03 18:09 (external edit)
www.planmatrix.de www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0