/**
  * Triggered as soon as a record is updated
  *
  * @param string $strEventName
  * @param array $arrArguments
  *
  * @return bool
  */
 public function handleEvent($strEventName, array $arrArguments)
 {
     $objRecord = $arrArguments[0];
     if ($objRecord instanceof class_module_packagemanager_template) {
         if ($objRecord->getIntRecordStatus() == 1) {
             $objOrm = new class_orm_objectlist();
             $objOrm->addWhereRestriction(new class_orm_objectlist_systemstatus_restriction(class_orm_comparator_enum::Equal(), 1));
             $arrPacks = $objOrm->getObjectList("class_module_packagemanager_template");
             foreach ($arrPacks as $objPack) {
                 if ($objPack->getSystemid() != $objRecord->getSystemid()) {
                     $objPack->setIntRecordStatus(0);
                     $objPack->updateObjectToDb();
                 }
             }
             //update the active-pack constant
             $objSetting = class_module_system_setting::getConfigByName("_packagemanager_defaulttemplate_");
             if ($objSetting !== null) {
                 $objSetting->setStrValue($objRecord->getStrName());
                 $objSetting->updateObjectToDb();
             }
             class_cache::flushCache("class_element_portal");
         }
     }
     return true;
 }
コード例 #2
0
 public function testObjectIndexerPerformance()
 {
     if (class_module_system_module::getModuleByName("news") === null) {
         return;
     }
     $arrNewsIds = array();
     echo "Indexing without deferred indexer...\n";
     class_module_system_changelog::$bitChangelogEnabled = false;
     $intTimeStart = microtime(true);
     $intQueriesStart = class_db::getInstance()->getNumber();
     for ($intI = 0; $intI < 15; $intI++) {
         $objNews = new class_module_news_news();
         $objNews->setStrTitle("demo 1");
         $objNews->setStrIntro("intro demo news");
         $objNews->setStrText("text demo news");
         $objNews->updateObjectToDb();
         $arrNewsIds[] = $objNews->getSystemid();
     }
     echo "Queries pre indexing: ", class_db::getInstance()->getNumber() - $intQueriesStart . " \n";
     $objHandler = new class_module_search_request_endprocessinglistener();
     $objHandler->handleEvent(class_system_eventidentifier::EVENT_SYSTEM_REQUEST_AFTERCONTENTSEND, array());
     $intTimeEnd = microtime(true);
     $time = $intTimeEnd - $intTimeStart;
     echo "Object updates: ", sprintf('%f', $time), " sec.\n";
     echo "Queries total: ", class_db::getInstance()->getNumber() - $intQueriesStart . " \n";
     echo "\nIndexing with deferred indexer...\n";
     $objConfig = class_module_system_setting::getConfigByName("_search_deferred_indexer_");
     $objConfig->setStrValue("true");
     $objConfig->updateObjectToDb();
     $intTimeStart = microtime(true);
     $intQueriesStart = class_db::getInstance()->getNumber();
     for ($intI = 0; $intI < 15; $intI++) {
         $objNews = new class_module_news_news();
         $objNews->setStrTitle("demo 1");
         $objNews->setStrIntro("intro demo news");
         $objNews->setStrText("text demo news");
         $objNews->updateObjectToDb();
         $arrNewsIds[] = $objNews->getSystemid();
     }
     echo "Queries pre indexing: ", class_db::getInstance()->getNumber() - $intQueriesStart . " \n";
     echo "Triggering queue update event...\n";
     $objHandler = new class_module_search_request_endprocessinglistener();
     $objHandler->handleEvent(class_system_eventidentifier::EVENT_SYSTEM_REQUEST_AFTERCONTENTSEND, array());
     $intTimeEnd = microtime(true);
     $time = $intTimeEnd - $intTimeStart;
     echo "Object updates: ", sprintf('%f', $time), " sec.\n";
     echo "Queries total: ", class_db::getInstance()->getNumber() - $intQueriesStart . " \n";
     $objConfig = class_module_system_setting::getConfigByName("_search_deferred_indexer_");
     $objConfig->setStrValue("false");
     $objConfig->updateObjectToDb();
     foreach ($arrNewsIds as $strNewsId) {
         class_objectfactory::getInstance()->getObject($strNewsId)->deleteObjectFromDatabase();
     }
 }
コード例 #3
0
 /**
  * Removes the elements / modules handled by the current installer.
  * Use the reference param to add a human readable logging.
  *
  * @param string &$strReturn
  *
  * @return bool
  */
 public function remove(&$strReturn)
 {
     $strReturn .= "Removing settings...\n";
     if (class_module_system_setting::getConfigByName("_tags_defaultprivate_") != null) {
         class_module_system_setting::getConfigByName("_tags_defaultprivate_")->deleteObjectFromDatabase();
     }
     //delete the page-element
     if (class_module_system_module::getModuleByName("pages") !== null && class_module_pages_element::getElement("tags") != null) {
         $objElement = class_module_pages_element::getElement("tags");
         if ($objElement != null) {
             $strReturn .= "Deleting page-element 'tags'...\n";
             $objElement->deleteObjectFromDatabase();
         } else {
             $strReturn .= "Error finding page-element 'guestbook', tags.\n";
             return false;
         }
     }
     /** @var class_module_tags_favorite $objOneObject */
     foreach (class_module_tags_favorite::getObjectList() as $objOneObject) {
         $strReturn .= "Deleting object '" . $objOneObject->getStrDisplayName() . "' ...\n";
         if (!$objOneObject->deleteObjectFromDatabase()) {
             $strReturn .= "Error deleting object, aborting.\n";
             return false;
         }
     }
     /** @var class_module_tags_tag $objOneObject */
     foreach (class_module_tags_tag::getObjectList() as $objOneObject) {
         $strReturn .= "Deleting object '" . $objOneObject->getStrDisplayName() . "' ...\n";
         if (!$objOneObject->deleteObjectFromDatabase()) {
             $strReturn .= "Error deleting object, aborting.\n";
             return false;
         }
     }
     //delete the module-node
     $strReturn .= "Deleting the module-registration...\n";
     $objModule = class_module_system_module::getModuleByName($this->objMetadata->getStrTitle(), true);
     if (!$objModule->deleteObjectFromDatabase()) {
         $strReturn .= "Error deleting module, aborting.\n";
         return false;
     }
     //delete the tables
     foreach (array("tags_tag", "tags_member", "tags_favorite") as $strOneTable) {
         $strReturn .= "Dropping table " . $strOneTable . "...\n";
         if (!$this->objDB->_pQuery("DROP TABLE " . $this->objDB->encloseTableName(_dbprefix_ . $strOneTable) . "", array())) {
             $strReturn .= "Error deleting table, aborting.\n";
             return false;
         }
     }
     return true;
 }
コード例 #4
0
 /**
  * @see interface_admin_systemtask::executeTask()
  * @return string
  */
 public function executeTask()
 {
     if (!class_module_system_module::getModuleByName("system")->rightRight2()) {
         return $this->getLang("commons_error_permissions");
     }
     //increase the cachebuster, so browsers are forced to reload JS and CSS files
     $objCachebuster = class_module_system_setting::getConfigByName("_system_browser_cachebuster_");
     $objCachebuster->setStrValue((int) $objCachebuster->getStrValue() + 1);
     $objCachebuster->updateObjectToDb();
     if (class_cache::flushCache($this->getParam("cacheSource"))) {
         return $this->objToolkit->getTextRow($this->getLang("systemtask_flushcache_success"));
     } else {
         return $this->objToolkit->getTextRow($this->getLang("systemtask_flushcache_error"));
     }
 }
コード例 #5
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;
 }
 /**
  * Copies the extracted(!) package from the temp-folder
  * to the target-folder.
  * In most cases, this is either located at /core or at /templates.
  * The original should be deleted afterwards.
  *
  * @throws class_exception
  * @return void
  */
 public function move2Filesystem()
 {
     $strSource = $this->objMetadata->getStrPath();
     if (!is_dir(_realpath_ . $strSource)) {
         throw new class_exception("current package " . $strSource . " is not a folder.", class_exception::$level_ERROR);
     }
     $objFilesystem = new class_filesystem();
     $objFilesystem->chmod($this->getStrTargetPath(), 0777);
     class_logger::getInstance(class_logger::PACKAGEMANAGEMENT)->addLogRow("moving " . $strSource . " to " . $this->getStrTargetPath(), class_logger::$levelInfo);
     $objFilesystem->folderCopyRecursive($strSource, $this->getStrTargetPath(), true);
     $this->objMetadata->setStrPath($this->getStrTargetPath());
     $objFilesystem->chmod($this->getStrTargetPath());
     $objFilesystem->folderDeleteRecursive($strSource);
     //shift the cache buster
     $objSetting = class_module_system_setting::getConfigByName("_system_browser_cachebuster_");
     if ($objSetting != null) {
         $objSetting->setStrValue((int) $objSetting->getStrValue() + 1);
         $objSetting->updateObjectToDb();
     }
 }
コード例 #7
0
 /**
  * Removes the elements / modules handled by the current installer.
  * Use the reference param to add a human readable logging.
  *
  * @param string &$strReturn
  *
  * @return bool
  */
 public function remove(&$strReturn)
 {
     $strReturn .= "Deleting config-entries..\n";
     class_module_system_setting::getConfigByName("_packageserver_repo_id_")->deleteObjectFromDatabase();
     //delete the module-node
     $strReturn .= "Deleting the module-registration...\n";
     $objModule = class_module_system_module::getModuleByName($this->objMetadata->getStrTitle(), true);
     if (!$objModule->deleteObjectFromDatabase()) {
         $strReturn .= "Error deleting module, aborting.\n";
         return false;
     }
     //delete the tables
     foreach (array("packageserver_log") as $strOneTable) {
         $strReturn .= "Dropping table " . $strOneTable . "...\n";
         if (!$this->objDB->_pQuery("DROP TABLE " . $this->objDB->encloseTableName(_dbprefix_ . $strOneTable) . "", array())) {
             $strReturn .= "Error deleting table, aborting.\n";
             return false;
         }
     }
     return true;
 }
コード例 #8
0
 /**
  * Removes the elements / modules handled by the current installer.
  * Use the reference param to add a human readable logging.
  *
  * @param string &$strReturn
  *
  * @return bool
  */
 public function remove(&$strReturn)
 {
     $strReturn .= "Removing system settings...\n";
     if (class_module_system_setting::getConfigByName("_workflows_trigger_authkey_") != null) {
         class_module_system_setting::getConfigByName("_workflows_trigger_authkey_")->deleteObjectFromDatabase();
     }
     /** @var class_module_workflows_workflow $objOneObject */
     foreach (class_module_workflows_workflow::getObjectList() as $objOneObject) {
         $strReturn .= "Deleting object '" . $objOneObject->getStrDisplayName() . "' ...\n";
         if (!$objOneObject->deleteObjectFromDatabase()) {
             $strReturn .= "Error deleting object, aborting.\n";
             return false;
         }
     }
     /** @var class_module_workflows_handler $objOneObject */
     foreach (class_module_workflows_handler::getObjectList() as $objOneObject) {
         $strReturn .= "Deleting object '" . $objOneObject->getStrDisplayName() . "' ...\n";
         if (!$objOneObject->deleteObjectFromDatabase()) {
             $strReturn .= "Error deleting object, aborting.\n";
             return false;
         }
     }
     //delete the module-node
     $strReturn .= "Deleting the module-registration...\n";
     $objModule = class_module_system_module::getModuleByName($this->objMetadata->getStrTitle(), true);
     if (!$objModule->deleteObjectFromDatabase()) {
         $strReturn .= "Error deleting module, aborting.\n";
         return false;
     }
     //delete the tables
     foreach (array("workflows_handler", "workflows") as $strOneTable) {
         $strReturn .= "Dropping table " . $strOneTable . "...\n";
         if (!$this->objDB->_pQuery("DROP TABLE " . $this->objDB->encloseTableName(_dbprefix_ . $strOneTable) . "", array())) {
             $strReturn .= "Error deleting table, aborting.\n";
             return false;
         }
     }
     return true;
 }
コード例 #9
0
 private function update_47_475()
 {
     $strReturn = "Updating 4.7 to 4.7.5...\n";
     $strReturn .= "Removing setting _stats_nrofrecords_\n";
     class_module_system_setting::getConfigByName("_stats_nrofrecords_")->deleteObjectFromDatabase();
     $strReturn .= "Updating module-versions...\n";
     $this->updateModuleVersion("stats", "4.6.1");
     return $strReturn;
 }
コード例 #10
0
 /**
  * Does the hard work: installs the module and registers needed constants
  * @return string
  */
 public function install()
 {
     $strReturn = "";
     $strReturn .= "Shifting pages to first position...\n";
     $objPagesModule = class_module_system_module::getModuleByName("pages");
     $objPagesModule->setAbsolutePosition(3);
     $strReturn .= "Setting default template...\n";
     $objConstant = class_module_system_setting::getConfigByName("_pages_defaulttemplate_");
     $objConstant->setStrValue("standard.tpl");
     $objConstant->updateObjectToDb();
     $strReturn .= "Creating system folder...\n";
     $objFolder = new class_module_pages_folder();
     $objFolder->setStrName("_system");
     $objFolder->updateObjectToDb(class_module_system_module::getModuleByName("pages")->getSystemid());
     $strSystemFolderID = $objFolder->getSystemid();
     $strReturn .= "ID of new folder: " . $strSystemFolderID . "\n";
     $strReturn .= "Creating mainnavigation folder...\n";
     $objFolder = new class_module_pages_folder();
     $objFolder->setStrName("mainnavigation");
     $objFolder->updateObjectToDb(class_module_system_module::getModuleByName("pages")->getSystemid());
     $strMainnavigationFolderID = $objFolder->getSystemid();
     $strReturn .= "ID of new folder: " . $strSystemFolderID . "\n";
     $strReturn .= "Creating index-site...\n";
     $objPage = new class_module_pages_page();
     $objPage->setStrName("index");
     if ($this->strContentLanguage == "de") {
         $objPage->setStrBrowsername("Willkommen");
     } else {
         $objPage->setStrBrowsername("Welcome");
     }
     $objPage->setStrTemplate("home.tpl");
     $objPage->updateObjectToDb();
     $this->strIndexID = $objPage->getSystemid();
     $strReturn .= "ID of new page: " . $this->strIndexID . "\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($this->strIndexID);
         $strElementId = $objPagelement->getSystemid();
         $arrParams = array();
         if ($this->strContentLanguage == "de") {
             $arrParams[] = "Willkommen";
             $arrParams[] = $strElementId;
         } else {
             $arrParams[] = "Welcome";
             $arrParams[] = $strElementId;
         }
         $strQuery = "UPDATE " . _dbprefix_ . "element_paragraph\n                                SET paragraph_title = ?\n                                WHERE content_id = ?";
         if ($this->objDB->_pQuery($strQuery, $arrParams)) {
             $strReturn .= "Headline element created.\n";
         } else {
             $strReturn .= "Error creating headline element.\n";
         }
     }
     $strReturn .= "Adding paragraph-elements to new page\n";
     if (class_module_pages_element::getElement("paragraph") != null) {
         $objPagelement = new class_module_pages_pageelement();
         $objPagelement->setStrPlaceholder("content_paragraph|image");
         $objPagelement->setStrName("text");
         $objPagelement->setStrElement("paragraph");
         $objPagelement->updateObjectToDb($this->strIndexID);
         $strElementId = $objPagelement->getSystemid();
         $arrParams = array();
         if ($this->strContentLanguage == "de") {
             $arrParams[] = "Herzlichen Glückwunsch!";
             $arrParams[] = "Diese Installation von Kajona war erfolgreich. Wir wünschen viel Spaß mit Kajona V4.<br />\n                                Nehmen Sie sich die Zeit und betrachten Sie die einzelnen Seiten, die mit Beispielinhalten befüllt wurde. Sie gelangen jederzeit auf diese\n                                Seite durch den Link &quot;Home&quot; zurück.<br/>\n                                Um die Inhalte der Webseite zu verändern sollten Sie sich als erstes am Administrationsbereich <a href='_webpath_/admin'>anmelden</a>.\n                                Für weitere Informationen und Support besuchen Sie unsere Webseite: <a href=\"http://www.kajona.de\">www.kajona.de</a><br/>\n                                Das gesamte Kajona-Team wünscht viel Spa&szlig; beim Verwalten der Webseite mit Kajona!";
             $arrParams[] = "/files/images/upload/teaser.jpg";
             $arrParams[] = $strElementId;
         } else {
             $arrParams[] = "Congratulations!";
             $arrParams[] = "This installation of Kajona was successful. Have fun using Kajona V4!<br />\n                                Take some time and watch the pages already created and have a look at the sample-contents assigned to those page.\n                                You may return to this page any time by clicking the &quot;home&quot; link.<br/>\n                                To modify the contents of this webpage you have to <a href='_webpath_/admin'>log in</a> at the administration-backend.\n                                For further information, support or proposals, please visit our website: <a href=\"http://www.kajona.de\">www.kajona.de</a><br/>\n                                The Kajona-Team hopes you'll enjoy managing your website with Kajona!";
             $arrParams[] = "/files/images/upload/teaser.jpg";
             $arrParams[] = $strElementId;
         }
         $strQuery = "UPDATE " . _dbprefix_ . "element_paragraph\n                                SET paragraph_title = ?,\n                                    paragraph_content =  ?,\n                                    paragraph_image = ?\n                                WHERE content_id = ?";
         if ($this->objDB->_pQuery($strQuery, $arrParams, array(true, false))) {
             $strReturn .= "Paragraph element created.\n";
         } else {
             $strReturn .= "Error creating paragraph element.\n";
         }
         $objPagelement = new class_module_pages_pageelement();
         $objPagelement->setStrPlaceholder("column1_paragraph|image");
         $objPagelement->setStrName("column1");
         $objPagelement->setStrElement("paragraph");
         $objPagelement->updateObjectToDb($this->strIndexID);
         $strElementId = $objPagelement->getSystemid();
         $arrParams = array();
         if ($this->strContentLanguage == "de") {
             $arrParams[] = "Teaser 1";
             $arrParams[] = "Dieser Text-Absatz befindet sich am Platzhalter column1_paragraph|image, der im Standard-Template links ausgerichtet ist. Sobald Sie sich am\n                                System <a href='_webpath_/admin'>angemeldet</a> haben und das Portal erneut aufrufen, wird der Portal-Editor angezeigt. Nutzen Sie Drag n Drop\n                                um diesen Text-Absatz an einen anderen Platzhalter in diesem Template zu verschieben. Einzige Voraussetzung hierfür ist, dass der Platzhalter\n                                Elemente des Typs paragraph zulässt.";
             $arrParams[] = $strElementId;
         } else {
             $arrParams[] = "Teaser 1";
             $arrParams[] = "This paragraph is located at the placeholder column1_paragraph|image. The default-template aligns this placeholder to the left.\n                                As soon as you <a href='_webpath_/admin'>log in</a> at the administration-backend and reload the portal, the portal-editor is being shown.\n                                Use drag n drop to rearrange this placeholder and move it to another placeholder.\n                                The only limitation when dropping the element is, that the target-placeholder allows elements of the type paragraph.";
             $arrParams[] = $strElementId;
         }
         $strQuery = "UPDATE " . _dbprefix_ . "element_paragraph\n                                SET paragraph_title = ?,\n                                    paragraph_content =  ?\n                                WHERE content_id = ?";
         if ($this->objDB->_pQuery($strQuery, $arrParams, array(true, false))) {
             $strReturn .= "Paragraph element created.\n";
         } else {
             $strReturn .= "Error creating paragraph element.\n";
         }
         $objPagelement = new class_module_pages_pageelement();
         $objPagelement->setStrPlaceholder("column2_paragraph|image");
         $objPagelement->setStrName("column2");
         $objPagelement->setStrElement("paragraph");
         $objPagelement->updateObjectToDb($this->strIndexID);
         $strElementId = $objPagelement->getSystemid();
         $arrParams = array();
         if ($this->strContentLanguage == "de") {
             $arrParams[] = "Teaser 2";
             $arrParams[] = "Der Platzhalter dieses Elementes lautet column2_paragraph|image. Daher ist er für alle anderen Absätze auf dieser Seite ein gültiger Ziel-Platzhalter,\n                                sobald ein Absatz per drag n drop verschoben wird. Verschieben Sie die Absätze auf dieser Seite, um ein erstes Gefühl hierfür zu bekommen.";
             $arrParams[] = $strElementId;
         } else {
             $arrParams[] = "Teaser 2";
             $arrParams[] = "The placeholder of this paragraph is defined as column2_paragraph|image. Therefore it is a valid target-placeholder for other paragraphs on the current\n                                page. Try to move paragraph on this site in order so see how the possible drop-areas are being highlighted.";
             $arrParams[] = $strElementId;
         }
         $strQuery = "UPDATE " . _dbprefix_ . "element_paragraph\n                                SET paragraph_title = ?,\n                                    paragraph_content =  ?\n                                WHERE content_id = ?";
         if ($this->objDB->_pQuery($strQuery, $arrParams, array(true, false))) {
             $strReturn .= "Paragraph element created.\n";
         } else {
             $strReturn .= "Error creating paragraph element.\n";
         }
         $objPagelement = new class_module_pages_pageelement();
         $objPagelement->setStrPlaceholder("column3_paragraph|image");
         $objPagelement->setStrName("column3");
         $objPagelement->setStrElement("paragraph");
         $objPagelement->updateObjectToDb($this->strIndexID);
         $strElementId = $objPagelement->getSystemid();
         $arrParams = array();
         if ($this->strContentLanguage == "de") {
             $arrParams[] = "Teaser 3";
             $arrParams[] = "Der Platzhalter dieses Elementes lautet column3_paragraph|image. Daher ist er für alle anderen Absätze auf dieser Seite ein gültiger Ziel-Platzhalter,\n                                sobald ein Absatz per drag n drop verschoben wird. Verschieben Sie die Absätze auf dieser Seite, um ein erstes Gefühl hierfür zu bekommen.";
             $arrParams[] = $strElementId;
         } else {
             $arrParams[] = "Teaser 3";
             $arrParams[] = "The placeholder of this paragraph is defined as column3_paragraph|image. Therefore it is a valid target-placeholder for other paragraphs on the current\n                                page. Try to move paragraph on this site in order so see how the possible drop-areas are being highlighted.";
             $arrParams[] = $strElementId;
         }
         $strQuery = "UPDATE " . _dbprefix_ . "element_paragraph\n                                SET paragraph_title = ?,\n                                    paragraph_content =  ?\n                                WHERE content_id = ?";
         if ($this->objDB->_pQuery($strQuery, $arrParams, array(true, false))) {
             $strReturn .= "Paragraph element created.\n";
         } else {
             $strReturn .= "Error creating paragraph element.\n";
         }
     }
     $strReturn .= "Creating master-page\n";
     $objPage = new class_module_pages_page();
     $objPage->setStrName("master");
     $objPage->setStrBrowsername("master");
     $objPage->setStrTemplate("master.tpl");
     $objPage->updateObjectToDb($strSystemFolderID);
     $this->strMasterID = $objPage->getSystemid();
     $strReturn .= "ID of new page: " . $this->strMasterID . "\n";
     $strReturn .= "Creating error-site...\n";
     $objPage = new class_module_pages_page();
     $objPage->setStrName("error");
     if ($this->strContentLanguage == "de") {
         $objPage->setStrBrowsername("Fehler");
     } else {
         $objPage->setStrBrowsername("Error");
     }
     $objPage->setStrTemplate("standard.tpl");
     $objPage->updateObjectToDb($strSystemFolderID);
     $strErrorPageId = $objPage->getSystemid();
     $strReturn .= "ID of new page: " . $strErrorPageId . "\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($strErrorPageId);
         $strElementId = $objPagelement->getSystemid();
         $arrParams = array();
         if ($this->strContentLanguage == "de") {
             $arrParams[] = "Fehler";
             $arrParams[] = $strElementId;
         } else {
             $arrParams[] = "Error";
             $arrParams[] = $strElementId;
         }
         $strQuery = "UPDATE " . _dbprefix_ . "element_paragraph\n                            SET paragraph_title = ?\n                            WHERE content_id = ?";
         if ($this->objDB->_pQuery($strQuery, $arrParams)) {
             $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("content_paragraph|image");
         $objPagelement->setStrName("text");
         $objPagelement->setStrElement("paragraph");
         $objPagelement->updateObjectToDb($strErrorPageId);
         $strElementId = $objPagelement->getSystemid();
         $arrParams = array();
         if ($this->strContentLanguage == "de") {
             $arrParams[] = "Ein Fehler ist aufgetreten";
             $arrParams[] = "Während Ihre Anfrage ist leider ein Fehler aufgetreten.<br />Bitte versuchen Sie die letzte Aktion erneut.";
             $arrParams[] = $strElementId;
         } else {
             $arrParams[] = "An error occurred";
             $arrParams[] = "Maybe the requested page doesn\\'t exist anymore.<br />Please try it again later.";
             $arrParams[] = $strElementId;
         }
         $strQuery = "UPDATE " . _dbprefix_ . "element_paragraph\n                        SET paragraph_title = ?,\n                            paragraph_content = ?\n                        WHERE content_id = ?";
         if ($this->objDB->_pQuery($strQuery, $arrParams, array(true, false))) {
             $strReturn .= "Paragraph element created.\n";
         } else {
             $strReturn .= "Error creating paragraph element.\n";
         }
     }
     $strReturn .= "Creating imprint-site...\n";
     $objPage = new class_module_pages_page();
     $objPage->setStrName("imprint");
     if ($this->strContentLanguage == "de") {
         $objPage->setStrBrowsername("Impressum");
     } else {
         $objPage->setStrBrowsername("Imprint");
     }
     $objPage->setStrTemplate("standard.tpl");
     $objPage->updateObjectToDb($strSystemFolderID);
     $strImprintPageId = $objPage->getSystemid();
     $strReturn .= "ID of new page: " . $strImprintPageId . "\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($strImprintPageId);
         $strElementId = $objPagelement->getSystemid();
         $arrParams = array();
         if ($this->strContentLanguage == "de") {
             $arrParams[] = "Impressum";
             $arrParams[] = $strElementId;
         } else {
             $arrParams[] = "Imprint";
             $arrParams[] = $strElementId;
         }
         $strQuery = "UPDATE " . _dbprefix_ . "element_paragraph\n                            SET paragraph_title = ?\n                            WHERE content_id = ?";
         if ($this->objDB->_pQuery($strQuery, $arrParams)) {
             $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("content_paragraph|image");
         $objPagelement->setStrName("text");
         $objPagelement->setStrElement("paragraph");
         $objPagelement->updateObjectToDb($strImprintPageId);
         $strElementId = $objPagelement->getSystemid();
         $arrParams = array();
         if ($this->strContentLanguage == "de") {
             $arrParams[] = "Impressum";
             $arrParams[] = "Bitte tragen Sie hier Ihre Kontaktdaten ein.<br />\n                               Nachname, Name<br />\n                               Straße und Hausnummer<br />\n                               PLZ, Ort<br />\n                               Telefon<br />\n                               E-Mail<br />\n                               <br />\n                               Site powered by <a href=\"http://www.kajona.de\" target=\"_blank\" title=\"Kajona CMS - empowering your content\">Kajona</a><br /><a href=\"http://www.kajona.de\" target=\"_blank\" title=\"Kajona CMS - empowering your content\"><img src=\"_webpath_/templates/default/pics/default/kajona_poweredby.png\" alt=\"Kajona\" /></a><br />";
             $arrParams[] = $strElementId;
         } else {
             $arrParams[] = "Imprint";
             $arrParams[] = "Please provide your contact details.<br />\n                               Name, Forename<br />\n                               Street<br />\n                               Zip, City<br />\n                               Phone<br />\n                               Mail<br />\n                               <br />\n                               Site powered by <a href=\"http://www.kajona.de\" target=\"_blank\" title=\"Kajona CMS - empowering your content\">Kajona</a><br /><a href=\"http://www.kajona.de\" target=\"_blank\" title=\"Kajona CMS - empowering your content\"><img src=\"_webpath_/templates/default/pics/default/kajona_poweredby.png\" alt=\"Kajona\" /></a><br />";
             $arrParams[] = $strElementId;
         }
         $strQuery = "UPDATE " . _dbprefix_ . "element_paragraph\n                        SET paragraph_title = ?,\n                           paragraph_content = ?\n                      WHERE content_id = ?";
         if ($this->objDB->_pQuery($strQuery, $arrParams, array(true, false))) {
             $strReturn .= "Paragraph element created.\n";
         } else {
             $strReturn .= "Error creating paragraph element.\n";
         }
     }
     $strReturn .= "Creating sample page...\n";
     $objPage = new class_module_pages_page();
     $objPage->setStrName("page_1");
     if ($this->strContentLanguage == "de") {
         $objPage->setStrBrowsername("Beispielseite 1");
     } else {
         $objPage->setStrBrowsername("Sample page 1");
     }
     $objPage->setStrTemplate("standard.tpl");
     $objPage->updateObjectToDb($strMainnavigationFolderID);
     $strSamplePageId = $objPage->getSystemid();
     $strReturn .= "ID of new page: " . $strSamplePageId . "\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($strSamplePageId);
         $strElementId = $objPagelement->getSystemid();
         $arrParams = array();
         if ($this->strContentLanguage == "de") {
             $arrParams[] = "Beispielseite 1";
             $arrParams[] = $strElementId;
         } else {
             $arrParams[] = "Sample page 1";
             $arrParams[] = $strElementId;
         }
         $strQuery = "UPDATE " . _dbprefix_ . "element_paragraph\n                            SET paragraph_title = ?\n                            WHERE content_id = ?";
         if ($this->objDB->_pQuery($strQuery, $arrParams)) {
             $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("content_paragraph|image");
         $objPagelement->setStrName("text");
         $objPagelement->setStrElement("paragraph");
         $objPagelement->updateObjectToDb($strSamplePageId);
         $strElementId = $objPagelement->getSystemid();
         $arrParams = array();
         if ($this->strContentLanguage == "de") {
             $arrParams[] = "Standard-Absatz";
             $arrParams[] = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.";
             $arrParams[] = "/files/images/samples/IMG_3000.JPG";
             $arrParams[] = "http://www.kajona.de/";
             $arrParams[] = $strElementId;
         } else {
             $arrParams[] = "Standard paragraph";
             $arrParams[] = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.";
             $arrParams[] = "/files/images/samples/IMG_3000.JPG";
             $arrParams[] = "http://www.kajona.de/";
             $arrParams[] = $strElementId;
         }
         $strQuery = "UPDATE " . _dbprefix_ . "element_paragraph\n                            SET paragraph_title = ?,\n                                paragraph_content = ?,\n                                paragraph_image = ?,\n                                paragraph_link = ?\n                            WHERE content_id = ?";
         if ($this->objDB->_pQuery($strQuery, $arrParams)) {
             $strReturn .= "Paragraph element created.\n";
         } else {
             $strReturn .= "Error creating paragraph element.\n";
         }
     }
     $strReturn .= "Creating sample subpage...\n";
     $objPage = new class_module_pages_page();
     $objPage->setStrName("subpage_1");
     if ($this->strContentLanguage == "de") {
         $objPage->setStrBrowsername("Beispiel-Unterseite 1");
     } else {
         $objPage->setStrBrowsername("Sample subpage 1");
     }
     $objPage->setStrTemplate("standard.tpl");
     $objPage->updateObjectToDb($strSamplePageId);
     $strSampleSubPageId = $objPage->getSystemid();
     $strReturn .= "ID of new page: " . $strSampleSubPageId . "\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($strSampleSubPageId);
         $strElementId = $objPagelement->getSystemid();
         $arrParams = array();
         if ($this->strContentLanguage == "de") {
             $arrParams[] = "Beispiel-Unterseite 1";
             $arrParams[] = $strElementId;
         } else {
             $arrParams[] = "Sample subpage 1";
             $arrParams[] = $strElementId;
         }
         $strQuery = "UPDATE " . _dbprefix_ . "element_paragraph\n                            SET paragraph_title = ?\n                            WHERE content_id = ?";
         if ($this->objDB->_pQuery($strQuery, $arrParams)) {
             $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("content_paragraph|image");
         $objPagelement->setStrName("text");
         $objPagelement->setStrElement("paragraph");
         $objPagelement->updateObjectToDb($strSampleSubPageId);
         $strElementId = $objPagelement->getSystemid();
         $arrParams = array();
         if ($this->strContentLanguage == "de") {
             $arrParams[] = "Standard-Absatz auf Unterseite";
             $arrParams[] = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.";
             $arrParams[] = $strElementId;
         } else {
             $arrParams[] = "Standard paragraph on subpage";
             $arrParams[] = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.";
             $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;
 }
コード例 #11
0
 private function update_464_465()
 {
     $strReturn = "Updating 4.6.4 to 4.6.5...\n";
     $strReturn .= "Updating user table...\n";
     $this->objDB->addColumn("user", "user_items_per_page", class_db_datatypes::STR_TYPE_INT);
     $strReturn .= "Removing setting _user_log_nrofrecords_...\n";
     class_module_system_setting::getConfigByName("_user_log_nrofrecords_")->deleteObjectFromDatabase();
     $strReturn .= "Removing setting _system_use_dbcache_...\n";
     class_module_system_setting::getConfigByName("_system_use_dbcache_")->deleteObjectFromDatabase();
     $strReturn .= "Updating module-versions...\n";
     $this->updateModuleVersion($this->objMetadata->getStrTitle(), "4.6.5");
     return $strReturn;
 }
コード例 #12
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;
 }
コード例 #13
0
 private function update_42_43()
 {
     $strReturn = "Updating 4.2 to 4.3...\n";
     $strReturn .= "Changing placeholder column data-type...\n";
     $strReturn .= "Creating temp-table...\n";
     $strReturn .= "Installing table page_element...\n";
     $arrFields = array();
     $arrFields["page_element_id"] = array("char20", false);
     $arrFields["page_element_ph_placeholder"] = array("text", true);
     $arrFields["page_element_ph_name"] = array("char254", true);
     $arrFields["page_element_ph_element"] = array("char254", true);
     $arrFields["page_element_ph_title"] = array("char254", true);
     $arrFields["page_element_ph_language"] = array("char20", true);
     if (!$this->objDB->createTable("page_element_temp", $arrFields, array("page_element_id"), array("page_element_ph_language", "page_element_ph_element"))) {
         $strReturn .= "An error occurred! ...\n";
     }
     $strReturn .= "Copying table content...\n";
     $strQuery = "INSERT INTO " . _dbprefix_ . "page_element_temp\n                        (page_element_id, page_element_ph_placeholder, page_element_ph_name, page_element_ph_element, page_element_ph_title, page_element_ph_language)\n                       SELECT page_element_id, page_element_ph_placeholder, page_element_ph_name, page_element_ph_element, page_element_ph_title, page_element_ph_language FROM " . _dbprefix_ . "page_element";
     if (!$this->objDB->_query($strQuery)) {
         $strReturn .= "An error occurred! ...\n";
     }
     $strReturn .= "Dropping old table...\n";
     $strQuery = "DROP TABLE " . $this->objDB->encloseTableName(_dbprefix_ . "page_element") . "";
     if (!$this->objDB->_query($strQuery)) {
         $strReturn .= "An error occurred! ...\n";
     }
     $strReturn .= "Renaming new table...\n";
     $strQuery = "ALTER TABLE " . $this->objDB->encloseTableName(_dbprefix_ . "page_element_temp") . " RENAME TO " . $this->objDB->encloseTableName(_dbprefix_ . "page_element") . "";
     if (!$this->objDB->_query($strQuery)) {
         $strReturn .= "An error occurred! ...\n";
     }
     $strReturn .= "Copying default-template, if in use. Placeholders changed in 4.3\n";
     if (class_module_system_setting::getConfigValue("_packagemanager_defaulttemplate_") == "default") {
         $objFS = new class_filesystem();
         $objFS->folderCreate("/templates/kajona42/tpl/module_pages", true);
         $objFS->fileCopy("/core/module_pages/installer/standard.tpl.42", "/templates/kajona42/tpl/module_pages/standard.tpl");
         class_module_packagemanager_template::syncTemplatepacks();
         /** @var $objOnePack class_module_packagemanager_template */
         foreach (class_module_packagemanager_template::getObjectList() as $objOnePack) {
             if ($objOnePack->getStrName() == "kajona42") {
                 $objOnePack->setIntRecordStatus(1);
                 $objOnePack->updateObjectToDb();
             }
         }
         $objSetting = class_module_system_setting::getConfigByName("_packagemanager_defaulttemplate_");
         $objSetting->setStrValue("kajona42");
         $objSetting->updateObjectToDb();
     }
     $strReturn .= "Updating module-versions...\n";
     $this->updateModuleVersion("", "4.3");
     $strReturn .= "Updating element-version...\n";
     $this->updateElementVersion("row", "4.3");
     $this->updateElementVersion("paragraph", "4.3");
     $this->updateElementVersion("image", "4.3");
     return $strReturn;
 }