function runDbMigration($fileName) { $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/systemsinventory/boost/updates/' . $fileName); if (PEAR::isError($result)) { throw new \Exception($result->toString()); } }
/** * update.php - FaxMaster update script * */ function faxmaster_update(&$content, $currentVersion) { switch ($currentVersion) { case version_compare($currentVersion, '0.1.0', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/faxmaster/boost/update-0.1.1.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.1.2', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/faxmaster/boost/update-0.1.2.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.1.3', '<'): PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('faxmaster', $content); case version_compare($currentVersion, '0.1.5', '<'): PHPWS_Settings::set('faxmaster', 'fax_path', '/var/fax/'); PHPWS_Settings::save('faxmaster'); case version_compare($currentVersion, '0.1.6', '<'): $content[] = '<pre>'; slcUpdateFiles(array('class/FaxPager.php', 'class/Faxmaster.php', 'templates/faxList.tpl', 'templates/style.css', 'templates/statistics.tpl'), $content); $content[] = '0.1.6 Changes --------------- + Added a statistics page to view monthly fax stats. + Added CSV export to the new statistics page.</pre>'; case version_compare($currentVersion, '0.1.7', '<'): $content[] = '<pre>'; // Add 2 new columns to the database related to archiving $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/faxmaster/boost/update-0.1.7.sql'); if (PEAR::isError($result)) { return $result; } slcUpdateFiles(array('boost/boost.php', 'boost/install.sql', 'boost/permission.php', 'boost/update.php', 'boost/update-0.1.7.sql', 'class/ArchiveDownload.php', 'class/exception/InstallException.php', 'class/Fax.php', 'class/FaxPager.php', 'class/Faxmaster.php', 'inc/settings.php', 'templates/archivePager.tpl', 'templates/faxList.tpl', 'templates/settings.tpl', 'templates/style.css'), $content); $content[] = '0.1.7 Changes --------------- + Added an archive method that is only accessbile by URL. + Added the ability to Download an Archive file. + Added permissions related to archiving and settings. + Added 2 database columns needed for archiving. + Added a View Archive page to view a list of all archived faxes. + Added a Settings page to configure the fax and archive paths. </pre>'; case version_compare($currentVersion, '0.1.8', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/faxmaster/boost/update-0.1.8.sql'); if (PEAR::isError($result)) { return $result; } } return true; }
/** * @author Chris Detsch */ function appsync_update(&$content, $currentVersion) { switch ($currentVersion) { case version_compare($currentVersion, '0.1.2', '<'): Users_Permission::registerPermissions('intern', $content); case version_compare($currentVersion, '0.1.3', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_00.01.00.sql'); if (PEAR::isError($result)) { return $result; } } return true; }
/** * Description * @author Jeff Tickle <jtickle at tux dot appstate dot edu> */ function pulse_update(&$content, $currentVersion) { switch ($currentVersion) { case version_compare($currentVersion, '1.9.1', '<'): if (PHPWS_Error::logIfError(PHPWS_DB::dropTable('pulse_schedule'))) { $content[] = 'Could not drop pulse_schedule table.'; return; } $result = PHPWS_DB::importFile(PHPWS_SOURCE_DIR . 'mod/pulse/boost/install.sql'); if (PHPWS_Error::logIfError($result)) { $content[] = 'Could not run install.sql.'; return; } $content[] = '<pre>Replaced pulse_schedule table</pre>'; case version_compare($currentVersion, '2.0.0', '<'): if (PHPWS_Error::logIfError(PHPWS_DB::dropTable('pulse_schedule'))) { $content[] = 'Could not drop pulse_schedule table.'; return; } $db = Database::newDB(); $db->begin(); try { $pulse = new \pulse\PulseSchedule(); $st = $pulse->createTable($db); } catch (\Exception $e) { $error_query = $pulse->createQuery(); if (isset($st) && $db->tableExists($st->getName())) { $st->drop(); } $content[] = 'Query:' . $error_query; $db->rollback(); throw $e; } $db->commit(); $content[] = 'New Pulse Schedule table created. ALL OLD SCHEDULES HAVE BEEN REMOVED!'; } return TRUE; }
public function createCore() { require_once 'File.php'; $this->content[] = dgettext('core', 'Importing core database file.'); $db = new PHPWS_DB(); $result = $db->importFile('core/boost/install.sql'); if (PHPWS_Error::isError($result)) { PHPWS_Error::log($result); $this->content[] = dgettext('core', 'Some errors occurred while creating the core database tables.'); $this->content[] = dgettext('core', 'Please check your error log file.'); return false; } if ($result == true) { $db = new PHPWS_DB('core_version'); include PHPWS_SOURCE_DIR . 'core/boost/boost.php'; $db->addValue('version', $version); $result = $db->insert(); if (PHPWS_Error::isError($result)) { PHPWS_Error::log($result); $this->content[] = dgettext('core', 'Some errors occurred while creating the core database tables.'); $this->content[] = dgettext('core', 'Please check your error log file.'); return false; } else { $this->content[] = dgettext('core', 'Core installation successful.'); return true; } } }
/** * @author Matthew McNaney <mcnaney at gmail dot com> * @version $Id$ */ function calendar_update(&$content, $version) { switch ($version) { case version_compare($version, '1.2.2', '<'): $content[] = 'This package will not update any versions prior to 1.2.2.'; return false; case version_compare($version, '1.3.0', '<'): $result = PHPWS_DB::importFile(PHPWS_SOURCE_DIR . 'mod/calendar/boost/sql_update_130.sql'); if (PHPWS_Error::isError($result)) { PHPWS_Error::log($result); $content[] = '+ Unable to import new suggestion table.'; return false; } else { $files = array('templates/admin/forms/edit_event.tpl', 'templates/view/day.tpl', 'templates/view/week.tpl', 'templates/view/month/grid.tpl', 'templates/view/month/list.tpl', 'templates/style.css', 'templates/user_main.tpl', 'templates/admin/approval.tpl', 'conf/config.php'); if (PHPWS_Boost::updateFiles($files, 'calendar')) { $content[] = '+ Template files updated successfully.'; } else { $content[] = '+ Unable to copy template files locally.'; $content[] = '<pre>' . implode("\n", $files) . '</pre>'; } $content[] = '+ Suggestion table import successful'; $content[] = '<pre> 1.3.0 Changes ------------- + Added ability to for anonymous users to make event suggestions. + Fixed some issues with javascript disabled users unable to make events. + First public schedule is made the default on creation. </pre>'; } case version_compare($version, '1.4.0', '<'): $content[] = "<pre>1.4.0 Changes\n-------------"; $files = array('templates/admin/settings.tpl', 'conf/config.php'); if (PHPWS_Boost::updateFiles($files, 'calendar')) { $content[] = '+ Successfully copied these files locally:'; } else { $content[] = '+ Could not copy these files locally:'; } $content[] = ' ' . implode("\n ", $files); $content[] = '+ Bug #1648965. Clicking Day or Week from grid view pulls correct day + Changed "Today" link to view appropiate description to prevent confusion + Changed time defaults to %p to work with more installs + If start date is greater than end date, the event will be saved to the save day. + Bug #1648963. Fixed mini month not showing days with events. + Made event count linkable in grid view + Labeled some permissions "unrestricted only" + Added permissions checks for editing and deleting + Created checkPermissions function in schedule class to simplify code + Removed commented legacy code from Schedule.php + Added missing suggestion tables to install and uninstall + Fixed caching logic + Fixed default schedule loading in Calendar class + Fixed inability to create more than one schedule + Added option to disable month view caching + Caching now works on public calendars only. + Added translate functions. + Updated message translation files.</pre>'; case version_compare($version, '1.4.1', '<'): $content[] = "<pre>1.4.1 Changes\n-------------"; $files = array('templates/admin/forms/edit_event.tpl', 'javascript/check_date/head.js'); if (PHPWS_Boost::updateFiles($files, 'calendar')) { $content[] = '+ Successfully updated the following files:'; } else { $content[] = '+ Unable to update the following files:'; } $content[] = ' ' . implode("\n ", $files); $content[] = '+ Made noon the default time for new events. + Fixed Daylight Saving Time breaking repeats. + Delete event links made secure. + Days made linkable in month list view. + Added a sync dates button on the edit event form.'; case version_compare($version, '1.5.0', '<'): $db = new PHPWS_DB('calendar_schedule'); $result = $db->addTableColumn('show_upcoming', 'SMALLINT NOT NULL DEFAULT 0'); if (PHPWS_Error::logIfError($result)) { $content[] = '--- Could not create show_upcoming column in calendar_schedule table.'; return false; } $content[] = '<pre>'; $files = array('img/calendar.png', 'conf/config.php', 'templates/admin/forms/edit_schedule.tpl', 'templates/style.css', 'templates/view/upcoming.tpl'); if (PHPWS_Boost::updateFiles($files, 'calendar')) { $content[] = '-- Successfully updated the following files:'; } else { $content[] = '-- Unable to update the following files:'; } $content[] = ' ' . implode("\n ", $files); $content[] = ' 1.5.0 Changes --------------------- + Can now choose to show upcoming events. + Removed schedule created message when using javascript popup + Moved getEvents function in the Schedule class + Increase calendar event form\'s popup height + Reformated schedule form + Bug # 1699659 - Calendar will not show "Add Event" link if a schedule has not been created. Instead, the "Create schedule" link will appear. + Updated language format </pre>'; case version_compare($version, '1.5.1', '<'): $db = new PHPWS_DB('calendar_schedule'); if (!$db->isTableColumn('show_upcoming')) { $result = $db->addTableColumn('show_upcoming', 'SMALLINT NOT NULL DEFAULT 0'); if (PHPWS_Error::logIfError($result)) { $content[] = '--- Could not create show_upcoming column in calendar_schedule table.</pre>'; return false; } } $content[] = '<pre>'; $files = array('conf/config.php', 'templates/view/month/list.tpl', 'templates/view/day.tpl', 'templates/view/week.tpl'); if (PHPWS_Boost::updateFiles($files, 'calendar')) { $content[] = '-- Successfully updated the following files:'; } else { $content[] = '-- Unable to update the following files:'; } $content[] = ' ' . implode("\n ", $files); $content[] = ' 1.5.1 Changes --------------------- + 1.5.0 installations sql import was missing the show_upcoming column. + Added define to prevent day month year printing on same day events. + "Add event" links added to some views. + Changed the default hour format to "I" (eye) from l (ell) in config.php. Some php configurations do not recognize it. </pre>'; case version_compare($version, '1.5.2', '<'): $content[] = '<pre>'; calendarUpdateFiles(array('templates/style.css'), $content); $content[] = '1.5.2 changes ----------- + Removed calendar colors that matched default theme. + Added Spanish translation.</pre>'; case version_compare($version, '1.5.3', '<'): $content[] = '<pre>'; calendarUpdateFiles(array('templates/style.css'), $content); $content[] = '1.5.3 change ----------- + Fixed issues with js_calendar.</pre>'; case version_compare($version, '1.6.0', '<'): $content[] = '<pre>'; $files = array('templates/style.css', 'templates/admin/forms/blog.tpl', 'templates/admin/settings.tpl', 'templates/view/day.tpl', 'templates/view/event.tpl', 'templates/view/month/grid.tpl', 'templates/view/month/list.tpl'); calendarUpdateFiles($files, $content); $content[] = '1.6.0 changes ------------------- + Month grid view can be set to show events + Calendar events can be posted in the blog + Paragraph tag around day message + Fixed comment in event tpl preventing bar from disappearing in user mode + Removed extra message tag from month list view. + Applied patch #1813081 from aDarkling</pre>'; case version_compare($version, '1.6.1', '<'): $content[] = '<pre> 1.6.1 changes ------------- + Fixed call to absent function in Event.php</pre>'; case version_compare($version, '1.6.2', '<'): $content[] = '<pre>'; calendarUpdateFiles(array('conf/config.php', 'javascript/check_date/head.js'), $content); $content[] = '1.6.2 changes ------------- + Added a upcoming date format + Fixed: Day view doesn\'t allow you to add an event until you create a schedule. + Deleting the default public calendar resets the selection. + Fixed: Bug #1879356 - Events spanning multiple days do not autocorrect time. </pre>'; case version_compare($version, '1.6.3', '<'): $content[] = '<pre>1.6.3 changes ------------- + Added missing repeatYearly function.</pre>'; case version_compare($version, '1.6.4', '<'): $content[] = '<pre>'; calendarUpdateFiles(array('templates/admin/schedules.tpl'), $content); $content[] = '1.6.4 changes ------------- + Added missing pager navigation tags to schedule listing.</pre>'; case version_compare($version, '1.7.0', '<'): $db = new PHPWS_DB('calendar_schedule'); $db->addColumn('id'); $schedules = $db->select('col'); if (!empty($schedules)) { foreach ($schedules as $id) { $event_db = new PHPWS_DB('calendar_event_' . $id); $event_db->addColumn('key_id'); $keys = $event_db->select('col'); if (!empty($keys)) { $key_db = new PHPWS_DB('phpws_key'); $key_db->addWhere('id', $keys); $key_db->addValue('item_name', 'event' . $id); PHPWS_Error::logIfError($key_db->update()); } } } $content[] = '<pre>'; $files = array('img/', 'templates/admin/schedules.tpl', 'templates/view/month/grid.tpl', 'templates/view/month/list.tpl', 'templates/view/day.tpl', 'templates/view/event.tpl', 'templates/view/week.tpl', 'templates/ical.tpl', 'templates/style.css', 'templates/upload.tpl', 'templates/admin/settings.tpl'); calendarUpdateFiles($files, $content); $content[] = '1.7.0 changes ------------- + Added ability to hide the mini grid calendar. + Increased edit event popup default size. + Moved some frequent functions closer to top of switch + Added ability to upload and download events using iCal format + Fixed: Calendar was saving all events from all schedules using the same item name. + Deleting a schedule will remove event keys as well. + Deleting an event clears the cache to prevent ghosts in grid view. + If a non existing event is accessed, calendar forwards to day view instead of 404. + Added check that removes the default public calendar if it is changed to private. + Fixed events showing on multiple schedules. + php 5 formatted. </pre>'; case version_compare($version, '1.7.1', '<'): $content[] = '<pre>'; $files = array('templates/admin/settings.tpl'); calendarUpdateFiles($files, $content); $content[] = '1.7.1 changes ------------------ + Added option to enable rel="nofollow" on date links</pre>'; case version_compare($version, '1.7.2', '<'): $content[] = '<pre>1.7.2 changes ------------------ + Fixed event ical download</pre>'; case version_compare($version, '1.7.3', '<'): $content[] = '<pre>1.7.3 changes ------------------ + Fixed empty events check in Upcoming Events + PHP 5 strict fixes.</pre>'; case version_compare($version, '1.7.4', '<'): $content[] = '<pre>1.7.4 changes ------------------ + RSS added.</pre>'; case version_compare($version, '1.7.5', '<'): $content[] = '<pre>1.7.5 changes ------------------ + Added an explicit require for Time.php in Calendar, in an attempt to move off of the older autoload</pre>'; case version_compare($version, '1.7.6', '<'): $content[] = '<pre>1.7.6 changes ------------------ + Bootstrap styling added + Updated Font Awesome icons + Fixed schedule select with last Form updates + Fixed users not seeing public calendars </pre>'; case version_compare($version, '1.8.0', '<'): $content[] = <<<EOF <pre>1.8.0 ------------- + Added END_TIME_HOUR, END_TIME_MONTH, and END_TIME_YEAR template tags to the event view. + Added Bootstrap icons and navigation buttons. + Administrative forms switched over to modal windows. + Using new datetimepicker javascript.</pre> EOF; case version_compare($version, '1.8.1', '<'): $content[] = <<<EOF <pre>1.8.1 ------------- + Rolled back array call specific to PHP 5.4. + Increased specificity of .date-label CSS class. </pre> EOF; } // end of switch return true; }
public function create_core() { $db = new PHPWS_DB(); $loaddb = \PHPWS_DB::loadDB($this->getDSN(), $this->dbprefix); if (PHPWS_Error::isError($loaddb)) { return $loaddb; } $result = $db->importFile(PHPWS_SOURCE_DIR . 'core/boost/install.sql'); if ($result == TRUE) { $db->setTable('core_version'); include PHPWS_SOURCE_DIR . 'core/boost/boost.php'; $db->addValue('version', $version); $result = $db->insert(); if (PHPWS_Error::isError($result)) { PHPWS_Error::log($result); return $result; } Branch::loadHubDB(); return true; } else { Branch::loadHubDB(); return $result; } }
/** * Updated: 19 Feb 2010 * Boost used to allow pausing for entering information. This was removed. * @param $inBoost * @param $inBranch * @param $home_dir * @return unknown_type */ public function install($inBoost = true, $inBranch = false, $home_dir = NULL) { $content = array(); $dir_content = array(); if ($inBranch && !empty($home_dir)) { $GLOBALS['boost_branch_dir'] = $home_dir; } if (!$this->checkDirectories($dir_content, null, false)) { return implode('<br />', $dir_content); } if (!$this->isModules()) { return PHPWS_Error::get(BOOST_NO_MODULES_SET, 'boost', 'install'); } $last_mod = end($this->modules); foreach ($this->modules as $title => $mod) { $title = trim($title); if ($this->getStatus($title) == BOOST_DONE) { continue; } if ($this->getCurrent() != $title && $this->getStatus($title) == BOOST_NEW) { $this->setCurrent($title); $this->setStatus($title, BOOST_START); } $content[] = dgettext('boost', 'Installing') . ' - ' . $mod->getProperName(); if ($this->getStatus($title) == BOOST_START && $mod->isImportSQL()) { $content[] = dgettext('boost', 'Importing SQL install file.'); $db = new PHPWS_DB(); $result = $db->importFile($mod->getDirectory() . 'boost/install.sql'); if (PHPWS_Error::isError($result)) { PHPWS_Error::log($result); $this->addLog($title, dgettext('boost', 'Database import failed.')); $content[] = dgettext('boost', 'An import error occurred.'); $content[] = dgettext('boost', 'Check your logs for more information.'); return implode('<br />', $content) . '<br />' . implode('<br />', $content); } else { $content[] = dgettext('boost', 'Import successful.'); } } try { $result = $this->onInstall($mod, $content); if ($result === true) { $this->setStatus($title, BOOST_DONE); $this->createDirectories($mod, $content, $home_dir); $this->registerModule($mod, $content); $continue = true; } elseif ($result === -1) { // No installation file (install.php) was found. $this->setStatus($title, BOOST_DONE); $this->createDirectories($mod, $content, $home_dir); $this->registerModule($mod, $content); $continue = true; } elseif (PHPWS_Error::isError($result)) { $content[] = dgettext('boost', 'There was a problem in the installation file:'); $content[] = '<b>' . $result->getMessage() . '</b>'; $content[] = '<br />'; PHPWS_Error::log($result); $continue = false; } } catch (\Exception $e) { $content[] = implode('<br />', $content); $content[] = dgettext('boost', 'There was a problem in the installation file:'); $content[] = '<b>' . $e->getMessage() . '</b>'; $content[] = '<br />'; \Error::log($e); $continue = false; } // in case install changes translate directory } if ($last_mod->title == $title) { // H0120 $content[] = dgettext('boost', 'Installation complete!'); $this->addLog($title, str_replace("\n\n\n", "\n", implode("\n", str_replace('<br />', "\n", $content)))); } return implode('<br />', $content); }
/** * @author Matthew McNaney * @version $Id$ */ function filecabinet_update(&$content, $version) { $home_dir = PHPWS_Boost::getHomeDir(); switch ($version) { case version_compare($version, '1.0.1', '<'): $content[] = '<pre>File Cabinet versions prior to 1.0.1 are not supported. Please download version 1.0.2.</pre>'; break; case version_compare($version, '1.0.2', '<'): $content[] = '<pre>'; $db = new PHPWS_DB('folders'); if (!$db->isTableColumn('key_id')) { if (PHPWS_Error::logIfError($db->addTableColumn('key_id', 'int NOT NULL default 0'))) { $content[] = '--- An error occurred when trying to add key_id as a column to the folders table.</pre>'; return false; } $content[] = '--- Successfully added key_id column to folders table.'; $db2 = new PHPWS_DB('phpws_key'); $db2->addWhere('module', 'filecabinet'); $db2->delete(); $content[] = '--- Deleted false folder keys.'; $db->reset(); PHPWS_Core::initModClass('filecabinet', 'Folder.php'); $result = $db->getObjects('Folder'); if (!empty($result)) { foreach ($result as $folder) { $folder->saveKey(true); } } } $content[] = ' 1.0.2 changes -------------- + 1.0.0 update was missing key_id column addition to folders table. </pre>'; case version_compare($version, '1.1.0', '<'): $content[] = '<pre>'; if (!checkMultimediaDir($content, $home_dir)) { return false; } if (!is_dir($home_dir . 'files/filecabinet/incoming')) { if (is_writable($home_dir . 'files/filecabinet') && @mkdir($home_dir . 'files/filecabinet/incoming')) { $content[] = '--- "files/filecabinet/incoming" directory created.'; } else { $content[] = 'File Cabinet 1.1.0 is unable to create a "filecabinet/incoming" directory. It is not required but if you want to classify files you will need to create it yourself. Example: mkdir phpwebsite/files/filecabinet/incoming/</pre>'; return false; } } $source_dir = PHPWS_SOURCE_DIR . 'mod/filecabinet/templates/filters/'; $dest_dir = $home_dir . 'templates/filecabinet/filters/'; if (!is_dir($dest_dir)) { if (!PHPWS_File::copy_directory($source_dir, $dest_dir)) { $content[] = '--- FAILED copying templates/filters/ directory locally.</pre>'; return false; } } $files = array('templates/manager/pick.tpl', 'templates/classify_file.tpl', 'templates/classify_list.tpl', 'templates/image_edit.tpl', 'templates/multimedia_edit.tpl', 'templates/multimedia_grid.tpl', 'templates/style.css', 'templates/settings.tpl', 'conf/config.php'); if (PHPWS_Boost::updateFiles($files, 'filecabinet')) { $content[] = '--- Copied the following files:'; } else { $content[] = '--- FAILED copying the following files:'; } $content[] = " " . implode("\n ", $files); $db = new PHPWS_DB('images'); if (!$db->isTableColumn('parent_id')) { if (PHPWS_Error::logIfError($db->addTableColumn('parent_id', 'int NOT NULL default 0'))) { $content[] = 'Could not create parent_id column in images table.</pre>'; return false; } } if (!$db->isTableColumn('url')) { if (PHPWS_Error::logIfError($db->addTableColumn('url', 'varchar(255) NULL'))) { $content[] = 'Could not create url column in images table.</pre>'; return false; } } if (!PHPWS_DB::isTable('multimedia')) { $result = PHPWS_DB::importFile(PHPWS_SOURCE_DIR . 'mod/filecabinet/boost/multimedia.sql'); if (!PHPWS_Error::logIfError($result)) { $content[] = '--- Multimedia table created successfully.'; } else { $content[] = '--- Failed to create multimedia table.</pre>'; return false; } } $content[] = ' 1.1.0 changes -------------- + Fixed authorized check when unpinning folders + Images can now be linked to other pages. + Resized images can now be linked to their parent image. + Clip option moved outside edit_folder permissions when viewing images. + Added writable directory check before allowing new folders to be created. + Fixed some error messages in File_Common. + Commented out ext variable in File_Common. Doesn\'t appear to be in use. + Created setDirectory function for File_Common. Assures trailing forward slash on directory name. + Removed itemname variable from Document_Manager + Added ability to classify uploaded files. + New folder class - Multimedia + Multimedia files can be clipped and pasted via SmartTags. </pre> '; case version_compare($version, '1.2.0', '<'): $content[] = '<pre>'; $files = array('img/no_image.png', 'conf/config.php', 'conf/video_types.php', 'conf/embedded.php', 'javascript/folder_contents/head.js', 'javascript/clear_image/head.js', 'javascript/clear_image/body.js', 'javascript/pick_image/head.js', 'templates/image_folders.tpl', 'templates/settings.tpl', 'templates/style.css', 'templates/image_view.tpl', 'templates/multimedia_view.tpl', 'templates/style.css', 'img/video_generic.png', 'templates/image_edit.tpl', 'conf/error.php'); fc_updatefiles($files, $content); if (!PHPWS_Boost::inBranch()) { $content[] = file_get_contents(PHPWS_SOURCE_DIR . 'mod/filecabinet/boost/changes/1_2_0.txt'); } $content[] = '</pre>'; case version_compare($version, '1.2.1', '<'): $content[] = '<pre>'; if (!PHPWS_DB::isTable('filecabinet_pins')) { $db = new PHPWS_DB('filecabinet_pins'); $db->addValue('key_id', 'int not null default 0'); $db->addValue('folder_id', 'int not null default 0'); if (PHPWS_Error::logIfError($db->createTable())) { $content[] = 'Failed to create filecabinet_pins table.</pre>'; return false; } $content[] = '--- Created filecabinet_pins table.'; } $files = array('templates/settings.tpl'); fc_updatefiles($files, $content); if (!PHPWS_Boost::inBranch()) { $content[] = file_get_contents(PHPWS_SOURCE_DIR . 'mod/filecabinet/boost/changes/1_2_1.txt'); } $content[] = '</pre>'; case version_compare($version, '1.2.2', '<'): $content[] = '<pre>'; $files = array('templates/image_edit.tpl'); fc_updatefiles($files, $content); if (!PHPWS_Boost::inBranch()) { $content[] = file_get_contents(PHPWS_SOURCE_DIR . 'mod/filecabinet/boost/changes/1_2_2.txt'); } $content[] = '</pre>'; case version_compare($version, '1.3.0', '<'): $content[] = '<pre>'; $db = new PHPWS_DB('folders'); if (!$db->isTableColumn('module_created')) { if (PHPWS_Error::logIfError($db->addTableColumn('module_created', 'varchar(40) default null'))) { $content[] = '--- Could not create column module_created on folders table.</pre>'; return false; } else { $content[] = '--- Created module_created column on folders table.'; } } $db = new PHPWS_DB('multimedia'); $result = $db->addTableColumn('thumbnail', 'varchar(255) not null'); if (PHPWS_Error::logIfError($result)) { $content[] = '--- Unable to add thumbnail column to multimedia table.</pre>'; return false; } else { $content[] = '--- Added thumbnail column to multimedia table.'; } $s1 = PHPWS_SOURCE_DIR . 'mod/filecabinet/templates/filters/flash/'; $d1 = $home_dir . 'templates/filecabinet/filters/flash/'; $s2 = PHPWS_SOURCE_DIR . 'mod/filecabinet/img/icons/'; $d2 = $home_dir . 'images/mod/filecabinet/icons/'; if (PHPWS_File::copy_directory($s1, $d1)) { $content[] = "--- Successfully copied {$s1} to {$d1}"; } else { $content[] = "--- Failed to copy {$s1} to {$d1}</pre>"; return false; } if (PHPWS_File::copy_directory($s2, $d2)) { $content[] = "--- Successfully copied {$s2} to {$d2}"; } else { $content[] = "--- Failed to copy {$s2} to {$d2}</pre>"; return false; } $content[] = ''; $files = array('conf/error.php', 'conf/config.php', 'templates/filters/flash.tpl', 'templates/file_list.tpl', 'templates/multimedia_edit.tpl', 'templates/settings.tpl', 'templates/style.css', 'templates/thumbnail.tpl', 'templates/image_edit.tpl', 'javascript/pick_image/head.js', 'templates/folder_list.tpl', 'templates/manager/pick.tpl', 'img/delete.png'); fc_updatefiles($files, $content); if (!PHPWS_Boost::inBranch()) { $content[] = file_get_contents(PHPWS_SOURCE_DIR . 'mod/filecabinet/boost/changes/1_3_0.txt'); } $content[] = '</pre>'; case version_compare($version, '1.4.0', '<'): $content[] = '<pre>'; $files = array('javascript/folder_contents/head.js', 'javascript/folder_contents/scripts.js', 'javascript/pick_image/head.js', 'javascript/pick_image/scripts.js', 'javascript/clear_image/body.js', 'javascript/clear_image/head.js', 'templates/style.css', 'templates/settings.tpl'); fc_updatefiles($files, $content); if (!PHPWS_Boost::inBranch()) { $content[] = file_get_contents(PHPWS_SOURCE_DIR . 'mod/filecabinet/boost/changes/1_4_0.txt'); } $content[] = '</pre>'; case version_compare($version, '1.4.1', '<'): $content[] = '<pre>'; $db = new PHPWS_DB('folders'); if (!$db->isTableColumn('module_created')) { if (PHPWS_Error::logIfError($db->addTableColumn('module_created', 'varchar(40) default null'))) { $content[] = '--- Could not create column module_created on folders table.</pre>'; return false; } else { $content[] = '--- Created module_created column on folders table.'; } } $content[] = '1.4.1 changes -------------- + module_created column missing from > 1.3.0 install. </pre>'; case version_compare($version, '1.4.2', '<'): $content[] = '<pre> 1.4.2 changes -------------- + Removed test echo 1 + moved all defines to one file. </pre>'; case version_compare($version, '2.0.0', '<'): $content[] = '<pre>'; if (PHPWS_File::copy_directory(PHPWS_SOURCE_DIR . 'mod/filecabinet/templates/', $home_dir . 'templates/filecabinet/')) { $content[] = '--- Copied complete templates directory.'; } else { $content[] = '--- Could not copy complete templates directory. Use revert or copy manually.'; } if (PHPWS_File::copy_directory(PHPWS_SOURCE_DIR . 'mod/filecabinet/img/', $home_dir . 'images/mod/filecabinet/')) { $content[] = '--- Copied complete images directory.'; } else { $content[] = '--- Could not copy complete images directory. Use revert or copy manually.'; } if (PHPWS_File::copy_directory(PHPWS_SOURCE_DIR . 'mod/filecabinet/conf/', $home_dir . 'config/filecabinet/')) { $content[] = '--- Copied complete configuration directory.'; } else { $content[] = '--- Could not copy complete configuration directory. Use revert or copy manually.'; } if (PHPWS_File::copy_directory(PHPWS_SOURCE_DIR . 'mod/filecabinet/javascript/', $home_dir . 'javascript/modules/filecabinet/')) { $content[] = '--- Copied complete javascript directory.'; } else { $content[] = '--- Could not copy complete javascript directory. Use revert or copy manually.'; } if (!PHPWS_DB::isTable('fc_convert')) { $result = PHPWS_DB::importFile(PHPWS_SOURCE_DIR . 'mod/filecabinet/boost/fc_convert.sql'); if (!PHPWS_Error::logIfError($result)) { $content[] = '--- File conversion table created successfully.'; } else { $content[] = '--- Failed to create File conversion table.</pre>'; return false; } } if (!PHPWS_DB::isTable('fc_file_assoc')) { $result = PHPWS_DB::importFile(PHPWS_SOURCE_DIR . 'mod/filecabinet/boost/file_assoc.sql'); if (!PHPWS_Error::logIfError($result)) { $content[] = '--- File assoc table created successfully.'; } else { $content[] = '--- Failed to create File assoc table.</pre>'; return false; } } $db = new PHPWS_DB('multimedia'); if (!$db->isTableColumn('duration')) { if (PHPWS_Error::logIfError($db->addTableColumn('duration', 'int not null default 0'))) { $content[] = '--- Failed to create duration column on multimedia table.</pre>'; return false; } else { $content[] = '--- Created duration column on multimedia table.'; } } if (!$db->isTableColumn('embedded')) { if (PHPWS_Error::logIfError($db->addTableColumn('embedded', 'smallint not null default 0'))) { $content[] = 'Failed to create embedded column on multimedia table.</pre>'; return false; } else { $content[] = '--- Created embedded column on multimedia table.'; } } PHPWS_Core::initModClass('filecabinet', 'Multimedia.php'); $result = $db->getObjects('PHPWS_Multimedia'); if ($result) { foreach ($result as $mm) { $mm->loadDimensions(); PHPWS_Error::logIfError($mm->save()); } } $content[] = '--- Durations added to multimedia files.'; fc_update_parent_links(); if (!checkMultimediaDir($content, $home_dir)) { return false; } if (!PHPWS_Boost::inBranch()) { $content[] = file_get_contents(PHPWS_SOURCE_DIR . 'mod/filecabinet/boost/changes/2_0_0.txt'); } $content[] = '</pre>'; case version_compare($version, '2.0.1', '<'): $content[] = '<pre>2.0.1 changes ------------- + Updated youTube import. + Removed unused code.</pre>'; case version_compare($version, '2.1.0', '<'): $content[] = '<pre>'; $files = array('templates/image_view.tpl', 'templates/settings.tpl', 'javascript/pick_file/head.js', 'javascript/pick_file/scripts.js', 'javascript/update_file/head.js', 'templates/file_manager/placeholder.tpl', 'templates/document_edit.tpl', 'templates/image_edit.tpl', 'templates/multimedia_edit.tpl', 'templates/edit_folder.tpl', 'templates/embed_edit.tpl', 'templates/style.css', 'templates/file_manager/folder_content_view.tpl', 'templates/file_manager/resize.tpl'); fc_updatefiles($files, $content); $db = new PHPWS_DB('folders'); $db->begin(); if (PHPWS_Error::logIfError($db->addTableColumn('max_image_dimension', 'smallint not null default 0'))) { $content[] = '--- Unable to add max_image_dimension column to folders table.'; $db->rollback(); return false; } else { $content[] = '--- Added max_image_dimension column to folders table.'; } $db = new PHPWS_DB('fc_file_assoc'); if (PHPWS_Error::logIfError($db->addTableColumn('width', 'smallint NOT NULL default 0'))) { $content[] = '--- Unable to add width column to fc_file_assoc.'; $db->rollback(); return false; } else { $content[] = '--- Added width column to fc_file_assoc table'; } if (PHPWS_Error::logIfError($db->addTableColumn('height', 'smallint NOT NULL default 0'))) { $content[] = '--- Unable to add height column to fc_file_assoc.'; $db->rollback(); return false; } else { $content[] = '--- Added height column to fc_file_assoc table'; } if (PHPWS_Error::logIfError($db->addTableColumn('cropped', 'smallint NOT NULL default 0'))) { $content[] = '--- Unable to add cropped column to fc_file_assoc.'; $db->rollback(); return false; } else { $content[] = '--- Added cropped column to fc_file_assoc table'; } $db->commit(); if (!PHPWS_Boost::inBranch()) { $content[] = file_get_contents(PHPWS_SOURCE_DIR . 'mod/filecabinet/boost/changes/2_1_0.txt'); } $content[] = '</pre>'; case version_compare($version, '2.2.0', '<'): $content[] = '<pre>'; $db = new PHPWS_DB('fc_file_assoc'); if (PHPWS_Error::logIfError($db->addTableColumn('vertical', 'smallint not null default 0'))) { $content[] = 'Unable to create vertical column in fc_file_assoc table.'; return false; } if (PHPWS_Error::logIfError($db->addTableColumn('num_visible', 'smallint not null default 3'))) { $content[] = 'Unable to create num_visible column in fc_file_assoc table.'; return false; } $db->dropTableColumn('cropped'); $db = new PHPWS_DB('modules'); $db->addWhere('title', 'filecabinet'); $db->addValue('unregister', 1); PHPWS_Error::logIfError($db->update()); $content[] = 'Unregister flag set in modules table.'; $files = array('javascript/jcaro_lite/', 'javascript/shutter/', 'javascript/pick_file/', 'javascript/update_file/head.js', 'javascript/update_file/default.php', 'javascript/clear_file/body.js', 'javascript/clear_file/head.js', 'javascript/clear_file/default.php', 'templates/image_view.tpl', 'templates/carousel_horz.tpl', 'templates/carousel_vert.tpl', 'templates/classify_list.tpl', 'templates/ss_box.tpl', 'templates/file_manager/carousel_pick.tpl', 'templates/file_manager/folder_content_view.tpl', 'templates/settings.tpl', 'templates/style.css', 'templates/file_list.tpl', 'templates/folder_list.tpl', 'templates/pinned.tpl', 'img/add.png', 'img/arrow_left.png', 'img/arrow_right.png', 'conf/icons.php', 'conf/config.php'); fc_updatefiles($files, $content); if (!PHPWS_Boost::inBranch()) { $content[] = file_get_contents(PHPWS_SOURCE_DIR . 'mod/filecabinet/boost/changes/2_2_0.txt'); } case version_compare($version, '2.2.1', '<'): $content[] = '<pre> 2.2.1 changes ----------------------- + Fixed folder deletion. + Clipped documents and images now have full pathing. + Fixed document smarttag</pre>'; case version_compare($version, '2.2.2', '<'): $content[] = '<pre>'; $files = array('img/mime_types/', 'templates/document_download.tpl', 'templates/file_view.css', 'templates/multi_doc_download.tpl'); fc_updatefiles($files, $content); $content[] = '2.2.2 changes ----------------------- + Fixed edit icon in document view. Needed to be salted. + Added error check to prevent possible divide by zero error. + Resized mime type icons + Changed the document download windows. Simplified. + Fixed image edit link. + Added pptm to known types. + Fixed permission checks on folders.</pre>'; case version_compare($version, '2.2.3', '<'): $content[] = '<pre>2.2.3 changes ----------------------- + Fixed document delete link</pre>'; case version_compare($version, '2.2.4', '<'): $content[] = '<pre>'; $files = array('templates/fckeditor.tpl', 'templates/fckdocuments.tpl', 'templates/fck.css', 'templates/fckimages.tpl', 'templates/fckfolders.tpl', 'templates/folder_list.tpl', 'templates/settings.tpl', 'img/folder.gif', 'javascript/fckeditor/'); fc_updatefiles($files, $content); $content[] = '2.2.4 changes ----------------------- + Error checking added to document upload. + Fixed multimedia folder pager. + Added method for fixing document directories. + Added file search to folder pager. + Added File Cabinet FCKeditor interaction. + Cleaned up so interface issues. </pre>'; case version_compare($version, '2.2.5', '<'): $content[] = '<pre>2.2.5 changes ----------------------- + Fixed bug that displayed error message on document upload. + Proper error message now on document uploaded to unwritable directory + Directory check on unwritable directory prevents upload link</pre>'; case version_compare($version, '2.2.6', '<'): $content[] = '<pre>'; $files = array('javascript/fckeditor/head.js', 'templates/fck.css'); fc_updatefiles($files, $content); $content[] = '2.2.6 changes ----------------------- + Fixed bug with editing Multimedia. + Fixed bug with File Cabinet in FCKeditor not loading folders properly. </pre>'; case version_compare($version, '2.2.7', '<'): $content[] = '<pre>'; $files = array('javascript/fckeditor/head.js', 'templates/filters/media/mediaplayer.swf', 'templates/filters/media/yt.swf'); fc_updatefiles($files, $content); $content[] = '2.2.7 changes ----------------------- + Added trim to ffmpeg file directory + Added description to search for files + Media player updated to latest version. + FCKeditor media insertion had problems with any media other than YouTube embeds. SmartTag for media is displayed instead.</pre>'; case version_compare($version, '2.3.0', '<'): $content[] = '<pre>2.3.0 changes --------------------- + Icon class implemented. + Video player changed to Flowplayer. + Lightbox option for public folders. + Image carousel switched to jcarousel with Lightbox usage. + Updated to work with core updates.</pre>'; case version_compare($version, '2.3.1', '<'): $content[] = '<pre>2.3.1 changes --------------------- + Setting added to allow direct links to documents + Fixed captioned image template</pre>'; case version_compare($version, '2.3.2', '<'): $content[] = '<pre>2.3.2 changes --------------------- + Changing public flag to private on document folders creates .htaccess file preventing world access + Added mp4/m4v to multimedia class. </pre>'; case version_compare($version, '2.4.0', '<'): $content[] = '<pre>2.4.0 changes --------------------- + Heavy ckeditor modifications. + rtmp support added. + Removed FCK code where found. + Minified some scripts. + Failed image upload will now display an error. + Can now add Access shortcut to a document. + Various bug fixes </pre>'; case version_compare($version, '2.4.1', '<'): $content[] = '<pre>2.4.1 changes ----------------------- + Fixed a possible XSS vulnerability discovered by Jakub Galczyk. + Users must have some File Cabinet permission to use the File Manager. </pre>'; case version_compare($version, '2.4.2', '<'): $content[] = '<pre>2.4.2 changes ----------------------- + Added error logging to image resize. </pre>'; case version_compare($version, '2.4.3', '<'): $content[] = '<pre>2.4.3 changes ----------------------- + Added checkbox in Settings to turn off autofloating of images in the ckeditor. </pre>'; case version_compare($version, '2.4.4', '<'): $content[] = '<pre>2.4.4 changes ----------------------- + Removed clipboard functionality. Confused users and was not + Bootstrap icons and styles added. </pre>'; case version_compare($version, '2.5.0', '<'): $content[] = '<pre>2.5.0 changes ----------------------- + img-responsive added to inserted images to work with Bootstrap + removed image widths and heights + Cropping and resizing removed from manager + Manager made larger. + Manager upload header fixed position </pre>'; case version_compare($version, '2.6.0', '<'): $content[] = <<<EOF <pre>2.6.0 changes ---------------- + Removed call to updateTag as it does not work. + Removed calls to Layout Cache (which was removed) + Updated filecabinet to work with ckeditor 4. + Updated ckeditor 4 filecabinet pop up layout. + Thumbnails of uploaded images are not shown. </pre> EOF; case version_compare($version, '2.7.0', '<'): $db = \Database::newDB(); $t1 = $db->addTable('folders'); $t1->addValue('module_created', null); $db->update(); $content[] = <<<EOF <pre>2.7.0 changes ---------------- + Javascript windows replaced with Bootstrap modal dropdowns. + Fixed thumbnail form. + Removed module_created for all folders. </pre> EOF; case version_compare($version, '2.8.0', '<'): $content[] = <<<EOF <pre>2.8.0 changes ---------------- + Rewrote CKEditor interaction with Filecabinet. Images and documents functional, multimedia uploads not complete. </pre> EOF; return true; } }
/** * * @author theFergus <kevin at tux dot appstate dot edu> */ function hms_update(&$content, $currentVersion) { $files = array(); switch ($currentVersion) { case version_compare($currentVersion, '0.1.2', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_1_2.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/student/rlc_signup_form_page2.tmp'; PHPWS_Boost::updateFiles($files, 'hms'); $content[] = _('+ RLC application form template'); $content[] = _('+ RLC application table'); case version_compare($currentVersion, '0.1.3', '<'): $files[] = 'templates/student/rlc_signup_confirmation.tpl'; PHPWS_Boost::updateFiles($files, 'hms'); $content[] = _('+ Complete system for RLC applications'); case version_compare($currentVersion, '0.1.4', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_1_4.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/admin/display_final_rlc_assignments.tpl'; $files[] = 'templates/admin/display_rlc_student_detail_form_questions.tpl'; $files[] = 'templates/admin/make_new_rlc_assignments.tpl'; $files[] = 'templates/admin/make_new_rlc_assignments_summary.tpl'; $files[] = 'templates/admin/display_rlc_student_detail.tpl'; $files[] = 'templates/admin/deadlines.tpl'; PHPWS_Boost::updateFiles($files, 'hms'); $content[] = _('+ RLC administration templates'); $content[] = _('+ Deadline for Questionnaire replaced by deadlines for Profile and Application'); $content[] = _('+ Deadline added for editing applications'); $content[] = _('+ Deadline added for submitting RLC applications'); case version_compare($currentVersion, '0.1.5', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_1_5.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/admin/deadlines.tpl'; $files[] = 'templates/admin/statistics.tpl'; $files[] = 'templates/student/application_search.tpl'; $files[] = 'templates/student/application_search_pager.tpl'; $files[] = 'templates/student/application_search_results.tpl'; $files[] = 'templates/student/contract.tpl'; $files[] = 'templates/student/student_application.tpl'; $files[] = 'templates/student/student_application_combined.tpl'; $files[] = 'templates/student/student_application_redo.tpl'; PHPWS_Boost::updateFiles($files, 'hms'); $content[] = _('+ Fixed RLC deadline bug in deadlines.tpl'); $content[] = _('+ Added Number of People Assigned'); $content[] = _('+ Added Number of Applications Received'); $content[] = _('+ Added Number of Learning Community Applications Received'); $content[] = _('+ Refactored questionnaire references to application'); $content[] = _('+ Added the contract verbage for when a student first logs in'); $content[] = _('+ Completed Housing applications now go straight into the RLC application if the student said they were interested'); $content[] = _('+ Added link to allow students to go to the RLC application on first login as soon as they complete an application'); $content[] = _('+ Added link to the pdf of the contract for students that want to print it out'); case version_compare($currentVersion, '0.1.6', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_1_6.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/admin/maintenance.tpl'; $files[] = 'templates/misc/login.tpl'; PHPWS_Boost::updateFiles($files, 'hms'); $content[] = _('+ Modifying permissions for RLC admins to approve members and assign to rooms'); $content[] = _('+ Added verbage for students to see before they login'); case version_compare($currentVersion, '0.1.7', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_1_7.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/admin/make_new_rlc_assignments_summary.tpl'; $files[] = 'templates/admin/rlc_assignments_page.tpl'; $files[] = 'templates/admin/add_floor.tpl'; $files[] = 'templates/admin/display_room_data.tpl'; $files[] = 'templates/admin/display_hall_data.tpl'; $files[] = 'templates/admin/get_hall_floor_room.tpl'; PHPWS_Boost::updateFiles($files, 'hms'); $content[] = '+ Removed capacity_per_room'; $content[] = '+ Added bedrooms_per_room'; $content[] = '+ Added beds_per_bedroom'; $content[] = '+ Added list of existing halls when adding new halls'; $content[] = '+ Room assignments working - assignments now by bed instead of room'; case version_compare($currentVersion, '0.1.8', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_1_8.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/admin/display_learning_community_data.tpl'; $files[] = 'templates/admin/maintenance.tpl'; $files[] = 'templates/admin/display_hall_data.tpl'; $files[] = 'templates/admin/add_floor.tpl'; $files[] = 'templates/admin/display_floor_data.tpl'; $files[] = 'templates/student/student_application.tpl'; $files[] = 'templates/admin/select_room_for_delete.tpl'; $files[] = 'templates/admin/display_room_data.tpl'; $files[] = 'templates/admin/verify_delete_room.tpl'; $files[] = 'templates/admin/select_floor_for_delete_room.tpl'; $files[] = 'templates/misc/side_thingie.tpl'; PHPWS_Boost::updateFiles($files, 'hms'); $content[] = '+ Added abbreviation and capacity changes to Add RLC template. They now properly save and delete.'; $content[] = '+ Deleting a building now deletes the bedrooms and beds in that building.'; $content[] = '+ Hid Edit Building temporarily. Bedroom/bed maintenance needs to be finished first.'; $content[] = '+ Editing a floor works again. Can not delete/add rooms from floor maintenance, must go through room menu.'; $content[] = '+ Removed gender option from student_application.tpl'; case version_compare($currentVersion, '0.1.9', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_1_9.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/admin/maintenance.tpl'; PHPWS_Boost::updateFiles($files, 'hms'); $content[] = '+ Sync\'d with the current live release.'; case version_compare($currentVersion, '0.1.10', '<'): $files[] = 'templates/admin/assign_floor.tpl'; $files[] = 'templates/admin/bed_and_id.tpl'; $files[] = 'templates/admin/get_hall_floor.tpl'; $files[] = 'templates/admin/maintenance.tpl'; $files[] = 'templates/admin/select_floor_for_edit.tpl'; $files[] = 'templates/admin/select_residence_hall.tpl'; $files[] = 'templates/admin/select_room_for_edit.tpl'; $files[] = 'templates/student/student_application.tpl'; PHPWS_Boost::updateFiles($files, 'hms'); $content[] = '+ Changed templates regarding editing/deleting rooms and floors to be more user friendly'; $content[] = '+ Changed to version 0.1.10 to get all dev sites and production site in sync'; $content[] = '+ Changed HMS_Room so beds are deleted manually instead of through a db object'; $content[] = '+ Added mechanism to handle mass assignment of an entire floor'; $content[] = '+ Added student\'s name and gender to student application template'; $content[] = '+ All locations where usernames are saved have been extended to size 32'; $content[] = '+ All RLC question response lengths have been extended to 2048 characters'; $content[] = '+ WSDL modified to reflect change in Web Services server location'; case version_compare($currentVersion, '0.1.11', '<'): $content[] = '+ Fixed minor glitch where assignment by room range was pulling rooms incorrectly (did not take floor number into account)'; case version_compare($currentVersion, '0.1.12', '<'): $files[] = 'templates/student/contract.tpl'; PHPWS_Boost::updateFiles($files, 'hms'); $content[] = '+ Contract text now shows in a scrollable iframe'; $content[] = '+ PDF of the contract now opens in a new tab/window'; $content[] = '+ Link to Acrobat download, opens in new tab/window'; $content[] = '+ Added link to a FAQ page. We need to make sure there *is* a FAQ page.'; case version_compare($currentVersion, '0.1.13', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_1_13.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/admin/maintenance.tpl'; $files[] = 'templates/admin/bed_and_id.tpl'; $files[] = 'templates/misc/side_thingie.tpl'; $files[] = 'templates/student/profile_form.tpl'; PHPWS_Boost::updateFiles($files, 'hms'); $content[] = '+ Jeremy\'s updates to the side bar and various debugging options'; $content[] = '+ Alphabetization of hall drop-downs'; $content[] = '+ Assign by floor should always show ascending room numbers'; $content[] = '+ Fixed bug in assign by floor that kept *all* assignments from going through'; $content[] = '+ At building creation, all deleteds should be set to 0 instead of NULL'; $content[] = '+ Added mechanism to allow viewing of all available and assigned rooms/beds in a hall'; $content[] = '+ Various bug and syntax fixes by Jeremy'; $content[] = '+ Added meal plan option when assigning by an entire floor'; $content[] = '+ Adjusted color of "optionally skipped" items in side thingie'; $content[] = '+ Added a template for the profile form'; case version_compare($currentVersion, '0.1.14', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_1_14.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/student/profile_form.tpl'; PHPWS_Boost::updateFiles($files, 'hms'); $content[] = '+ Updated profile_form template'; case version_compare($currentVersion, '0.1.15', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_1_15.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/student/student_success_failure_message.tpl'; $files[] = 'templates/admin/deadlines.tpl'; $files[] = 'templates/admin/maintenance.tpl'; $files[] = 'templates/admin/display_final_rlc_assignments.tpl'; $files[] = 'templates/admin/rlc_assignments_pager.tpl'; $files[] = 'templates/admin/make_new_rlc_assignments_summary.tpl'; $files[] = 'templates/student/rlc_application.tpl'; $files[] = 'templates/student/profile_form.tpl'; $files[] = 'templates/student/verify_single_student.tpl'; $files[] = 'templates/admin/get_single_username.tpl'; PHPWS_Boost::updateFiles($files, 'hms'); $content[] = '+ Added success/failure message template'; $content[] = '+ Added unique constraint to user_id column in student profiles.'; $content[] = '+ Added new deadlines (for profiles) to the deadlines page.'; $content[] = '+ Allowed access to RLC assignments on the maintenance page.'; $content[] = '+ Finalized Final RLC Assignments page.'; $content[] = '+ Fixed formatting in the RLC Applicatition assignments pager and the corresponding summary.'; $content[] = '+ Added student viewing of their RLC applications.'; case version_compare($currentVersion, '0.1.16', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_1_16.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/student/profile_form.tpl'; PHPWS_Boost::updateFiles($files, 'hms'); $content[] = '+ Added "writing" column to student_profiles table'; $content[] = '+ Adjusted student profile template for reuse in viewing profiles'; $content[] = '+ jtickle\'s additions for ordering RLC applications'; case version_compare($currentVersion, '0.1.17', '<'): $content[] = '+ Added profile editing!'; case version_compare($currentVersion, '0.1.18', '<'): $files[] = 'templates/admin/maintenance.tpl'; $files[] = 'templates/student/profile_form.tpl'; $files[] = 'templates/profile_search.tpl'; $files[] = 'templates/profile_search_pager.tpl'; $files[] = 'templates/profile_search_results.tpl'; PHPWS_Boost::updateFiles($files, 'hms'); $content[] = '+ Yay for searching by student'; PHPWS_Boost::updateFiles($files, 'hms'); $content[] = '+ Added profile searching!'; $content[] = '+ Added code to prevent duplicate RLC Applications'; $content[] = '+ Improved "Side Thingie" to show roomate status/deadlines'; case version_compare($currentVersion, '0.1.19', '<'): $files[] = 'templates/admin/rlc_assignments_pager.tpl'; $files[] = 'templates/admin/make_new_rlc_assignments.tpl'; $files[] = 'templates/student/show_student_info.tpl'; $files[] = 'templates/admin/maintenance.tpl'; $files[] = 'templates/admin/rlc_roster.tpl'; $files[] = 'templates/admin/rlc_roster_table.tpl'; $files[] = 'templates/admin/search_by_rlc.tpl'; $files[] = 'templates/admin/full_name_gender_email.tpl'; PHPWS_Boost::updateFiles($files, 'hms'); $content[] = '+ Minor improvement to RLC Assignments pager'; $content[] = '+ Yay for searching by student actually working'; $content[] = '+ Yay for searching by RLC =)'; case version_compare($currentVersion, '0.1.21', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_1_21.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/student/rlc_application.tpl'; PHPWS_Boost::updateFiles($files, 'hms'); $content[] = '* Modified some text when viewing a RLC app for less clutter'; $content[] = 'Roommate preference (or assigned roommate) listed in the RLC application export'; $content[] = '+ Added support for an aggregate value in the application'; $content[] = 'Calculating Aggregates...'; $db = new PHPWS_DB('hms_application'); $db->addColumn('id'); $db->addColumn('term_classification'); $db->addColumn('student_status'); $db->addColumn('preferred_bedtime'); $db->addColumn('room_condition'); $result = $db->select(); if (PEAR::isError($result)) { return $result; } /* * The following is weird, and I just wanted to take a few minutes * to explain exactly what the hell is going on here. Any students * in the database at this point have filled out an application but * do not have the aggregate number that is used to autoassign * roommates. What follows generates the appropriate aggregate * number for each student. The aggregate number is a bitmask that * will end up looking like this: * * Bits Meaning * 43 term_classification * 2 student_status * 1 preferred_bedtime * 0 room_condition * * Unfortunately, this code is duplicated in HMS_Application. * Fortunately, this code should only be needed once. */ $i = 0; foreach ($result as $row) { $aggregate = 0; $aggregate |= $row['term_classification'] - 1 << 3; $aggregate |= $row['student_status'] - 1 << 2; $aggregate |= $row['preferred_bedtime'] - 1 << 1; $aggregate |= $row['room_condition'] - 1; $db->reset(); $db->addWhere('id', $row['id']); $db->addValue('aggregate', $aggregate); $result = $db->update(); if (PEAR::isError($result)) { return $result; } $i++; } $content[] = "+ Calculated {$i} aggregates."; case version_compare($currentVersion, '0.1.22', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_1_22.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/admin/display_room_data.tpl'; $files[] = 'templates/student/profile_search_pager.tpl'; PHPWS_Boost::updateFiles($files, 'hms'); $content[] = "* Fixed bug in pagination of student profile results"; $content[] = '** Bug still exists where search values need to be set in $_SESSION'; $content[] = "+ Added 'displayed room number' to room editing"; $content[] = "+ Added 'displayed room number' to the assign by floor/mass assignment page"; $content[] = "+ Fixed bug in assigned RLC members page where address/telephone number were displaying incorrectly or not at all"; case version_compare($currentVersion, '0.1.23', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_1_23.sql'); if (PEAR::isError($result)) { return $result; } $content[] = '+ Increased length of the asu_username field for RLC assignments'; $content[] = '+ Added stateful pagination when assigning people to RLCs'; $content[] = '+ Corrected count when viewing the Learning Community Assignments'; case version_compare($currentVersion, '0.1.24', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_1_24.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/student/show_student_info.tpl'; $files[] = 'templates/admin/add_floor.tpl'; $files[] = 'templates/admin/display_floor_data.tpl'; $files[] = 'templates/admin/display_room_data.tpl'; $files[] = 'templates/admin/display_hall_data.tpl'; $files[] = 'templates/admin/add_room.tpl'; $files[] = 'templates/admin/maintenance.tpl'; PHPWS_Boost::updateFiles($files, 'hms'); $content[] = '+ Added a _deleted_ flag to hms_assignment'; $content[] = '+ Added a timestamp field to hms_assignment'; $content[] = '+ Added a move_student method to move a single student between rooms'; $content[] = '+ Student Housing Application now a link when displaying other student information (results from a search)'; $content[] = '+ Added a flag to hms_room for private rooms'; $content[] = '+ Added a flag to hms_room for ra rooms'; $content[] = '+ Added a flag to hms_room for freshman reserved rooms'; $content[] = '+ Student\'s first, middle and last names now show beside the username at the building overview page of assigned rooms/students'; $content[] = '+ Added method to add a room to a floor'; $content[] = '+ Added pricing tier to the room. Always.'; $content[] = '+ Added roommate status to the student search results.'; case version_compare($currentVersion, '0.1.25', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_1_25.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/admin/full_name_gender_email.tpl'; $files[] = 'templates/admin/rlc_roster_table.tpl'; $files[] = 'templates/admin/maintenance.tpl'; $files[] = 'templates/admin/verify_break_roommates.tpl'; $files[] = 'templates/admin/confirm_remove_from_rlc.tpl'; PHPWS_Boost::updateFiles($files, 'hms'); $content[] = '+ Fixed numerous bugs that arrived with the _deleted_ flag'; $content[] = '+ Added the ability to review RLC Applications after assignment'; $content[] = '+ Fixed error reporting for assigning students to nonexistent rooms'; $content[] = '+ Re-instated the ability to create and break roommates'; $content[] = '+ Auto Assignment'; case version_compare($currentVersion, '0.1.26', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_1_26.sql'); if (PEAR::isError($result)) { return $result; } $content[] = '+ Letters are ready!'; case version_compare($currentVersion, '0.1.27', '<'): $files[] = 'templates/student/show_student_info.tpl'; PHPWS_Boost::updateFiles($files, 'hms'); $content[] = '+ Added ability to change meal plans to student search screen'; case version_compare($currentVersion, '0.1.28', '<'): $files[] = 'templates/admin/display_floor_Data.tpl'; PHPWS_Boost::updateFiles($files, 'hms'); $content[] = '+ Added ability to change movein times per floor'; case version_compare($currentVersion, '0.1.29', '<'): $files[] = 'templates/admin/maintenance.tpl'; $files[] = 'templates/admin/get_hall_floor_room.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); $content[] = '+ OMG BANNER WORKS hopefully'; case version_compare($currentVersion, '0.1.30', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_1_30.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/admin/deadlines.tpl'; $files[] = 'templates/student/main_menu_spring.tpl'; $files[] = 'templates/student/main_menu_fall.tpl'; $files[] = 'templates/student/student_application.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); $content[] = '+ Added check to prevent students selecting themselves as roommates'; $content[] = '+ Added check to make sure a requested roommate has a housing application'; $content[] = '+ Cleaned up main menu, added checks for deadlines for menu options'; $content[] = '+ Fixed colors for messages returned when setting deadlines (UI)'; $content[] = '+ Added entry term to hms_application and rlc application tables'; $content[] = '+ Added entry term to student application'; case version_compare($currentVersion, '0.1.31', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_1_31.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/student/rlc_signup_form_page1.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); $content[] = '+ Added some verbage and a link to the top of the RLC signup form.'; $content[] = '+ Added activity log table'; case version_compare($currentVersion, '0.1.32', '<'): $files[] = 'templates/admin/display_room_data.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); $content[] = '+ Updated edit room template to disallow room gender changes is someone is assigned.'; case version_compare($currentVersion, '0.1.33', '<'): $files[] = 'templates/admin/display_room_data.tpl'; $files[] = 'templates/admin/maintenance.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); case version_compare($currentVersion, '0.2.0', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_2_0.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/admin/maintenance.tpl'; $files[] = 'templates/admin/edit_terms.tpl'; $files[] = 'templates/admin/term_pager.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); $content[] = '+ Added term database and term admin to maintenance panel'; case version_compare($currentVersion, '0.2.1', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_2_1.sql'); if (PEAR::isError($result)) { return $result; } $content[] = '+ Renamed entry_term column in hms_application to term'; case version_compare($currentVersion, '0.2.2', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_2_2.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.2.3', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_2_3.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/admin/edit_terms.tpl'; $files[] = 'templates/admin/add_term.tpl'; $fiels[] = 'maintenance.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); $content[] = '+ Redesigned hall structure'; $content[] = '+ Massive db update for hall structure changes'; $content[] = '+ Seperated add term and edit term pages'; case version_compare($currentVersion, '0.2.4', '<'): $files[] = 'templates/admin/assign_student.tpl'; $files[] = 'templates/admin/unassign_student.tpl'; $files[] = 'templates/admin/maintenance.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); case version_compare($currentVersion, '0.2.5', '<'): $files[] = 'templates/admin/select_residence_hall.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); case version_compare($currentVersion, '0.2.6', '<'): $files[] = 'templates/admin/assign_student_move_confirm.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); case version_compare($currentVersion, '0.2.7', '<'): $files[] = 'templates/admin/maintenance.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); $content[] = '+ Maintenance template was phoned in, now properly updated'; case version_compare($currentVersion, '0.2.8', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_2_8.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/admin/select_room.tpl'; $files[] = 'template/admin/maintenance.tpl'; $files[] = 'templates/admin/edit_room.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); $content[] = '+ Room selection for editing rooms now works'; $content[] = '+ Added Queue system for "offline" editing of assignments'; $content[] = '+ Room editing also works now'; case version_compare($currentVersion, '0.2.9', '<'): $files[] = 'templates/admin/select_room.tpl'; $files[] = 'templates/admin/edit_room.tpl'; $files[] = 'templates/admin/maintenance.tpl'; $files[] = 'template/admin/assignment_pager_by_room.tpl'; $files[] = 'javascript/assign_student/head.js'; $fiels[] = 'javascript/select_room/head.js'; PHPWS_Boost::updatefiles($files, 'hms'); $content[] = '+ Added queue items to Maintenance panel'; $content[] = '+ Removed "move student" link'; $content[] = '+ Added assignment pager to room edit page'; case version_compare($currentVersion, '0.2.10', '<'): $files[] = 'templates/admin/maintenance.tpl'; $files[] = 'templates/admin/edit_room.tpl'; $files[] = 'templates/admin/select_suite.tpl'; $files[] = 'javascript/select_suite/head.js'; $files[] = 'templates/admin/edit_suite.tpl'; $files[] = 'templates/admin/room_pager_by_suite.tpl'; $files[] = 'templates/admin/assignment_pager_by_suite.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); $content[] = '+ Added ability to edit suites.'; $content[] = '+ Fixed "DB Error" in queued assignments'; case version_compare($currentVersion, '0.2.12', '<'): $files[] = 'javascript/autosuggest/autosuggest.js'; $files[] = 'javascript/autosuggest/head.js'; $files[] = 'javascript/autosuggest/zxml.js'; $files[] = '/templates/admin/maintenance.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); $content[] = 'Autoassigner baby!'; $content[] = 'Autocompletion for usernames'; case version_compare($currentVersion, '0.2.13', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_2_13.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/admin/movein_time_pager.tpl'; $files[] = 'templates/admin/edit_movein_time.tpl'; $files[] = 'templates/admin/maintenance.tpl'; $files[] = 'javascript/select_floor/head.js'; $files[] = 'templates/admin/select_floor.js'; $files[] = 'templates/admin/display_floor_data.tpl'; $files[] = 'templates/admin/edit_room.tpl'; $files[] = 'templates/admin/select_room.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); case version_compare($currentVersion, '0.2.14', '<'): $db = new PHPWS_DB(); $result = $db->query('ALTER TABLE hms_floor DROP COLUMN ft_movein;'); if (PEAR::isError($result)) { return $result; } $result = $db->query('ALTER TABLE hms_floor DROP COLUMN c_movein;'); if (PEAR::isError($result)) { return $result; } $result = $db->query('ALTER TABLE hms_floor ADD COLUMN ft_movein_time_id smallint REFERENCES hms_movein_time(id);'); if (PEAR::isError($result)) { return $result; } $result = $db->query('ALTER TABLE hms_floor ADD COLUMN rt_movein_time_id smallint REFERENCES hms_movein_time(id);'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/admin/room_pager_by_floor.tpl'; $files[] = 'templates/admin/edit_floor.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); case version_compare($currentVersion, '0.2.15', '<'): $files[] = 'templates/admin/floor_pager_by_hall.tpl'; $files[] = 'templates/admin/edit_residence_hall.tpl'; $files[] = 'templates/admin/select_residence_hall.tpl'; $files[] = 'templates/admin/maintenance.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); case version_compare($currentVersion, '0.2.16', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_2_16.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/admin/edit_room.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); case version_compare($currentVersion, '0.2.17', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_2_17.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/admin/select_bed.tpl'; $files[] = 'templates/admin/edit_bed.tpl'; $files[] = 'templates/admin/maintenance.tpl'; $files[] = 'javascript/select_bed/head.js'; $files[] = 'templates/admin/bed_pager_by_room.tpl'; $files[] = 'templates/admin/edit_room.tpl'; $files[] = 'javascript/assign_student/head.js'; $files[] = 'templates/admin/assign_student.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); case version_compare($currentVersion, '0.2.18', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_2_18.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/admin/deadlines.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); case version_compare($currentVersion, '0.2.19', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_2_19.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/admin/deadlines.tpl'; $files[] = 'templates/student/freshmen_welcome_screen.tpl'; $files[] = 'templates/student/freshmen_welcome_screen.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); case version_compare($currentVersion, '0.2.20', '<'): $db = new PHPWS_DB(); $result = $db->importFIle(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_2_20.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.2.21', '<'): $db = new PHPWS_DB(); $result = $db->importFIle(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_2_21.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/student/welcome_screen_freshmen.tpl'; $files[] = 'templates/student/welcome_screen_transfer.tpl'; $files[] = 'templates/student/welcome_screen_no_entry_term.tpl'; $files[] = 'templates/student/welcome_screen_deadline_past.tpl'; $files[] = 'templates/student/welcome_screen_non_traditional.tpl'; $files[] = 'templates/student/welcome_screen_too_soon.tpl'; $files[] = 'templates/student/contact_page.tpl'; $files[] = 'templates/student/contact_form_thankyou.tpl'; $files[] = 'templates/student/rlc_signup_form_page1.tpl'; $files[] = 'templates/student/rlc_singup_form_page2.tpl'; $files[] = 'templates/student/rlc_singup_confirmation.tpl'; $files[] = 'templates/student/student_application.tpl'; $files[] = 'templates/student/main_menu_fall.tpl'; $files[] = 'templates/admin/assign_student.tpl'; $files[] = 'templates/admin/deadlines.tpl'; $files[] = 'templates/admin/rlc_assignments_pager.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); case version_compare($currentVersion, '0.2.22', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_2_22.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.2.23', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_2_23.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/student/roommate_accept_reject_form.tpl'; $files[] = 'templates/student/select_roommate.tpl'; $files[] = 'templates/student/requestor_handle_rlc_application.tpl'; $files[] = 'templates/student/select_roommate_confirmation.tpl'; $files[] = 'templates/student/roommate_accept_reject_screen.tpl'; $files[] = 'templates/student/main_menu_fall.tpl'; $files[] = 'templates/student/roommate_accept_done.tpl'; $files[] = 'templates/student/roommate_reject_done.tpl'; $files[] = 'templates/student/requested_roommate_list.tpl'; $files[] = 'templates/student/roommate_accept_confirm.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); case version_compare($currentVersion, '0.2.24', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_2_24.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.2.25', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_2_25.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/admin/edit_floor.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); case version_compare($currentVersion, '0.2.26', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_2_26.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/admin/display_final_rlc_assignments.tpl'; $files[] = 'templates/student/show_student_info.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); case version_compare($currentVersion, '0.2.28', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_2_28.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/admin/term_pager.tpl'; $files[] = 'templates/admin/maintenance.tpl'; PHPWS_Boost::updateFiles($files, 'hms'); case version_compare($currentVersion, '0.2.29', '<'): PHPWS_Boost::registerMyModule('hms', 'users', $content); $files[] = 'templates/admin/permission_denied.tpl'; $files[] = 'templates/admin/maintenance.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); case version_compare($currentVersion, '0.2.30', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_2_30.sql'); if (PEAR::isError($result)) { return $result; } $files[] = 'templates/admin/make_new_rlc_assignments.tpl'; $files[] = 'templates/admin/rlc_assignments_pager.tpl'; $files[] = 'templates/admin/view_by_rlc_pager.tpl'; $files[] = 'templates/admin/rlc_roster.tpl'; $files[] = 'templates/admin/maintenance.tpl'; $files[] = 'templates/admin/log_pager.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); case version_compare($currentVersion, '0.2.31', '<'): PHPWS_Boost::registerMyModule('hms', 'users', $content); // ust need to update the permissions // ust need to update the permissions case version_compare($currentVersion, '0.2.32', '<'): $files[] = 'templates/admin/show_confirmed_roommates.tpl'; $files[] = 'templates/admin/roommate_pager.tpl'; $files[] = 'templates/admin/create_roommate_group.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); case version_compare($currentVersion, '0.2.33', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_2_33.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.2.34', '<'): $files[] = 'templates/admin/display_reports.tpl'; PHPWS_Boost::updateFiles($files, 'hms'); $content[] = 'Added Special Needs report.'; $content[] = 'Reports now better suited for printing.'; case version_compare($currentVersion, '0.2.35', '<'): $files[] = 'templates/admin/statistics.tpl'; PHPWS_Boost::updateFiles($files, 'hms'); $db = new PHPWS_Db(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_2_35.sql'); if (PEAR::isError($result)) { return $result; } $content[] = 'Updated Statistics Template'; $content[] = 'Updated Term Information'; case version_compare($currentVersion, '0.2.36', '<'): $db = new PHPWS_Db(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_2_36.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.2.40', '<'): PHPWS_Boost::registerMyModule('hms', 'users', $content); // ust need to update the permissions // ust need to update the permissions case version_compare($currentVersion, '0.2.41', '<'): $files[] = 'templates/admin/activity_log_pager.tpl'; PHPWS_Boost::updateFiles($files, 'hms'); case version_compare($currentVersion, '0.2.42', '<'): $files[] = 'templates/admin/maintenance.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); $db = new PHPWS_Db(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_2_42.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.2.45', '<'): PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('hms', $content); case version_compare($currentVersion, '0.2.46', '<'): PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('hms', $content); case version_compare($currentVersion, '0.2.49', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_2_49.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.2.50', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_2_50.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.2.51', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_2_51.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.2.52', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_2_52.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.3.0', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_3_0.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.3.1', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_3_1.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.3.2', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_3_2.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.3.3', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_3_3.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.3.5', '<'): PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('hms', $content); case version_compare($currentVersion, '0.3.7', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_3_7.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.3.8', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_3_8.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.3.9', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_3_9.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.3.10', '<'): PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('hms', $content); $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_3_10.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.3.11', '<'): PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('hms', $content); case version_compare($currentVersion, '0.3.13', '<'): PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('hms', $content); $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_3_13.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.3.16', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_3_16.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.3.17', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_3_17.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.3.18', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_3_18.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.3.19', '<'): PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('hms', $content); $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_3_19.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.3.20', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_3_20.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.3.21', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_3_21.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.3.31', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_3_31.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.0', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_0.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.1', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_1.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.2', '<'): PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('hms', $content); $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_2.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.3', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_3.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.4', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_4.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.5', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_5.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.6', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_6.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.7', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_7.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.9', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_9.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.12', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_12.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.13', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_13.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.14', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_14.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.15', '<'): PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('hms', $content); case version_compare($currentVersion, '0.4.18', '<'): PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('hms', $content); case version_compare($currentVersion, '0.4.19', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_19.sql'); if (PEAR::isError($result)) { return $result; } PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('hms', $content); case version_compare($currentVersion, '0.4.22', '<'): $files[] = 'templates/admin/floor_assignment.tpl'; PHPWS_Boost::updatefiles($files, 'hms'); PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('hms', $content); case version_compare($currentVersion, '0.4.23', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_23.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.24', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_24.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.26', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_26.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.28', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_28.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.30', '<'): PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('hms', $content); case version_compare($currentVersion, '0.4.32', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_32.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.33', '<'): PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('hms', $content); $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_33.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.34', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_34.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.35', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_35.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.37', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_37.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.38', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_38.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.39', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_39.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.42', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_42.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.43', '<'): PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('hms', $content); $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_43.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.44', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_44.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.45', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_45.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.47', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_47.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.48', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_48.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.49', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_49.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.50', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_50.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.51', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_51.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.52', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_52.sql'); if (PEAR::isError($result)) { return $result; } Users_Permission::registerPermissions('hms', $content); case version_compare($currentVersion, '0.4.53', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_53.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.55', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_55.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.61', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/0_4_61.sql'); if (PEAR::isError($result)) { return $result; } PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('hms', $content); case version_compare($currentVersion, '0.4.63', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-04-63.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.66', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-04-66.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.67', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-04-67.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.68', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-04-68.sql'); if (PEAR::isError($result)) { return $result; } PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('hms', $content); case version_compare($currentVersion, '0.4.69', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-04-69.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.70', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-04-70.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.71', '<'): PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('hms', $content); case version_compare($currentVersion, '0.4.72', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-04-72.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.73', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-04-73.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.74', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-04-74.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.75', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-04-75.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.77', '<'): PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('hms', $content); case version_compare($currentVersion, '0.4.78', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-04-78.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.79', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-04-79.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.80', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-04-80.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.81', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-04-81.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.82', '<'): PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('hms', $content); case version_compare($currentVersion, '0.4.83', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-04-83.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.84', '<'): PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('hms', $content); case version_compare($currentVersion, '0.4.85', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-04-85.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.86', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-04-86.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.87', '<'): PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('hms', $content); case version_compare($currentVersion, '0.4.88', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-04-88.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.89', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-04-89.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.90', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-04-90.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.91', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-04-91.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.4.92', '<'): PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('hms', $content); $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-04-92.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.5.0', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-05-00.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.5.1', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-05-01.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.5.2', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-05-02.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.5.3', '<'): PHPWS_Core::initCoreClass('Module.php'); $module = new \PHPWS_Module('pulse', false); $pulse_version = $module->getVersion(); if (version_compare($pulse_version, '2.0.0', '<')) { $content[] = '<p style="color:red;font-weight:bold">Pulse needs to be upgraded.</p>'; } $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-05-03.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.5.4', '<'): $content[] = '<pre>Adding hms_hall_structure view.</pre>'; $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-05-04.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.5.5', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-05-05.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.5.6', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/hms/boost/updates/00-05-06.sql'); if (PEAR::isError($result)) { return $result; } } return TRUE; }
/** * * @author Micah Carter <mcarter at tux dot appstate dot edu> * */ function intern_update(&$content, $currentVersion) { switch ($currentVersion) { case version_compare($currentVersion, '0.0.2', '<'): $files = array(); $files[] = 'templates/add_system.tpl'; PHPWS_Boost::updateFiles($files, 'intern'); case version_compare($currentVersion, '0.0.3', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_03.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.0.4', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_04.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.0.6', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_06.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.0.7', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_07.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.0.8', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_08.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.0.9', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_09.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.0.10', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_10.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.0.11', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_11.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.0.12', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_12.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.0.13', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_13.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.0.14', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_14.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.0.15', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_15.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.0.16', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_16.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.0.17', '<'): PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('intern', $content); case version_compare($currentVersion, '0.0.18', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_18.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.0.19', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_19.sql'); test($result); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.0.20', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_20.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.0.21', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_21.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.0.22', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_22.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.0.23', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_23.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.0.24', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_24.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.0.25', '<'): PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('intern', $content); case version_compare($currentVersion, '0.0.26', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_26.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.0.27', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_27.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.0.28', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_28.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.0.29', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_29.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.0.30', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_30.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.0.31', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_31.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.0.32', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_32.sql'); if (PEAR::isError($result)) { return $result; } PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('intern', $content); case version_compare($currentVersion, '0.0.33', '<'): PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('intern', $content); case version_compare($currentVersion, '0.0.35', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_35.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.0.36', '<'): PHPWS_Core::initModClass('users', 'Permission.php'); Users_Permission::registerPermissions('intern', $content); case version_compare($currentVersion, '0.0.37', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_0_0_37.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.1.0', '<'): Users_Permission::registerPermissions('intern', $content); case version_compare($currentVersion, '0.1.1', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_00.01.01.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.1.2', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_00.01.02.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.1.3', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_00.01.03.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.1.4', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_00.01.04.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.1.5', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_00.01.05.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.1.6', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_00.01.06.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.1.7', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_00.01.07.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.1.8', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_00.01.08.sql'); if (PEAR::isError($result)) { return $result; } case version_compare($currentVersion, '0.1.9', '<'): $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/intern/boost/updates/update_00.01.09.sql'); if (PEAR::isError($result)) { return $result; } } return TRUE; }
/** * Description * @author Jeff Tickle <jtickle at tux dot appstate dot edu> */ function analytics_update(&$content, $currentVersion) { switch ($currentVersion) { case version_compare($currentVersion, '1.0.1', '<'): $db = new PHPWS_DB('analytics_tracker'); $result = $db->addTableColumn('disable_if_logged', 'int NOT NULL default 0'); if (PHPWS_Error::logIfError($result)) { $content[] = 'Unable to add disable_if_logged column to analytics_tracker table.'; return false; } $files = array('templates/edit.tpl'); if (PHPWS_Boost::updateFiles($files, 'analytics')) { $content[] = '--- Updated templates/edit.tpl'; } case version_compare($currentVersion, '1.1.0', '<'): // install.sql has been wrong for awhile, this should fix any discrepancies $db = new PHPWS_DB('analytics_tracker'); if (!$db->isTableColumn('disable_if_logged')) { $result = $db->addTableColumn('disable_if_logged', 'int NOT NULL default 0'); if (PHPWS_Error::logIfError($result)) { $content[] = 'Unable to add disable_if_logged column to analytics_tracker table.'; return false; } $content[] = '--- Added disable_if_logged option to database'; } // Load new schema $db = new PHPWS_DB(); $result = $db->importFile(PHPWS_SOURCE_DIR . 'mod/analytics/boost/update/1.1.0.sql'); if (PHPWS_Error::logIfError($result)) { $content[] = 'Unable to import updated schema for version 1.1.0.'; return false; } $content[] = '--- Updated Analytics schema to 1.1.0'; // Move Google Analytics data to its own table $db = new PHPWS_DB('analytics_tracker'); $db->addColumn('id'); $db->addColumn('account'); $db->addWhere('type', 'GoogleAnalyticsTracker'); $result = $db->select(); if (PHPWS_Error::logIfError($result)) { $content[] = 'Unable to select Google Analytics tracker from analytics_tracker table.'; return false; } foreach ($result as $row) { $db = new PHPWS_DB('analytics_tracker_google'); $db->addValue('id', $row['id']); // Adding UA- into the account identifier to reduce confusion $db->addValue('account', 'UA-' . $row['account']); $db->insert(false); $content[] = "--- Migrated Google Analytics configuration for account UA-{$row['account']}"; } $db = new PHPWS_DB('analytics_tracker'); $result = $db->dropTableColumn('account'); if (PHPWS_Error::logIfError($result)) { $content[] = 'Unable to remove account column from analytics_tracker table.'; return false; } $content[] = '--- Completed migration to Analytics 1.1.0 schema'; case version_compare($currentVersion, '1.1.1', '<'): $content[] = <<<EOF <pre>Version 1.1.1 ------------------- + Piwik fix. + Fixed uninstall script </pre> EOF; } return true; }