예제 #1
0
 /**
  * Constructor doing the usual setup things
  */
 private function __construct()
 {
     $this->objDb = class_carrier::getInstance()->getObjDb();
     $this->objSession = class_carrier::getInstance()->getObjSession();
     if (count($this->objDb->getTables()) > 0) {
         $objModule = class_module_system_module::getModuleByName("system");
         if ($objModule !== null && version_compare($objModule->getStrVersion(), "4.3.1") < 0) {
             $this->bitChangelog = false;
         }
     }
 }
예제 #2
0
 private function updateFilemanager()
 {
     echo "Updating filemanager to new mediamanager structure...\n";
     echo "Checking installation state of mediamanager...\n";
     if (!in_array(_dbprefix_ . "filemanager", $this->objDB->getTables())) {
         echo "Filemanager table missing, no update required.\n";
         return true;
     }
     $strOldDefaultImagesRepo = $this->getValueOfSetting("_filemanager_default_imagesrepoid_");
     $strOldDefaultFilesRepo = $this->getValueOfSetting("_filemanager_default_filesrepoid_");
     echo "Migrating old filemanager repos to new mediamanager repos...\n";
     $strQuery = "SELECT * FROM " . _dbprefix_ . "filemanager";
     $arrRows = $this->objDB->getPArray($strQuery, array());
     foreach ($arrRows as $arrOneRow) {
         if (!validateSystemid($arrOneRow["filemanager_foreign_id"])) {
             echo "migrating old repo " . $arrOneRow["filemanager_name"] . "\n";
             echo "  old path: " . $arrOneRow["filemanager_path"] . "\n";
             //convert the path
             $strPath = $this->convertOldPath($arrOneRow["filemanager_path"]);
             echo "  new path: " . $strPath . "\n";
             $objRepo = new class_module_mediamanager_repo();
             $objRepo->setStrPath($strPath);
             $objRepo->setStrTitle($arrOneRow["filemanager_name"]);
             $objRepo->setStrViewFilter($arrOneRow["filemanager_view_filter"]);
             $objRepo->setStrUploadFilter($arrOneRow["filemanager_upload_filter"]);
             $objRepo->updateObjectToDb();
             $objRepo->syncRepo();
             if ($arrOneRow["filemanager_id"] == $strOldDefaultFilesRepo) {
                 $objSetting = class_module_system_setting::getConfigByName("_mediamanager_default_filesrepoid_");
                 $objSetting->setStrValue($objRepo->getSystemid());
                 $objSetting->updateObjectToDb();
                 echo "  setting as default files repo\n";
             }
             if ($arrOneRow["filemanager_id"] == $strOldDefaultImagesRepo) {
                 $objSetting = class_module_system_setting::getConfigByName("_mediamanager_default_imagesrepoid_");
                 $objSetting->setStrValue($objRepo->getSystemid());
                 $objSetting->updateObjectToDb();
                 echo "  setting as default images repo\n";
             }
         }
         echo "  deleting repo from tables\n";
         $strQuery = "DELETE FROM " . _dbprefix_ . "filemanager WHERE filemanager_id = ?";
         $this->objDB->_pQuery($strQuery, array($arrOneRow["filemanager_id"]));
         $this->deleteSystemRecord($arrOneRow["filemanager_id"]);
     }
     echo "Deleting filemanager module...\n";
     $this->removeModule("filemanager");
     $this->objDB->_pQuery("DROP TABLE " . _dbprefix_ . "filemanager", array());
     $this->removeSetting("_filemanager_default_imagesrepoid_");
     $this->removeSetting("_filemanager_default_filesrepoid_");
     $this->removeSetting("_filemanager_foldersize_");
     $this->removeSetting("_filemanager_show_foreign_");
     return true;
 }