public function testFileSync()
 {
     echo "test mediamanager...\n";
     if (class_module_system_module::getModuleByName("samplecontent") == null || !is_file(_realpath_ . "/files/images/samples/IMG_3000.JPG")) {
         return;
     }
     $objFilesystem = new class_filesystem();
     $objFilesystem->folderCreate(_filespath_ . "/images/autotest");
     $objFilesystem->fileCopy(_filespath_ . "/images/samples/IMG_3000.JPG", _filespath_ . "/images/autotest/IMG_3000.jpg");
     $objFilesystem->fileCopy(_filespath_ . "/images/samples/IMG_3000.JPG", _filespath_ . "/images/autotest/IMG_3000.png");
     $objFilesystem->fileCopy(_filespath_ . "/images/samples/IMG_3000.JPG", _filespath_ . "/images/autotest/PA021805.JPG");
     $objFilesystem->fileCopy(_filespath_ . "/images/samples/IMG_3000.JPG", _filespath_ . "/images/autotest/test.txt");
     $objRepo = new class_module_mediamanager_repo();
     $objRepo->setStrPath(_filespath_ . "/images/autotest");
     $objRepo->setStrTitle("autotest repo");
     $objRepo->setStrViewFilter(".jpg,.png");
     $objRepo->updateObjectToDb();
     $objRepo->syncRepo();
     $arrFiles = class_module_mediamanager_file::loadFilesDB($objRepo->getSystemid());
     $this->assertEquals(3, count($arrFiles));
     foreach ($arrFiles as $objOneFile) {
         $objOneFile->deleteObjectFromDatabase();
     }
     $objRepo->deleteObjectFromDatabase();
     $arrFiles = $objFilesystem->getFilelist(_filespath_ . "/images/autotest");
     $this->assertEquals(1, count($arrFiles));
     $this->assertEquals("test.txt", array_values($arrFiles)[0]);
 }
 /**
  * Does the hard work: installs the module and registers needed constants
  *
  * @return string
  */
 public function install()
 {
     $strReturn = "";
     $strReturn .= "Creating picture upload folder\n";
     if (!is_dir(_realpath_ . _filespath_ . "/images/upload")) {
         mkdir(_realpath_ . _filespath_ . "/images/upload", 0777, true);
     }
     $strReturn .= "Creating new picture repository\n";
     $objRepo = new class_module_mediamanager_repo();
     if ($this->strContentLanguage == "de") {
         $objRepo->setStrTitle("Hochgeladene Bilder");
     } else {
         $objRepo->setStrTitle("Picture uploads");
     }
     $objRepo->setStrPath(_filespath_ . "/images/upload");
     $objRepo->setStrUploadFilter(".jpg,.png,.gif,.jpeg");
     $objRepo->setStrViewFilter(".jpg,.png,.gif,.jpeg");
     $objRepo->updateObjectToDb();
     $objRepo->syncRepo();
     $strReturn .= "ID of new repo: " . $objRepo->getSystemid() . "\n";
     $strReturn .= "Setting the repository as the default images repository\n";
     $objSetting = class_module_system_setting::getConfigByName("_mediamanager_default_imagesrepoid_");
     $objSetting->setStrValue($objRepo->getSystemid());
     $objSetting->updateObjectToDb();
     $strReturn .= "Creating file upload folder\n";
     if (!is_dir(_realpath_ . _filespath_ . "/public")) {
         mkdir(_realpath_ . _filespath_ . "/public", 0777, true);
     }
     $strReturn .= "Creating new file repository\n";
     $objRepo = new class_module_mediamanager_repo();
     if ($this->strContentLanguage == "de") {
         $objRepo->setStrTitle("Hochgeladene Dateien");
     } else {
         $objRepo->setStrTitle("File uploads");
     }
     $objRepo->setStrPath(_filespath_ . "/downloads");
     $objRepo->setStrUploadFilter(".zip,.pdf,.txt");
     $objRepo->setStrViewFilter(".zip,.pdf,.txt");
     $objRepo->updateObjectToDb();
     $objRepo->syncRepo();
     $strReturn .= "ID of new repo: " . $objRepo->getSystemid() . "\n";
     $strReturn .= "Setting the repository as the default files repository\n";
     $objSetting = class_module_system_setting::getConfigByName("_mediamanager_default_filesrepoid_");
     $objSetting->setStrValue($objRepo->getSystemid());
     $objSetting->updateObjectToDb();
     return $strReturn;
 }
 public function install()
 {
     $strReturn = "";
     $strReturn .= "Installing table packageserver_log...\n";
     $arrFields = array();
     $arrFields["log_id"] = array("char20", false);
     $arrFields["log_query"] = array("text", true);
     $arrFields["log_ip"] = array("char254", true);
     $arrFields["log_hostname"] = array("char254", true);
     $arrFields["log_date"] = array("long", true);
     if (!$this->objDB->createTable("packageserver_log", $arrFields, array("log_id"), array("log_date"), false)) {
         $strReturn .= "An error occurred! ...\n";
     }
     //register the module
     $this->registerModule("packageserver", _packageserver_module_id_, "class_module_packageserver_portal.php", "class_module_packageserver_admin.php", $this->objMetadata->getStrVersion(), true);
     $strReturn .= "creating package-upload-repository...\n";
     $objFilesytem = new class_filesystem();
     $objFilesytem->folderCreate("/files/packages");
     $objRepo = new class_module_mediamanager_repo();
     $objRepo->setStrPath("/files/packages");
     $objRepo->setStrViewFilter(".zip");
     $objRepo->setStrUploadFilter(".zip");
     $objRepo->setStrTitle("Packageserver packages");
     $objRepo->updateObjectToDb();
     class_carrier::getInstance()->getObjRights()->addGroupToRight(class_module_system_setting::getConfigValue("_guests_group_id_"), $objRepo->getSystemid(), class_rights::$STR_RIGHT_RIGHT2);
     $strReturn .= "Registering system-constants...\n";
     $this->registerConstant("_packageserver_repo_id_", "", class_module_system_setting::$int_TYPE_STRING, _packageserver_module_id_);
     $strReturn .= "Setting aspect assignments...\n";
     if (class_module_system_aspect::getAspectByName("content") != null) {
         $objModule = class_module_system_module::getModuleByName($this->objMetadata->getStrTitle());
         $objModule->setStrAspect(class_module_system_aspect::getAspectByName("content")->getSystemid());
         $objModule->updateObjectToDb();
     }
     return $strReturn;
 }
 public function getAdminForm()
 {
     //Load all archives
     $arrObjArchs = class_module_mediamanager_repo::getObjectList();
     $arrArchives = array();
     foreach ($arrObjArchs as $objOneArchive) {
         $arrArchives[$objOneArchive->getSystemid()] = $objOneArchive->getStrDisplayName();
     }
     $objForm = parent::getAdminForm();
     $objForm->getField("repo")->setArrKeyValues($arrArchives);
     return $objForm;
 }
 public function getAdminForm()
 {
     $arrDlArchives = class_module_mediamanager_repo::getObjectList();
     $arrDlDD = array();
     if (count($arrDlArchives) > 0) {
         foreach ($arrDlArchives as $objOneArchive) {
             $arrDlDD[$objOneArchive->getSystemid()] = $objOneArchive->getStrDisplayName();
         }
     }
     $objForm = parent::getAdminForm();
     $objForm->getField("char2")->setArrKeyValues($arrDlDD);
     return $objForm;
 }
 public function getAdminForm()
 {
     $objForm = parent::getAdminForm();
     $arrRawGals = class_module_mediamanager_repo::getObjectList();
     $arrGalleries = array();
     foreach ($arrRawGals as $objOneGal) {
         $arrGalleries[$objOneGal->getSystemid()] = $objOneGal->getStrDisplayName();
     }
     $objForm->getField("repo")->setArrKeyValues($arrGalleries);
     $objForm->addField(new class_formentry_headline("h2"))->setStrValue($this->getLang("headline_detail"));
     $objForm->addField(new class_formentry_textrow("t2"))->setStrValue($this->getLang("hint_detail"));
     $objForm->setFieldToPosition("h2", 3);
     $objForm->setFieldToPosition("t2", 4);
     $objForm->addField(new class_formentry_headline("h3"))->setStrValue($this->getLang("headline_overlay"));
     $objForm->addField(new class_formentry_textrow("t3"))->setStrValue($this->getLang("hint_text"));
     $objForm->setFieldToPosition("h3", 7);
     $objForm->setFieldToPosition("t3", 8);
     return $objForm;
 }
 public function testJsonList()
 {
     $objFilesystem = new class_filesystem();
     $objFilesystem->folderCreate("/files/packageservertest");
     $objFilesystem->folderCreate("/files/packageservertest/t");
     file_put_contents(_realpath_ . "/files/packageservertest/t/metadata.xml", $this->getStrMetadata());
     $objFilesystem->folderCreate("/files/packageservertest/t/system");
     file_put_contents(_realpath_ . "/files/packageservertest/t/system/test.txt", $this->getStrMetadata());
     $objZip = new class_zip();
     $objZip->openArchiveForWriting("/files/packageservertest/autotest.zip");
     $objZip->addFile("/files/packageservertest/t/metadata.xml", "/metadata.xml");
     $objZip->addFile("/files/packageservertest/t/system/test.txt", "/system/test.txt");
     $objZip->closeArchive();
     $objFilesystem->folderDeleteRecursive("/files/packageservertest/t");
     $objMediamanagerRepo = new class_module_mediamanager_repo();
     $objMediamanagerRepo->setStrPath("/files/packageservertest");
     $objMediamanagerRepo->setStrTitle("autotest packages");
     $objMediamanagerRepo->updateObjectToDb();
     class_module_mediamanager_file::syncRecursive($objMediamanagerRepo->getSystemid(), $objMediamanagerRepo->getStrPath());
     /** @var $objPortalServer class_module_packageserver_portal */
     $objPortalServer = class_module_system_module::getModuleByName("packageserver")->getPortalInstanceOfConcreteModule();
     $strJson = $objPortalServer->action("list");
     $this->assertNotNull($strJson);
     $arrData = json_decode($strJson, true);
     $this->assertTrue(isset($arrData["numberOfTotalItems"]));
     $this->assertTrue(isset($arrData["items"]));
     $this->assertTrue(isset($arrData["protocolVersion"]));
     $this->assertEquals(1, count($arrData["items"]));
     $arrItem = $arrData["items"][0];
     $this->assertTrue(isset($arrItem["systemid"]));
     $this->assertTrue(isset($arrItem["title"]));
     $this->assertTrue(isset($arrItem["version"]));
     $this->assertTrue(isset($arrItem["description"]));
     $this->assertTrue(isset($arrItem["type"]));
     $this->assertEquals("Autotest", $arrItem["title"]);
     $this->assertEquals("3.9.1", $arrItem["version"]);
     $this->assertEquals("demo", $arrItem["description"]);
     $this->assertEquals("MODULE", $arrItem["type"]);
     $objMediamanagerRepo->deleteObjectFromDatabase();
     $objFilesystem->fileDelete("/files/packageservertest/autotest.zip");
 }
 /**
  * Does the hard work: installs the module and registers needed constants
  *
  * @return string
  */
 public function install()
 {
     $strReturn = "";
     if (class_module_system_module::getModuleByName("mediamanager") == null) {
         return "Mediamanger not installed, skipping element\n";
     }
     //fetch navifolder-id
     $strNaviFolderId = "";
     $arrFolder = class_module_pages_folder::getFolderList();
     foreach ($arrFolder as $objOneFolder) {
         if ($objOneFolder->getStrName() == "mainnavigation") {
             $strNaviFolderId = $objOneFolder->getSystemid();
         }
     }
     $strReturn .= "Creating new downloads...\n";
     $objDownloads = new class_module_mediamanager_repo();
     $objDownloads->setStrTitle("Sample downloads");
     $objDownloads->setStrPath("/files/downloads");
     $objDownloads->updateObjectToDb();
     $strDownloadsID = $objDownloads->getSystemid();
     $objDownloads->syncRepo();
     $strReturn .= "Adding download-permissions for guests...\n";
     class_carrier::getInstance()->getObjRights()->addGroupToRight(class_module_system_setting::getConfigValue("_guests_group_id_"), $objDownloads->getSystemid(), "right2");
     $strReturn .= "Adding rating-permissions for guests...\n";
     class_carrier::getInstance()->getObjRights()->addGroupToRight(class_module_system_setting::getConfigValue("_guests_group_id_"), $objDownloads->getSystemid(), "right3");
     $strReturn .= "Creating new downloads page...\n";
     $objPage = new class_module_pages_page();
     $objPage->setStrName("downloads");
     $objPage->setStrBrowsername("Downloads");
     $objPage->setStrTemplate("standard.tpl");
     $objPage->updateObjectToDb($strNaviFolderId);
     $strDownloadsPageId = $objPage->getSystemid();
     $strReturn .= "ID of new page: " . $strDownloadsPageId . "\n";
     $strReturn .= "Adding pagelement to new page\n";
     $objPagelement = new class_module_pages_pageelement();
     if (class_module_pages_element::getElement("downloads") != null) {
         $objPagelement->setStrPlaceholder("special_news|guestbook|downloads|gallery|galleryRandom|form|tellafriend|maps|search|navigation|faqs|postacomment|votings|userlist|rssfeed|tagto|portallogin|portalregistration|portalupload|directorybrowser|lastmodified|tagcloud|downloadstoplist|flash|mediaplayer|tags|eventmanager");
         $objPagelement->setStrName("special");
         $objPagelement->setStrElement("downloads");
         $objPagelement->updateObjectToDb($strDownloadsPageId);
         $strElementId = $objPagelement->getSystemid();
         $strQuery = "UPDATE " . _dbprefix_ . "element_downloads\n                            SET download_id = ?,\n                                download_template = ?\n                            WHERE content_id = ? ";
         if ($this->objDB->_pQuery($strQuery, array($strDownloadsID, "downloads.tpl", $strElementId))) {
             $strReturn .= "downloads element created.\n";
         } else {
             $strReturn .= "Error creating downloads element.\n";
         }
     }
     $strReturn .= "Adding headline-element to new page\n";
     if (class_module_pages_element::getElement("row") != null) {
         $objPagelement = new class_module_pages_pageelement();
         $objPagelement->setStrPlaceholder("headline_row");
         $objPagelement->setStrName("headline");
         $objPagelement->setStrElement("row");
         $objPagelement->updateObjectToDb($strDownloadsPageId);
         $strElementId = $objPagelement->getSystemid();
         $strQuery = "UPDATE " . _dbprefix_ . "element_paragraph\n                                SET paragraph_title = ?\n                                WHERE content_id = ?";
         if ($this->objDB->_pQuery($strQuery, array("Downloads", $strElementId))) {
             $strReturn .= "Headline element created.\n";
         } else {
             $strReturn .= "Error creating headline element.\n";
         }
     }
     return $strReturn;
 }
 /**
  * Does the hard work: installs the module and registers needed constants
  *
  * @return string
  */
 public function install()
 {
     if (class_module_system_module::getModuleByName("mediamanager") == null) {
         return "Mediamanger not installed, skipping element\n";
     }
     $strReturn = "";
     //fetch navifolder-id
     $strNaviFolderId = "";
     $arrFolder = class_module_pages_folder::getFolderList();
     foreach ($arrFolder as $objOneFolder) {
         if ($objOneFolder->getStrName() == "mainnavigation") {
             $strNaviFolderId = $objOneFolder->getSystemid();
         }
     }
     $strReturn .= "Creating new gallery...\n";
     $objGallery = new class_module_mediamanager_repo();
     $objGallery->setStrTitle("Sample Gallery");
     $objGallery->setStrPath(_filespath_ . "/images/samples");
     $objGallery->setStrUploadFilter(".jpg,.png,.gif,.jpeg");
     $objGallery->setStrViewFilter(".jpg,.png,.gif,.jpeg");
     $objGallery->updateObjectToDb();
     $objGallery->syncRepo();
     $strGalleryID = $objGallery->getSystemid();
     $strReturn .= "Modify rights to allow guests to rate images...\n";
     class_carrier::getInstance()->getObjRights()->addGroupToRight(class_module_system_setting::getConfigValue("_guests_group_id_"), $objGallery->getSystemid(), "right3");
     $strReturn .= "Creating new gallery page...\n";
     $objPage = new class_module_pages_page();
     $objPage->setStrName("gallery");
     $objPage->setStrBrowsername("Gallery");
     $objPage->setStrTemplate("standard.tpl");
     $objPage->updateObjectToDb($strNaviFolderId);
     $strGalleryPageId = $objPage->getSystemid();
     $strReturn .= "ID of new page: " . $strGalleryPageId . "\n";
     $strReturn .= "Adding pagelement to new page\n";
     if (class_module_pages_element::getElement("gallery") != null) {
         $objPagelement = new class_module_pages_pageelement();
         $objPagelement->setStrPlaceholder("special_news|guestbook|downloads|gallery|galleryRandom|form|tellafriend|maps|search|navigation|faqs|postacomment|votings|userlist|rssfeed|tagto|portallogin|portalregistration|portalupload|directorybrowser|lastmodified|tagcloud|downloadstoplist|flash|mediaplayer|tags|eventmanager");
         $objPagelement->setStrName("special");
         $objPagelement->setStrElement("gallery");
         $objPagelement->updateObjectToDb($strGalleryPageId);
         $strElementId = $objPagelement->getSystemid();
         $strQuery = "UPDATE " . _dbprefix_ . "element_gallery\n                            SET gallery_id = ?,\n                                gallery_mode = ?,\n                                gallery_template = ?,\n                                gallery_maxh_d = ?,\n                                gallery_maxw_d = ?,\n                                gallery_imagesperpage = ?,\n                                gallery_text = ?,\n                                gallery_text_x = ?,\n                                gallery_text_y = ?\n                            WHERE content_id = ? ";
         if ($this->objDB->_pQuery($strQuery, array($strGalleryID, 0, "gallery_imagelightbox.tpl", 600, 600, 0, "(c) kajona.de", 5, 15, $strElementId))) {
             $strReturn .= "Gallery element created.\n";
         } else {
             $strReturn .= "Error creating Gallery element.\n";
         }
     }
     $strReturn .= "Adding headline-element to new page\n";
     if (class_module_pages_element::getElement("row") != null) {
         $objPagelement = new class_module_pages_pageelement();
         $objPagelement->setStrPlaceholder("headline_row");
         $objPagelement->setStrName("headline");
         $objPagelement->setStrElement("row");
         $objPagelement->updateObjectToDb($strGalleryPageId);
         $strElementId = $objPagelement->getSystemid();
         $strQuery = "UPDATE " . _dbprefix_ . "element_paragraph\n                                SET paragraph_title = ?\n                                WHERE content_id = ?";
         if ($this->objDB->_pQuery($strQuery, array("Gallery", $strElementId))) {
             $strReturn .= "Headline element created.\n";
         } else {
             $strReturn .= "Error creating headline element.\n";
         }
     }
     $strReturn .= "Adding paragraph-element to new page\n";
     if (class_module_pages_element::getElement("paragraph") != null) {
         $objPagelement = new class_module_pages_pageelement();
         $objPagelement->setStrPlaceholder("text_paragraph");
         $objPagelement->setStrName("text");
         $objPagelement->setStrElement("paragraph");
         $objPagelement->updateObjectToDb($strGalleryPageId);
         $strElementId = $objPagelement->getSystemid();
         $arrParams = array();
         if ($this->strContentLanguage == "de") {
             $arrParams[] = "";
             $arrParams[] = "Alle Beispielbilder © by kajona.de";
             $arrParams[] = $strElementId;
         } else {
             $arrParams[] = "";
             $arrParams[] = "All sample images © by kajona.de";
             $arrParams[] = $strElementId;
         }
         $strQuery = "UPDATE " . _dbprefix_ . "element_paragraph\n                                SET paragraph_title = ?,\n                                    paragraph_content = ?\n                                WHERE content_id = ?";
         if ($this->objDB->_pQuery($strQuery, $arrParams)) {
             $strReturn .= "Paragraph element created.\n";
         } else {
             $strReturn .= "Error creating paragraph element.\n";
         }
     }
     return $strReturn;
 }
 /**
  * @return array
  */
 public function getNavigationNodes()
 {
     $arrReturn = array();
     $objRepo = new class_module_mediamanager_repo($this->arrElementData["repo_id"]);
     $objPoint = new class_module_navigation_point();
     $objPoint->setIntRecordStatus(1);
     $objPoint->setStrName($objRepo->getStrTitle());
     $objPoint->setStrPageI($this->getPagename());
     $objPoint->setSystemid($objRepo->getSystemid());
     $objPoint->setStrLinkSystemid($objRepo->getSystemid());
     $objPoint->setStrLinkAction("mediaFolder");
     $objPoint->setBitIsForeignNode(true);
     $arrReturn["node"] = $objPoint;
     $arrReturn["subnodes"] = $this->getNavigationNodesHelper($objPoint->getSystemid());
     return $arrReturn;
 }
 /**
  * Will be kept for legacy compatibility
  *
  * @param bool $bitJsonResponse
  *
  * @return string
  */
 private function doUpload($bitJsonResponse = false)
 {
     $strReturn = "";
     //prepare the folder to be used as a target-folder for the upload
     $objFilemanagerRepo = new class_module_mediamanager_repo($this->arrElementData["char2"]);
     $objDownloadfolder = null;
     //add a special subfolder?
     $strPath = $objFilemanagerRepo->getStrPath();
     if ($this->getParam("portaluploadDlfolder") != "") {
         /** @var $objDownloadfolder class_module_mediamanager_file */
         $objDownloadfolder = class_objectfactory::getInstance()->getObject($this->getParam("portaluploadDlfolder"));
         //check if the folder is within the current repo
         /** @var $objTemp class_module_mediamanager_file */
         $objTemp = $objDownloadfolder;
         while (validateSystemid($objTemp->getSystemid()) && ($objTemp instanceof class_module_mediamanager_file || $objTemp instanceof class_module_mediamanager_repo)) {
             if ($objTemp->getSystemid() == $this->arrElementData["char2"]) {
                 $strPath = $objDownloadfolder->getStrFilename();
                 break;
             }
             $objTemp = class_objectfactory::getInstance()->getObject($objTemp->getPrevId());
         }
     }
     //upload the file...
     if ($objFilemanagerRepo->rightRight1()) {
         //Handle the fileupload
         $arrSource = $this->getParam("portaluploadFile");
         $strTarget = $strPath . "/" . createFilename($arrSource["name"]);
         $objFilesystem = new class_filesystem();
         if ($objFilesystem->isWritable($strPath)) {
             //Check file for correct filters
             $arrAllowed = explode(",", $objFilemanagerRepo->getStrUploadFilter());
             $strSuffix = uniStrtolower(uniSubstr($arrSource["name"], uniStrrpos($arrSource["name"], ".")));
             if ($objFilemanagerRepo->getStrUploadFilter() == "" || in_array($strSuffix, $arrAllowed)) {
                 if ($objFilesystem->copyUpload($strTarget, $arrSource["tmp_name"])) {
                     //upload was successfull. try to sync the downloads-archive.
                     if ($objDownloadfolder != null && $objDownloadfolder instanceof class_module_mediamanager_file) {
                         class_module_mediamanager_file::syncRecursive($objDownloadfolder->getSystemid(), $objDownloadfolder->getStrFilename());
                     } else {
                         $objFilemanagerRepo->syncRepo();
                     }
                     $this->flushCompletePagesCache();
                     if ($bitJsonResponse) {
                         return true;
                     }
                     //reload the site to display the new file
                     if (validateSystemid($this->getParam("portaluploadDlfolder"))) {
                         $this->portalReload(class_link::getLinkPortalHref($this->getPagename(), "", "mediaFolder", "uploadSuccess=1", $this->getParam("portaluploadDlfolder")));
                     } else {
                         $this->portalReload(class_link::getLinkPortalHref($this->getPagename(), "", "", $this->getAction(), "uploadSuccess=1", $this->getSystemid()));
                     }
                 } else {
                     $strReturn .= $this->uploadForm($this->getLang("portaluploadCopyUploadError"));
                 }
             } else {
                 @unlink($arrSource["tmp_name"]);
                 $strReturn .= $this->uploadForm($this->getLang("portaluploadFilterError"));
             }
         } else {
             $strReturn .= $this->uploadForm($this->getLang("portaluploadNotWritableError"));
         }
     } else {
         $strReturn .= $this->getLang("commons_error_permissions");
     }
     return $strReturn;
 }
 /**
  * Loads the content of a folder
  * If requested, loads subactions,too
  *
  * SPECIAL MODE FOR MODULE FOLDERVIEW
  *
  * @return string
  * @permissions view
  * @autoTestable
  */
 protected function actionFolderContentFolderviewMode()
 {
     $strReturn = "<script type='text/javascript'>KAJONA.admin.loader.loadFile('" . class_resourceloader::getInstance()->getCorePathForModule("module_mediamanager") . "/module_mediamanager/admin/scripts/mediamanager.js');</script>";
     //if set, save CKEditors CKEditorFuncNum parameter to read it again in KAJONA.admin.folderview.selectCallback()
     //so we don't have to pass through the param with all requests
     if ($this->getParam("CKEditorFuncNum") != "") {
         $strReturn .= "<script type=\"text/javascript\">window.opener.KAJONA.admin.folderview.selectCallbackCKEditorFuncNum = " . (int) $this->getParam("CKEditorFuncNum") . ";</script>";
     }
     $strTargetfield = $this->getParam("form_element");
     $this->setArrModuleEntry("template", "/folderview.tpl");
     //list repos or contents?
     if ($this->getSystemid() == "") {
         //Load the repos
         $arrObjRepos = class_module_mediamanager_repo::getObjectList();
         $intI = 0;
         //Print every repo
         /** @var class_module_mediamanager_repo $objOneRepo */
         foreach ($arrObjRepos as $objOneRepo) {
             //check rights
             if ($objOneRepo->rightView()) {
                 $strActions = "";
                 $strActions .= $this->objToolkit->listButton(class_link::getLinkAdmin($this->getArrModule("modul"), "folderContentFolderviewMode", "&form_element=" . $strTargetfield . "&systemid=" . $objOneRepo->getSystemid(), "", $this->getLang("action_open_folder"), "icon_folderActionOpen"));
                 $strReturn .= $this->objToolkit->simpleAdminList($objOneRepo, $strActions, $intI++);
             }
         }
         if (uniStrlen($strReturn) != 0) {
             $strReturn = $this->objToolkit->listHeader() . $strReturn . $this->objToolkit->listFooter();
         }
         if (count($arrObjRepos) == 0) {
             $strReturn .= $this->getLang("commons_list_empty");
         }
     } else {
         $objFile = class_objectfactory::getInstance()->getObject($this->getSystemid());
         if ($objFile === null || !$objFile->rightView()) {
             return $this->getLang("commons_error_permissions");
         }
         $objIterator = new class_array_section_iterator(class_module_mediamanager_file::getFileCount($this->getSystemid()));
         $objIterator->setPageNumber($this->getParam("pv"));
         $objIterator->setArraySection(class_module_mediamanager_file::loadFilesDB($this->getSystemid(), false, false, $objIterator->calculateStartPos(), $objIterator->calculateEndPos()));
         $strReturn .= $this->actionUploadFileInternal();
         $strReturn .= $this->generateNewFolderDialogCode();
         $strReturn .= $this->renderFloatingGrid($objIterator, class_module_mediamanager_admin::INT_LISTTYPE_FOLDERVIEW, "&form_element=" . $this->getParam("form_element"), false);
     }
     return $strReturn;
 }
示例#13
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;
 }