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;
 }
Ejemplo n.º 2
0
 public function install()
 {
     $strReturn = "";
     $objManager = new class_orm_schemamanager();
     $strReturn .= "Installing table votings_voting...\n";
     $objManager->createTable("class_module_votings_voting");
     $strReturn .= "Installing table votings_answer...\n";
     $objManager->createTable("class_module_votings_answer");
     //register the module
     $strSystemID = $this->registerModule($this->objMetadata->getStrTitle(), _votings_module_id_, "class_module_votings_portal.php", "class_module_votings_admin.php", $this->objMetadata->getStrVersion(), true);
     //modify default rights to allow guests to vote
     $strReturn .= "Modifying modules' rights node...\n";
     class_carrier::getInstance()->getObjRights()->addGroupToRight(class_module_system_setting::getConfigValue("_guests_group_id_"), $strSystemID, "right1");
     $strReturn .= "Registering votings-element...\n";
     if (class_module_pages_element::getElement("votings") == null) {
         $objElement = new class_module_pages_element();
         $objElement->setStrName("votings");
         $objElement->setStrClassAdmin("class_element_votings_admin.php");
         $objElement->setStrClassPortal("class_element_votings_portal.php");
         $objElement->setIntCachetime(-1);
         $objElement->setIntRepeat(1);
         $objElement->setStrVersion($this->objMetadata->getStrVersion());
         $objElement->updateObjectToDb();
         $strReturn .= "Element registered...\n";
     } else {
         $strReturn .= "Element already installed!...\n";
     }
     $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 install()
 {
     $strReturn = "";
     $objManager = new class_orm_schemamanager();
     $strReturn .= "Installing table templatepacks...\n";
     $objManager->createTable("class_module_packagemanager_template");
     //register the module
     $this->registerModule("packagemanager", _packagemanager_module_id_, "", "class_module_packagemanager_admin.php", $this->objMetadata->getStrVersion(), true);
     $strReturn .= "Registering system-constants...\n";
     $this->registerConstant("_packagemanager_defaulttemplate_", "default", class_module_system_setting::$int_TYPE_STRING, _packagemanager_module_id_);
     $strReturn .= "Initial templatepack sync...\n";
     class_module_packagemanager_template::syncTemplatepacks();
     $arrPacks = class_module_packagemanager_template::getObjectList();
     if (count($arrPacks) > 0) {
         //search the default package
         foreach ($arrPacks as $objOnePack) {
             if ($objOnePack->getStrName() == "default") {
                 $objOnePack->setIntRecordStatus(1);
                 $objOnePack->updateObjectToDb();
             }
         }
     }
     $strReturn .= "Setting aspect assignments...\n";
     if (class_module_system_aspect::getAspectByName("management") != null) {
         $objModule = class_module_system_module::getModuleByName($this->objMetadata->getStrTitle());
         $objModule->setStrAspect(class_module_system_aspect::getAspectByName("management")->getSystemid());
         $objModule->updateObjectToDb();
     }
     return $strReturn;
 }
Ejemplo n.º 4
0
 public function install()
 {
     $strReturn = "";
     $objManager = new class_orm_schemamanager();
     $strReturn .= "Installing table rating...\n";
     $objManager->createTable("class_module_rating_rate");
     $strReturn .= "Installing table rating_history...\n";
     $arrFields = array();
     $arrFields["rating_history_id"] = array("char20", false);
     $arrFields["rating_history_rating"] = array("char20", true);
     $arrFields["rating_history_user"] = array("char20", true);
     $arrFields["rating_history_timestamp"] = array("int", true);
     $arrFields["rating_history_value"] = array("double", true);
     if (!$this->objDB->createTable("rating_history", $arrFields, array("rating_history_id"))) {
         $strReturn .= "An error occurred! ...\n";
     }
     //register the module
     $strSystemID = $this->registerModule("rating", _rating_modul_id_, "class_module_rating_portal.php", "", $this->objMetadata->getStrVersion(), false, "class_module_rating_portal_xml.php");
     $strReturn .= "Module registered. Module-ID: " . $strSystemID . " \n";
     $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;
 }
 /**
  * This callback is triggered on a users' first login into the system.
  * You may use this method to install a widget as a default widget to
  * a users dashboard.
  *
  * @param $strUserid
  *
  * @return bool
  */
 public function onFistLogin($strUserid)
 {
     if (class_module_system_module::getModuleByName("system") !== null && class_module_system_aspect::getAspectByName("management") !== null) {
         $objDashboard = new class_module_dashboard_widget();
         $objDashboard->setStrColumn("column3");
         $objDashboard->setStrUser($strUserid);
         $objDashboard->setStrClass(__CLASS__);
         $objDashboard->setStrContent("a:1:{s:8:\"nrofrows\";s:1:\"1\";}");
         return $objDashboard->updateObjectToDb(class_module_dashboard_widget::getWidgetsRootNodeForUser($strUserid, class_module_system_aspect::getAspectByName("management")->getSystemid()));
     }
     return true;
 }
Ejemplo n.º 6
0
 /**
  * This callback is triggered on a users' first login into the system.
  * You may use this method to install a widget as a default widget to
  * a users dashboard.
  *
  * @param $strUserid
  *
  * @return bool
  */
 public function onFistLogin($strUserid)
 {
     if (class_module_system_aspect::getAspectByName("content") !== null) {
         $objDashboard = new class_module_dashboard_widget();
         $objDashboard->setStrColumn("column2");
         $objDashboard->setStrUser($strUserid);
         $objDashboard->setStrClass(__CLASS__);
         $objDashboard->setStrContent("a:1:{s:7:\"content\";s:1460:\"Welcome to Kajona V4!<br /><br  />Kajona is developed by volunteers all over the world - show them your support by liking Kajona on facebook or donating a beer.<div id=\"fb-root\"></div><script>(function(d, s, id) {  var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;} js = d.createElement(s); js.id = id; js.src = \"//connect.facebook.net/en_US/all.js#appId=141503865945925&xfbml=1\"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));</script><div class=\"fb-like\" data-href=\"https://www.facebook.com/pages/Kajona%C2%B3/156841314360532\" data-send=\"false\" data-layout=\"button_count\" data-width=\"60\" data-show-faces=\"false\"></div><form action=\"https://www.paypal.com/cgi-bin/webscr\" method=\"post\"><input type=\"hidden\" name=\"cmd\" value=\"_donations\" /> <input type=\"hidden\" name=\"business\" value=\"donate@kajona.de\" /> <input type=\"hidden\" name=\"item_name\" value=\"Kajona Development\" /> <input type=\"hidden\" name=\"no_shipping\" value=\"0\" /> <input type=\"hidden\" name=\"no_note\" value=\"1\" /> <input type=\"hidden\" name=\"currency_code\" value=\"EUR\" /> <input type=\"hidden\" name=\"tax\" value=\"0\" /> <input type=\"hidden\" name=\"bn\" value=\"PP-DonationsBF\" /> <input type=\"image\" border=\"0\" src=\"https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif\" name=\"submit\" alt=\"PayPal - The safer, easier way to pay online!\" /> <img height=\"1\" width=\"1\" border=\"0\" alt=\"\" src=\"https://www.paypal.com/en_US/i/scr/pixel.gif\" /></form>\";}");
         return $objDashboard->updateObjectToDb(class_module_dashboard_widget::getWidgetsRootNodeForUser($strUserid, class_module_system_aspect::getAspectByName("content")->getSystemid()));
     }
     return true;
 }
Ejemplo n.º 7
0
 public function install()
 {
     $strReturn = "";
     $objSchemamanager = new class_orm_schemamanager();
     //faqs cat-------------------------------------------------------------------------------------
     $strReturn .= "Installing table faqs_category...\n";
     $objSchemamanager->createTable("class_module_faqs_category");
     //faqs----------------------------------------------------------------------------------
     $strReturn .= "Installing table faqs...\n";
     $objSchemamanager->createTable("class_module_faqs_faq");
     //register the module
     $this->registerModule("faqs", _faqs_module_id_, "class_module_faqs_portal.php", "class_module_faqs_admin.php", $this->objMetadata->getStrVersion(), true);
     //Table for page-element
     $strReturn .= "Installing faqs-element table...\n";
     $arrFields = array();
     $arrFields["content_id"] = array("char20", false);
     $arrFields["faqs_category"] = array("char20", true);
     $arrFields["faqs_template"] = array("char254", true);
     if (!$this->objDB->createTable("element_faqs", $arrFields, array("content_id"))) {
         $strReturn .= "An error occurred! ...\n";
     }
     //Register the element
     $strReturn .= "Registering faqs-element...\n";
     //check, if not already existing
     $objElement = class_module_pages_element::getElement("faqs");
     if ($objElement == null) {
         $objElement = new class_module_pages_element();
         $objElement->setStrName("faqs");
         $objElement->setStrClassAdmin("class_element_faqs_admin.php");
         $objElement->setStrClassPortal("class_element_faqs_portal.php");
         $objElement->setIntCachetime(3600);
         $objElement->setIntRepeat(1);
         $objElement->setStrVersion($this->objMetadata->getStrVersion());
         $objElement->updateObjectToDb();
         $strReturn .= "Element registered...\n";
     } else {
         $strReturn .= "Element already installed!...\n";
     }
     $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;
 }
Ejemplo n.º 8
0
 public function install()
 {
     $strReturn = "";
     $objManager = new class_orm_schemamanager();
     $strReturn .= "Installing table news_category...\n";
     $objManager->createTable("class_module_news_category");
     $strReturn .= "Installing table news...\n";
     $objManager->createTable("class_module_news_news");
     $strReturn .= "Installing table news_feed...\n";
     $objManager->createTable("class_module_news_feed");
     //register the module
     $this->registerModule("news", _news_module_id_, "class_module_news_portal.php", "class_module_news_admin.php", $this->objMetadata->getStrVersion(), true, "class_module_news_portal_xml.php");
     $strReturn .= "Installing news-element table...\n";
     $objManager->createTable("class_element_news_admin");
     //Register the element
     $strReturn .= "Registering news-element...\n";
     //check, if not already existing
     if (class_module_pages_element::getElement("news") == null) {
         $objElement = new class_module_pages_element();
         $objElement->setStrName("news");
         $objElement->setStrClassAdmin("class_element_news_admin.php");
         $objElement->setStrClassPortal("class_element_news_portal.php");
         $objElement->setIntCachetime(3600);
         $objElement->setIntRepeat(1);
         $objElement->setStrVersion($this->objMetadata->getStrVersion());
         $objElement->updateObjectToDb();
         $strReturn .= "Element registered...\n";
     } else {
         $strReturn .= "Element already installed!...\n";
     }
     $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();
     }
     $strReturn .= "Registering config settings...\n";
     $this->registerConstant("_news_news_datetime_", "false", class_module_system_setting::$int_TYPE_BOOL, _news_module_id_);
     return $strReturn;
 }
Ejemplo n.º 9
0
 public function install()
 {
     $strReturn = "";
     //Stats table -----------------------------------------------------------------------------------
     $strReturn .= "Installing table stats...\n";
     $arrFields = array();
     $arrFields["stats_id"] = array("char20", false);
     $arrFields["stats_ip"] = array("char20", true);
     $arrFields["stats_hostname"] = array("char254", true);
     $arrFields["stats_date"] = array("int", true);
     $arrFields["stats_page"] = array("char254", true);
     $arrFields["stats_language"] = array("char10", true);
     $arrFields["stats_referer"] = array("char254", true);
     $arrFields["stats_browser"] = array("char254", true);
     $arrFields["stats_session"] = array("char100", true);
     if (!$this->objDB->createTable("stats_data", $arrFields, array("stats_id"), array("stats_date", "stats_hostname", "stats_page", "stats_referer", "stats_browser"), false)) {
         $strReturn .= "An error occurred! ...\n";
     }
     $strReturn .= "Installing table ip2country...\n";
     $arrFields = array();
     $arrFields["ip2c_ip"] = array("char20", false);
     $arrFields["ip2c_name"] = array("char100", false);
     if (!$this->objDB->createTable("stats_ip2country", $arrFields, array("ip2c_ip"), array(), false)) {
         $strReturn .= "An error occurred! ...\n";
     }
     //register module
     $this->registerModule("stats", _stats_modul_id_, "class_module_stats_portal.php", "class_module_stats_admin.php", $this->objMetadata->getStrVersion(), true, "", "class_module_stats_admin_xml.php");
     $strReturn .= "Registering system-constants...\n";
     //Number of rows in the login-log
     $this->registerConstant("_stats_duration_online_", "300", class_module_system_setting::$int_TYPE_INT, _stats_modul_id_);
     $this->registerConstant("_stats_exclusionlist_", _webpath_, class_module_system_setting::$int_TYPE_STRING, _stats_modul_id_);
     $strReturn .= "Setting aspect assignments...\n";
     if (class_module_system_aspect::getAspectByName("management") != null) {
         $objModule = class_module_system_module::getModuleByName($this->objMetadata->getStrTitle());
         $objModule->setStrAspect(class_module_system_aspect::getAspectByName("management")->getSystemid());
         $objModule->updateObjectToDb();
     }
     $strReturn .= $this->extractBrowscap();
     return $strReturn;
 }
 public function install()
 {
     $strReturn = "Installing " . $this->objMetadata->getStrTitle() . "...\n";
     $objManager = new class_orm_schemamanager();
     $strReturn .= "Installing table navigation...\n";
     $objManager->createTable("class_module_navigation_point");
     //register the module
     $this->registerModule("navigation", _navigation_modul_id_, "class_module_navigation_portal.php", "class_module_navigation_admin.php", $this->objMetadata->getStrVersion(), true);
     $strReturn .= "Installing navigation-element table...\n";
     $objManager->createTable("class_element_navigation_admin");
     //Register the element
     $strReturn .= "Registering navigation-element...\n";
     //check, if not already existing
     $objElement = null;
     try {
         $objElement = class_module_pages_element::getElement("navigation");
     } catch (class_exception $objEx) {
     }
     if ($objElement == null) {
         $objElement = new class_module_pages_element();
         $objElement->setStrName("navigation");
         $objElement->setStrClassAdmin("class_element_navigation_admin.php");
         $objElement->setStrClassPortal("class_element_navigation_portal.php");
         $objElement->setIntCachetime(3600);
         $objElement->setIntRepeat(0);
         $objElement->setStrVersion($this->objMetadata->getStrVersion());
         $objElement->updateObjectToDb();
         $strReturn .= "Element registered...\n";
     } else {
         $strReturn .= "Element already installed!...\n";
     }
     $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 install()
 {
     $strReturn = "";
     $objManager = new class_orm_schemamanager();
     $strReturn .= "Installing table guestbook_book...\n";
     $objManager->createTable("class_module_guestbook_guestbook");
     $strReturn .= "Installing table guestbook_post...\n";
     $objManager->createTable("class_module_guestbook_post");
     //register the module
     $this->registerModule("guestbook", _guestbook_module_id_, "class_module_guestbook_portal.php", "class_module_guestbook_admin.php", $this->objMetadata->getStrVersion(), true);
     //Table for page-element
     $strReturn .= "Installing guestbook-element table...\n";
     $objManager->createTable("class_element_guestbook_admin");
     //Register the element
     $strReturn .= "Registering guestbook-element...\n";
     //check, if not already existing
     $objElement = class_module_pages_element::getElement("guestbook");
     if ($objElement === null) {
         $objElement = new class_module_pages_element();
         $objElement->setStrName("guestbook");
         $objElement->setStrClassAdmin("class_element_guestbook_admin.php");
         $objElement->setStrClassPortal("class_element_guestbook_portal.php");
         $objElement->setIntCachetime(3600);
         $objElement->setIntRepeat(1);
         $objElement->setStrVersion($this->objMetadata->getStrVersion());
         $objElement->updateObjectToDb();
         $strReturn .= "Element registered...\n";
     } else {
         $strReturn .= "Element already installed!...\n";
     }
     $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;
 }
 /**
  * This callback is triggered on a users' first login into the system.
  * You may use this method to install a widget as a default widget to
  * a users dashboard.
  *
  * @param $strUserid
  *
  * @return bool
  */
 public function onFistLogin($strUserid)
 {
     if (class_module_system_aspect::getAspectByName("content") !== null) {
         $objDashboard = new class_module_dashboard_widget();
         $objDashboard->setStrColumn("column3");
         $objDashboard->setStrUser($strUserid);
         $objDashboard->setStrClass(__CLASS__);
         $objDashboard->setStrContent("a:2:{s:7:\"feedurl\";s:39:\"http://www.kajona.de/kajona_news_en.rss\";s:5:\"posts\";s:1:\"4\";}");
         return $objDashboard->updateObjectToDb(class_module_dashboard_widget::getWidgetsRootNodeForUser($strUserid, class_module_system_aspect::getAspectByName("content")->getSystemid()));
     }
     return true;
 }
Ejemplo n.º 13
0
 /**
  * This callback is triggered on a users' first login into the system.
  * You may use this method to install a widget as a default widget to
  * a users dashboard.
  *
  * @param $strUserid
  *
  * @return bool
  */
 public function onFistLogin($strUserid)
 {
     if (class_module_system_module::getModuleByName("stats") !== null && class_module_system_aspect::getAspectByName("management") !== null) {
         $objDashboard = new class_module_dashboard_widget();
         $objDashboard->setStrColumn("column2");
         $objDashboard->setStrUser($strUserid);
         $objDashboard->setStrClass(__CLASS__);
         $objDashboard->setStrContent("a:5:{s:7:\"current\";s:7:\"checked\";s:3:\"day\";s:7:\"checked\";s:4:\"last\";s:7:\"checked\";s:6:\"nrLast\";s:1:\"4\";s:5:\"chart\";s:7:\"checked\";}");
         return $objDashboard->updateObjectToDb(class_module_dashboard_widget::getWidgetsRootNodeForUser($strUserid, class_module_system_aspect::getAspectByName("management")->getSystemid()));
     }
     return true;
 }
Ejemplo n.º 14
0
 public function install()
 {
     $strReturn = "";
     $objManager = new class_orm_schemamanager();
     // System table ---------------------------------------------------------------------------------
     $strReturn .= "Installing table system...\n";
     $arrFields = array();
     $arrFields["system_id"] = array("char20", false);
     $arrFields["system_prev_id"] = array("char20", false);
     $arrFields["system_module_nr"] = array("int", false);
     $arrFields["system_sort"] = array("int", true);
     $arrFields["system_owner"] = array("char20", true);
     $arrFields["system_create_date"] = array("long", true);
     $arrFields["system_lm_user"] = array("char20", true);
     $arrFields["system_lm_time"] = array("int", true);
     $arrFields["system_lock_id"] = array("char20", true);
     $arrFields["system_lock_time"] = array("int", true);
     $arrFields["system_status"] = array("int", true);
     $arrFields["system_class"] = array("char254", true);
     $arrFields["system_comment"] = array("char254", true);
     $arrFields["system_deleted"] = array("int", true);
     if (!$this->objDB->createTable("system", $arrFields, array("system_id"), array("system_prev_id", "system_module_nr", "system_sort", "system_owner", "system_create_date", "system_status", "system_lm_time", "system_lock_time", "system_deleted"))) {
         $strReturn .= "An error occurred! ...\n";
     }
     //Rights table ----------------------------------------------------------------------------------
     $strReturn .= "Installing table system_right...\n";
     $arrFields = array();
     $arrFields["right_id"] = array("char20", false);
     $arrFields["right_inherit"] = array("int", true);
     $arrFields["right_view"] = array("text", true);
     $arrFields["right_edit"] = array("text", true);
     $arrFields["right_delete"] = array("text", true);
     $arrFields["right_right"] = array("text", true);
     $arrFields["right_right1"] = array("text", true);
     $arrFields["right_right2"] = array("text", true);
     $arrFields["right_right3"] = array("text", true);
     $arrFields["right_right4"] = array("text", true);
     $arrFields["right_right5"] = array("text", true);
     $arrFields["right_changelog"] = array("text", true);
     if (!$this->objDB->createTable("system_right", $arrFields, array("right_id"))) {
         $strReturn .= "An error occurred! ...\n";
     }
     // Modul table ----------------------------------------------------------------------------------
     $strReturn .= "Installing table system_module...\n";
     $objManager->createTable("class_module_system_module");
     // Date table -----------------------------------------------------------------------------------
     $strReturn .= "Installing table system_date...\n";
     $arrFields = array();
     $arrFields["system_date_id"] = array("char20", false);
     $arrFields["system_date_start"] = array("long", true);
     $arrFields["system_date_end"] = array("long", true);
     $arrFields["system_date_special"] = array("long", true);
     if (!$this->objDB->createTable("system_date", $arrFields, array("system_date_id"), array("system_date_start", "system_date_end", "system_date_special"))) {
         $strReturn .= "An error occurred! ...\n";
     }
     // Config table ---------------------------------------------------------------------------------
     $strReturn .= "Installing table system_config...\n";
     $arrFields = array();
     $arrFields["system_config_id"] = array("char20", false);
     $arrFields["system_config_name"] = array("char254", true);
     $arrFields["system_config_value"] = array("char254", true);
     $arrFields["system_config_type"] = array("int", true);
     $arrFields["system_config_module"] = array("int", true);
     if (!$this->objDB->createTable("system_config", $arrFields, array("system_config_id"))) {
         $strReturn .= "An error occurred! ...\n";
     }
     // User table -----------------------------------------------------------------------------------
     $strReturn .= "Installing table user...\n";
     $arrFields = array();
     $arrFields["user_id"] = array("char20", false);
     $arrFields["user_username"] = array("char254", true);
     $arrFields["user_subsystem"] = array("char254", true);
     $arrFields["user_logins"] = array("int", true);
     $arrFields["user_lastlogin"] = array("int", true);
     $arrFields["user_active"] = array("int", true);
     $arrFields["user_admin"] = array("int", true);
     $arrFields["user_portal"] = array("int", true);
     $arrFields["user_deleted"] = array("int", true);
     $arrFields["user_admin_skin"] = array("char254", true);
     $arrFields["user_admin_language"] = array("char254", true);
     $arrFields["user_admin_module"] = array("char254", true);
     $arrFields["user_authcode"] = array("char20", true);
     $arrFields["user_items_per_page"] = array("int", true);
     if (!$this->objDB->createTable("user", $arrFields, array("user_id"), array("user_username", "user_subsystem", "user_active", "user_deleted"))) {
         $strReturn .= "An error occurred! ...\n";
     }
     // User table kajona subsystem  -----------------------------------------------------------------
     $strReturn .= "Installing table user_kajona...\n";
     $arrFields = array();
     $arrFields["user_id"] = array("char20", false);
     $arrFields["user_pass"] = array("char254", true);
     $arrFields["user_salt"] = array("char20", true);
     $arrFields["user_email"] = array("char254", true);
     $arrFields["user_forename"] = array("char254", true);
     $arrFields["user_name"] = array("char254", true);
     $arrFields["user_street"] = array("char254", true);
     $arrFields["user_postal"] = array("char254", true);
     $arrFields["user_city"] = array("char254", true);
     $arrFields["user_tel"] = array("char254", true);
     $arrFields["user_mobile"] = array("char254", true);
     $arrFields["user_date"] = array("long", true);
     if (!$this->objDB->createTable("user_kajona", $arrFields, array("user_id"))) {
         $strReturn .= "An error occurred! ...\n";
     }
     // User group table -----------------------------------------------------------------------------
     $strReturn .= "Installing table user_group...\n";
     $arrFields = array();
     $arrFields["group_id"] = array("char20", false);
     $arrFields["group_name"] = array("char254", true);
     $arrFields["group_subsystem"] = array("char254", true);
     if (!$this->objDB->createTable("user_group", $arrFields, array("group_id"), array("group_name", "group_subsystem"))) {
         $strReturn .= "An error occurred! ...\n";
     }
     $strReturn .= "Installing table user_group_kajona...\n";
     $arrFields = array();
     $arrFields["group_id"] = array("char20", false);
     $arrFields["group_desc"] = array("char254", true);
     if (!$this->objDB->createTable("user_group_kajona", $arrFields, array("group_id"))) {
         $strReturn .= "An error occurred! ...\n";
     }
     // User group_members table ---------------------------------------------------------------------
     $strReturn .= "Installing table user_kajona_members...\n";
     $arrFields = array();
     $arrFields["group_member_group_kajona_id"] = array("char20", false);
     $arrFields["group_member_user_kajona_id"] = array("char20", false);
     if (!$this->objDB->createTable("user_kajona_members", $arrFields, array("group_member_group_kajona_id", "group_member_user_kajona_id"))) {
         $strReturn .= "An error occurred! ...\n";
     }
     // User log table -------------------------------------------------------------------------------
     $strReturn .= "Installing table user_log...\n";
     $arrFields = array();
     $arrFields["user_log_id"] = array("char20", false);
     $arrFields["user_log_userid"] = array("char254", true);
     $arrFields["user_log_date"] = array("long", true);
     $arrFields["user_log_status"] = array("int", true);
     $arrFields["user_log_ip"] = array("char20", true);
     $arrFields["user_log_sessid"] = array("char20", true);
     $arrFields["user_log_enddate"] = array("long", true);
     if (!$this->objDB->createTable("user_log", $arrFields, array("user_log_id"), array("user_log_sessid"))) {
         $strReturn .= "An error occurred! ...\n";
     }
     // Sessionmgtm ----------------------------------------------------------------------------------
     $strReturn .= "Installing table session...\n";
     $arrFields = array();
     $arrFields["session_id"] = array("char20", false);
     $arrFields["session_phpid"] = array("char254", true);
     $arrFields["session_userid"] = array("char20", true);
     $arrFields["session_groupids"] = array("text", true);
     $arrFields["session_releasetime"] = array("int", true);
     $arrFields["session_loginstatus"] = array("char254", true);
     $arrFields["session_loginprovider"] = array("char20", true);
     $arrFields["session_lasturl"] = array("char500", true);
     if (!$this->objDB->createTable("session", $arrFields, array("session_id"), array("session_phpid", "session_releasetime", "session_userid"))) {
         $strReturn .= "An error occurred! ...\n";
     }
     // caching --------------------------------------------------------------------------------------
     $strReturn .= "Installing table cache...\n";
     $arrFields = array();
     $arrFields["cache_id"] = array("char20", false);
     $arrFields["cache_source"] = array("char254", true);
     $arrFields["cache_hash1"] = array("char254", true);
     $arrFields["cache_hash2"] = array("char254", true);
     $arrFields["cache_language"] = array("char20", true);
     $arrFields["cache_content"] = array("longtext", true);
     $arrFields["cache_leasetime"] = array("int", true);
     $arrFields["cache_hits"] = array("int", true);
     if (!$this->objDB->createTable("cache", $arrFields, array("cache_id"), array("cache_source", "cache_hash1", "cache_leasetime", "cache_language"), false)) {
         $strReturn .= "An error occurred! ...\n";
     }
     //languages -------------------------------------------------------------------------------------
     $strReturn .= "Installing table languages...\n";
     $objManager->createTable("class_module_languages_language");
     $strReturn .= "Installing table languages_languageset...\n";
     $arrFields = array();
     $arrFields["languageset_id"] = array("char20", false);
     $arrFields["languageset_language"] = array("char20", true);
     $arrFields["languageset_systemid"] = array("char20", true);
     if (!$this->objDB->createTable("languages_languageset", $arrFields, array("languageset_id", "languageset_systemid"))) {
         $strReturn .= "An error occurred! ...\n";
     }
     //aspects --------------------------------------------------------------------------------------
     $strReturn .= "Installing table aspects...\n";
     $objManager->createTable("class_module_system_aspect");
     //changelog -------------------------------------------------------------------------------------
     $strReturn .= "Installing table changelog...\n";
     $this->installChangeTables();
     //messages
     $strReturn .= "Installing table messages...\n";
     $objManager->createTable("class_module_messaging_message");
     $objManager->createTable("class_module_messaging_config");
     //Now we have to register module by module
     //The Systemkernel
     $this->registerModule("system", _system_modul_id_, "", "class_module_system_admin.php", $this->objMetadata->getStrVersion(), true, "", "class_module_system_admin_xml.php");
     //The Rightsmodule
     $this->registerModule("right", _system_modul_id_, "", "class_module_right_admin.php", $this->objMetadata->getStrVersion(), false);
     //The Usermodule
     $this->registerModule("user", _user_modul_id_, "", "class_module_user_admin.php", $this->objMetadata->getStrVersion(), true);
     //languages
     $this->registerModule("languages", _languages_modul_id_, "class_modul_languages_portal.php", "class_module_languages_admin.php", $this->objMetadata->getStrVersion(), true);
     //messaging
     $this->registerModule("messaging", _messaging_module_id_, "", "class_module_messaging_admin.php", $this->objMetadata->getStrVersion(), true);
     //Registering a few constants
     $strReturn .= "Registering system-constants...\n";
     //And the default skin
     $this->registerConstant("_admin_skin_default_", "kajona_v4", class_module_system_setting::$int_TYPE_STRING, _user_modul_id_);
     //and a few system-settings
     $this->registerConstant("_system_portal_disable_", "false", class_module_system_setting::$int_TYPE_BOOL, _system_modul_id_);
     $this->registerConstant("_system_portal_disablepage_", "", class_module_system_setting::$int_TYPE_PAGE, _system_modul_id_);
     //New in 3.0: Number of db-dumps to hold
     $this->registerConstant("_system_dbdump_amount_", 5, class_module_system_setting::$int_TYPE_INT, _system_modul_id_);
     //new in 3.0: mod-rewrite on / off
     $this->registerConstant("_system_mod_rewrite_", "false", class_module_system_setting::$int_TYPE_BOOL, _system_modul_id_);
     //New Constant: Max time to lock records
     $this->registerConstant("_system_lock_maxtime_", 7200, class_module_system_setting::$int_TYPE_INT, _system_modul_id_);
     //Email to send error-reports
     $this->registerConstant("_system_admin_email_", $this->objSession->getSession("install_email"), class_module_system_setting::$int_TYPE_STRING, _system_modul_id_);
     $this->registerConstant("_system_email_defaultsender_", $this->objSession->getSession("install_email"), class_module_system_setting::$int_TYPE_STRING, _system_modul_id_);
     $this->registerConstant("_system_email_forcesender_", "false", class_module_system_setting::$int_TYPE_BOOL, _system_modul_id_);
     //3.0.2: user are allowed to change their settings?
     $this->registerConstant("_user_selfedit_", "true", class_module_system_setting::$int_TYPE_BOOL, _user_modul_id_);
     //3.1: nr of rows in admin
     $this->registerConstant("_admin_nr_of_rows_", 15, class_module_system_setting::$int_TYPE_INT, _system_modul_id_);
     $this->registerConstant("_admin_only_https_", "false", class_module_system_setting::$int_TYPE_BOOL, _system_modul_id_);
     //3.1: remoteloader max cachtime --> default 60 min
     $this->registerConstant("_remoteloader_max_cachetime_", 60 * 60, class_module_system_setting::$int_TYPE_INT, _system_modul_id_);
     //3.2: max session duration
     $this->registerConstant("_system_release_time_", 3600, class_module_system_setting::$int_TYPE_INT, _system_modul_id_);
     //3.4: cache buster to be able to flush the browsers cache (JS and CSS files)
     $this->registerConstant("_system_browser_cachebuster_", 0, class_module_system_setting::$int_TYPE_INT, _system_modul_id_);
     //3.4: Adding constant _system_graph_type_ indicating the chart-engine to use
     $this->registerConstant("_system_graph_type_", "jqplot", class_module_system_setting::$int_TYPE_STRING, _system_modul_id_);
     //3.4: Enabling or disabling the internal changehistory
     $this->registerConstant("_system_changehistory_enabled_", "false", class_module_system_setting::$int_TYPE_BOOL, _system_modul_id_);
     $this->registerConstant("_system_timezone_", "", class_module_system_setting::$int_TYPE_STRING, _system_modul_id_);
     //Creating the admin & guest groups
     $objAdminGroup = new class_module_user_group();
     $objAdminGroup->setStrName("Admins");
     $objAdminGroup->updateObjectToDb();
     $strReturn .= "Registered Group Admins...\n";
     $objGuestGroup = new class_module_user_group();
     $objGuestGroup->setStrName("Guests");
     $objGuestGroup->updateObjectToDb();
     $strReturn .= "Registered Group Guests...\n";
     //Systemid of guest-user & admin group
     $strGuestID = $objGuestGroup->getSystemid();
     $strAdminID = $objAdminGroup->getSystemid();
     $this->registerConstant("_guests_group_id_", $strGuestID, class_module_system_setting::$int_TYPE_STRING, _user_modul_id_);
     $this->registerConstant("_admins_group_id_", $strAdminID, class_module_system_setting::$int_TYPE_STRING, _user_modul_id_);
     //Create an root-record for the tree
     //So, lets generate the record
     $strQuery = "INSERT INTO " . _dbprefix_ . "system\n                     ( system_id, system_prev_id, system_module_nr, system_create_date, system_lm_time, system_status, system_sort, system_class) VALUES\n                     (?, ?, ?, ?, ?, ?, ?, ?)";
     //Send the query to the db
     $this->objDB->_pQuery($strQuery, array(0, 0, _system_modul_id_, class_date::getCurrentTimestamp(), time(), 1, 1, "class_module_system_common"));
     //BUT: We have to modify the right-record of the root node, too
     $strGroupsAll = $strGuestID . "," . $strAdminID;
     $strGroupsAdmin = $strAdminID;
     $strQuery = "INSERT INTO " . _dbprefix_ . "system_right\n            (right_id, right_inherit, right_view, right_edit, right_delete, right_right, right_right1, right_right2, right_right3, right_right4, right_right5, right_changelog) VALUES\n            (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
     $this->objDB->_pQuery($strQuery, array(0, 0, $strGroupsAll, $strGroupsAdmin, $strGroupsAdmin, $strGroupsAdmin, $strGroupsAdmin, $strGroupsAdmin, $strGroupsAdmin, $strGroupsAdmin, $strGroupsAdmin, $strGroupsAdmin));
     $this->objDB->flushQueryCache();
     $strReturn .= "Modified root-rights....\n";
     class_carrier::getInstance()->getObjRights()->rebuildRightsStructure();
     $strReturn .= "Rebuilt rights structures...\n";
     //Creating an admin-user
     $strUsername = "******";
     $strPassword = "******";
     $strEmail = "";
     //Login-Data given from installer?
     if ($this->objSession->getSession("install_username") !== false && $this->objSession->getSession("install_username") != "" && $this->objSession->getSession("install_password") !== false && $this->objSession->getSession("install_password") != "") {
         $strUsername = $this->objSession->getSession("install_username");
         $strPassword = $this->objSession->getSession("install_password");
         $strEmail = $this->objSession->getSession("install_email");
     }
     //create a default language
     $strReturn .= "Creating new default-language\n";
     $objLanguage = new class_module_languages_language();
     if ($this->strContentLanguage == "de") {
         $objLanguage->setStrName("de");
     } else {
         $objLanguage->setStrName("en");
     }
     $objLanguage->setBitDefault(true);
     $objLanguage->updateObjectToDb();
     $strReturn .= "ID of new language: " . $objLanguage->getSystemid() . "\n";
     //the admin-language
     $strAdminLanguage = $this->objSession->getAdminLanguage();
     //creating a new default-aspect
     $strReturn .= "Registering new default aspects...\n";
     $objAspect = new class_module_system_aspect();
     $objAspect->setStrName("content");
     $objAspect->setBitDefault(true);
     $objAspect->updateObjectToDb();
     class_module_system_aspect::setCurrentAspectId($objAspect->getSystemid());
     $objAspect = new class_module_system_aspect();
     $objAspect->setStrName("management");
     $objAspect->updateObjectToDb();
     $objUser = new class_module_user_user();
     $objUser->setStrUsername($strUsername);
     $objUser->setIntActive(1);
     $objUser->setIntAdmin(1);
     $objUser->setStrAdminlanguage($strAdminLanguage);
     $objUser->updateObjectToDb();
     $objUser->getObjSourceUser()->setStrPass($strPassword);
     $objUser->getObjSourceUser()->setStrEmail($strEmail);
     $objUser->getObjSourceUser()->updateObjectToDb();
     $strReturn .= "Created User Admin: <strong>Username: "******", Password: ***********</strong> ...\n";
     //The Admin should belong to the admin-Group
     $objAdminGroup->getObjSourceGroup()->addMember($objUser->getObjSourceUser());
     $strReturn .= "Registered Admin in Admin-Group...\n";
     $strReturn .= "Assigning modules to default aspects...\n";
     $objModule = class_module_system_module::getModuleByName("system");
     $objModule->setStrAspect(class_module_system_aspect::getAspectByName("management")->getSystemid());
     $objModule->updateObjectToDb();
     $objModule = class_module_system_module::getModuleByName("user");
     $objModule->setStrAspect(class_module_system_aspect::getAspectByName("management")->getSystemid());
     $objModule->updateObjectToDb();
     $objModule = class_module_system_module::getModuleByName("languages");
     $objModule->setStrAspect(class_module_system_aspect::getAspectByName("management")->getSystemid());
     $objModule->updateObjectToDb();
     $strReturn .= "Trying to copy the *.root files to top-level...\n";
     $arrFiles = array("index.php", "image.php", "xml.php", ".htaccess", "v3_v4_postupdate.php");
     foreach ($arrFiles as $strOneFile) {
         if (!file_exists(_realpath_ . "/" . $strOneFile) && is_file(class_resourceloader::getInstance()->getCorePathForModule("module_system", true) . "/module_system/" . $strOneFile . ".root")) {
             if (!copy(class_resourceloader::getInstance()->getCorePathForModule("module_system", true) . "/module_system/" . $strOneFile . ".root", _realpath_ . "/" . $strOneFile)) {
                 $strReturn .= "<b>Copying " . $strOneFile . ".root to top level failed!!!</b>";
             }
         }
     }
     $strReturn .= "Setting messaging to pos 1 in navigation.../n";
     $objModule = class_module_system_module::getModuleByName("messaging");
     $objModule->setAbsolutePosition(1);
     return $strReturn;
 }
Ejemplo n.º 15
0
 public function install()
 {
     $strReturn = "Installing " . $this->objMetadata->getStrTitle() . "...\n";
     $objManager = new class_orm_schemamanager();
     $strReturn .= "Installing table pages...\n";
     $objManager->createTable("class_module_pages_page");
     $strReturn .= "Installing table page_folder...\n";
     $objManager->createTable("class_module_pages_folder");
     //folder_properties
     $strReturn .= "Installing table page_properties...\n";
     $arrFields = array();
     $arrFields["pageproperties_id"] = array("char20", false);
     $arrFields["pageproperties_browsername"] = array("char254", true);
     $arrFields["pageproperties_keywords"] = array("char254", true);
     $arrFields["pageproperties_description"] = array("char254", true);
     $arrFields["pageproperties_template"] = array("char254", true);
     $arrFields["pageproperties_seostring"] = array("char254", true);
     $arrFields["pageproperties_language"] = array("char20", true);
     $arrFields["pageproperties_alias"] = array("char254", true);
     $arrFields["pageproperties_path"] = array("char254", true);
     $arrFields["pageproperties_target"] = array("char254", true);
     if (!$this->objDB->createTable("page_properties", $arrFields, array("pageproperties_id", "pageproperties_language"), array("pageproperties_language"))) {
         $strReturn .= "An error occurred! ...\n";
     }
     $strReturn .= "Installing table element...\n";
     $objManager->createTable("class_module_pages_element");
     $strReturn .= "Installing table page_element...\n";
     $objManager->createTable("class_module_pages_pageelement");
     //Now we have to register module by module
     //the pages
     $this->registerModule("pages", _pages_modul_id_, "class_module_pages_portal.php", "class_module_pages_admin.php", $this->objMetadata->getStrVersion(), true);
     //The pages_content
     $this->registerModule("pages_content", _pages_content_modul_id_, "", "class_module_pages_content_admin.php", $this->objMetadata->getStrVersion(), false);
     $strReturn .= "Registering system-constants...\n";
     $this->registerConstant("_pages_templatechange_", "false", class_module_system_setting::$int_TYPE_BOOL, _pages_modul_id_);
     $this->registerConstant("_pages_indexpage_", "index", class_module_system_setting::$int_TYPE_PAGE, _pages_modul_id_);
     $this->registerConstant("_pages_errorpage_", "error", class_module_system_setting::$int_TYPE_PAGE, _pages_modul_id_);
     $this->registerConstant("_pages_defaulttemplate_", "standard.tpl", class_module_system_setting::$int_TYPE_STRING, _pages_modul_id_);
     //2.1.1: overall cachetime
     $this->registerConstant("_pages_cacheenabled_", "true", class_module_system_setting::$int_TYPE_BOOL, _pages_modul_id_);
     //2.1.1: possibility, to create new pages disabled
     $this->registerConstant("_pages_newdisabled_", "false", class_module_system_setting::$int_TYPE_BOOL, _pages_modul_id_);
     //portaleditor
     $this->registerConstant("_pages_portaleditor_", "true", class_module_system_setting::$int_TYPE_BOOL, _pages_modul_id_);
     $strReturn .= "Shifting pages to third position...\n";
     $objModule = class_module_system_module::getModuleByName("pages");
     $objModule->setAbsolutePosition(3);
     //Table for paragraphes
     $strReturn .= "Installing paragraph table...\n";
     $objManager->createTable("class_element_paragraph_admin");
     //Register the element
     $strReturn .= "Registering paragraph...\n";
     //check, if not already existing
     $objElement = null;
     try {
         $objElement = class_module_pages_element::getElement("paragraph");
     } catch (class_exception $objEx) {
     }
     if ($objElement == null) {
         $objElement = new class_module_pages_element();
         $objElement->setStrName("paragraph");
         $objElement->setStrClassAdmin("class_element_paragraph_admin.php");
         $objElement->setStrClassPortal("class_element_paragraph_portal.php");
         $objElement->setIntCachetime(3600 * 24 * 30);
         $objElement->setIntRepeat(1);
         $objElement->setStrVersion($this->objMetadata->getStrVersion());
         $objElement->updateObjectToDb();
         $strReturn .= "Element registered...\n";
     } else {
         $strReturn .= "Element already installed!...\n";
     }
     $strReturn .= "Registering row...\n";
     //check, if not already existing
     $objElement = null;
     try {
         $objElement = class_module_pages_element::getElement("row");
     } catch (class_exception $objEx) {
     }
     if ($objElement == null) {
         $objElement = new class_module_pages_element();
         $objElement->setStrName("row");
         $objElement->setStrClassAdmin("class_element_row_admin.php");
         $objElement->setStrClassPortal("class_element_row_portal.php");
         $objElement->setIntCachetime(3600 * 24 * 30);
         $objElement->setIntRepeat(0);
         $objElement->setStrVersion($this->objMetadata->getStrVersion());
         $objElement->updateObjectToDb();
         $strReturn .= "Element registered...\n";
     } else {
         $strReturn .= "Element already installed!...\n";
     }
     //Table for images
     $strReturn .= "Installing image table...\n";
     $objManager->createTable("class_element_image_admin");
     //Register the element
     $strReturn .= "Registering image...\n";
     //check, if not already existing
     $objElement = null;
     try {
         $objElement = class_module_pages_element::getElement("image");
     } catch (class_exception $objEx) {
     }
     if ($objElement == null) {
         $objElement = new class_module_pages_element();
         $objElement->setStrName("image");
         $objElement->setStrClassAdmin("class_element_image_admin.php");
         $objElement->setStrClassPortal("class_element_image_portal.php");
         $objElement->setIntCachetime(3600 * 24 * 30);
         $objElement->setIntRepeat(1);
         $objElement->setStrVersion($this->objMetadata->getStrVersion());
         $objElement->updateObjectToDb();
         $strReturn .= "Element registered...\n";
     } else {
         $strReturn .= "Element already installed!...\n";
     }
     $strReturn .= "Installing universal element table...\n";
     $arrFields = array();
     $arrFields["content_id"] = array("char20", false);
     $arrFields["char1"] = array("char254", true);
     $arrFields["char2"] = array("char254", true);
     $arrFields["char3"] = array("char254", true);
     $arrFields["int1"] = array("int", true);
     $arrFields["int2"] = array("int", true);
     $arrFields["int3"] = array("int", true);
     $arrFields["text"] = array("text", true);
     if (!$this->objDB->createTable("element_universal", $arrFields, array("content_id"))) {
         $strReturn .= "An error occurred! ...\n";
     }
     $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;
 }