コード例 #1
0
ファイル: install.php プロジェクト: Godjqb/Php-test
function create_tables()
{
    global $dbh;
    create_table("events", "`eid` int(11) unsigned NOT NULL auto_increment,\n" . "`cid` int(11) unsigned NOT NULL,\n" . "`owner` int(11) unsigned NOT NULL default 0,\n" . "`subject` varchar(255) collate utf8_unicode_ci NOT NULL,\n" . "`description` text collate utf8_unicode_ci NOT NULL,\n" . "`readonly` tinyint(1) NOT NULL default 0,\n" . "`catid` int(11) unsigned default NULL,\n" . "`ctime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,\n" . "`mtime` timestamp NULL DEFAULT NULL,\n" . "PRIMARY KEY (`eid`)\n", "AUTO_INCREMENT=1");
    create_table("occurrences", "`oid` int(11) unsigned NOT NULL auto_increment,\n" . "`eid` int(11) unsigned NOT NULL,\n" . "`start_date` date default NULL,\n" . "`end_date` date default NULL,\n" . "`start_ts` timestamp NULL default NULL,\n" . "`end_ts` timestamp NULL default NULL,\n" . "`time_type` tinyint(4) NOT NULL default '0',\n" . "PRIMARY KEY  (`oid`),\n" . "KEY `eid` (`eid`)\n", "AUTO_INCREMENT=1");
    create_table("users", "`uid` int(11) unsigned NOT NULL auto_increment,\n" . "`username` varchar(32) collate utf8_unicode_ci NOT NULL,\n" . "`password` varchar(32) collate utf8_unicode_ci NOT NULL default '',\n" . "`admin` tinyint(4) NOT NULL DEFAULT '0',\n" . "`password_editable` tinyint(1) NOT NULL DEFAULT '1',\n" . "`timezone` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,\n" . "`language` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,\n" . "`gid` int(11),\n" . "PRIMARY KEY (`uid`),\n" . "UNIQUE KEY `username` (`username`)\n", "AUTO_INCREMENT=1");
    create_table("groups", "`gid` int(11) NOT NULL AUTO_INCREMENT,\n" . "`cid` int(11),\n" . "`name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,\n" . "PRIMARY KEY (`gid`)\n");
    create_table("user_groups", "`gid` int(11),\n" . "`uid` int(11)\n");
    create_logins_table();
    create_table("permissions", "`cid` int(11) unsigned NOT NULL,\n" . "`uid` int(11) unsigned NOT NULL,\n" . "`read` tinyint(1) NOT NULL,\n" . "`write` tinyint(1) NOT NULL,\n" . "`readonly` tinyint(1) NOT NULL,\n" . "`modify` tinyint(1) NOT NULL,\n" . "`admin` tinyint(1) NOT NULL,\n" . "UNIQUE KEY `cid` (`cid`,`uid`)\n");
    create_table("calendars", "`cid` int(11) unsigned NOT NULL auto_increment,\n" . "`hours_24` tinyint(1) NOT NULL DEFAULT 0,\n" . "`date_format` tinyint(1) NOT NULL DEFAULT 0,\n" . "`week_start` tinyint(1) NOT NULL DEFAULT 0,\n" . "`subject_max` smallint(5) unsigned NOT NULL DEFAULT 50,\n" . "`events_max` tinyint(4) unsigned NOT NULL DEFAULT 8,\n" . "`title` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'PHP-Calendar',\n" . "`anon_permission` tinyint(1) NOT NULL DEFAULT 1,\n" . "`timezone` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,\n" . "`language` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,\n" . "`theme` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,\n" . "PRIMARY KEY  (`cid`)\n", "AUTO_INCREMENT=1");
    create_table("categories", "`catid` int(11) unsigned NOT NULL auto_increment,\n" . "`cid` int(11) unsigned NOT NULL,\n" . "`gid` int(11) unsigned DEFAULT NULL,\n" . "`name` varchar(255) collate utf8_unicode_ci NOT NULL,\n" . "`text_color` varchar(255) collate utf8_unicode_ci default NULL,\n" . "`bg_color` varchar(255) collate utf8_unicode_ci default NULL,\n" . "PRIMARY KEY  (`catid`),\n" . "KEY `cid` (`cid`)\n", "AUTO_INCREMENT=1");
    create_version_table();
}
コード例 #2
0
ファイル: sql.php プロジェクト: jewelhuq/myitcrm1
    $error_flag = true;
} else {
    echo "<tr>\n\n\t\t\t\t<td>UPDATED TABLE " . PRFX . "TABLE_CUSTOMER_MOBILE_PHONE</td>\n\n\t\t\t\t<td><font color=\"green\"><b>OK</b></font></td>\n\n\t\t\t</tr>\n";
}
function update_customer_mobile_phone($db)
{
    $q = "ALTER TABLE `" . PRFX . "TABLE_CUSTOMER` CHANGE `CUSTOMER_MOBILE_PHONE` `CUSTOMER_MOBILE_PHONE` VARCHAR(40)";
    $rs = $db->Execute($q);
    if (!$rs) {
        return false;
    } else {
        return true;
    }
}
// Adding Version Number to Database
if (!create_version_table($db)) {
    echo "<tr>\n\n\t\t\t<td>CREATED TABLE " . PRFX . "VERSION</td>\n\n\t\t\t<td><font color=\"red\"><b>Failed:</b></font> " . $db->ErrorMsg() . "</td>\n\n\t\t</tr>\n";
    $error_flag = true;
} else {
    echo "<tr>\n\n\t\t\t\t<td>CREATED TABLE " . PRFX . "VERSION</td>\n\n\t\t\t\t<td><font color=\"green\"><b>OK</b></font></td>\n\n\t\t\t</tr>\n";
}
// CREATING VERSION NUMBER TABLE
function create_version_table($db)
{
    $q = "CREATE TABLE IF NOT EXISTS `" . PRFX . "VERSION` (`VERSION_ID` INT NOT NULL ,`VERSION_NAME` VARCHAR( 10 ) NOT NULL ,`VERSION_INSTALLED` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=MyISAM ";
    if (!($rs = $db->execute($q))) {
        return false;
    } else {
        return true;
    }
}
コード例 #3
0
ファイル: update.php プロジェクト: Agnate/Ryuutama-App-PHP
$updates = get_version_diff($cur_version, $update_version, isset($opts['f']));
if (count($updates) <= 0) {
    if ($cur_version == $update_version) {
        output_string("Database is already up to date.\n");
    } else {
        if (version_gte_update($cur_version, $update_version)) {
            output_string("Cannot downgrade the database version.\nSelect a version higher than the current version: {$cur_version}.\n");
        } else {
            output_string("Not sure why there are no updates...?\n");
        }
    }
    exit;
}
output_string("Updating from {$cur_version} -> {$update_version}.");
// Create the version table if it hasn't already been created.
create_version_table();
// Run the updates.
foreach ($updates as $version => $filename) {
    // Add in file so we can update.
    require_once $filename;
    $func = 'update_version_' . str_replace('.', '_', $version);
    $queries = array();
    if (function_exists($func)) {
        output_string("Running version {$version} update...\n");
        // Populate the queries array.
        call_user_func($func, $force_update);
        // Start the queries.
        run_update_queries();
        // Update the version.
        update_version_table($version);
        output_string("Completed version {$version} updates.");