/**
  * Does the hard work: installs the module and registers needed constants
  *
  * @return string
  */
 public function install()
 {
     $strReturn = "";
     //search the master page
     $objMaster = class_module_pages_page::getPageByName("master");
     if ($objMaster != null) {
         $this->strMasterID = $objMaster->getSystemid();
     }
     if ($this->strMasterID != "") {
         $strReturn .= "Adding languageswitch to master page\n";
         $strReturn .= "ID of master page: " . $this->strMasterID . "\n";
         if (class_module_pages_element::getElement("languageswitch") != null) {
             $objPagelement = new class_module_pages_pageelement();
             $objPagelement->setStrPlaceholder("masterlanguageswitch_languageswitch");
             $objPagelement->setStrName("masterswitch");
             $objPagelement->setStrElement("languageswitch");
             $objPagelement->updateObjectToDb($this->strMasterID);
             $strElementId = $objPagelement->getSystemid();
             $strReturn .= "ID of element: " . $strElementId . "\n";
             $strReturn .= "Element created.\n";
             $strReturn .= "Setting languageswitch template...\n";
             $strQuery = "UPDATE " . _dbprefix_ . "element_universal\n                            SET char1 = ?\n                            WHERE content_id = ? ";
             $this->objDB->_pQuery($strQuery, array("languageswitch.tpl", $strElementId));
         }
     }
     return $strReturn;
 }
 /**
  * Does the hard work: installs the module and registers needed constants
  *
  */
 public function install()
 {
     $strReturn = "";
     //fetch navifolder-id
     $strNaviFolderId = "";
     $arrFolder = class_module_pages_folder::getFolderList();
     foreach ($arrFolder as $objOneFolder) {
         if ($objOneFolder->getStrName() == "mainnavigation") {
             $strNaviFolderId = $objOneFolder->getSystemid();
         }
     }
     $strReturn .= "Creating new page rssfeed...\n";
     $objPage = new class_module_pages_page();
     $objPage->setStrName("rssfeed");
     $objPage->setStrBrowsername("Rssfeed");
     $objPage->setStrTemplate("standard.tpl");
     $objPage->updateObjectToDb($strNaviFolderId);
     $strPageId = $objPage->getSystemid();
     $strReturn .= "ID of new page: " . $strPageId . "\n";
     $strReturn .= "Adding pagelement to new page\n";
     if (class_module_pages_element::getElement("rssfeed") != null) {
         $objPagelement = new class_module_pages_pageelement();
         $objPagelement->setStrPlaceholder("special_news|guestbook|downloads|gallery|galleryRandom|form|tellafriend|maps|search|navigation|faqs|postacomment|votings|userlist|rssfeed|tagto|portallogin|portalregistration|portalupload|directorybrowser|lastmodified|tagcloud|downloadstoplist|flash|mediaplayer|tags|eventmanager");
         $objPagelement->setStrName("special");
         $objPagelement->setStrElement("rssfeed");
         $objPagelement->updateObjectToDb($strPageId);
         $strElementId = $objPagelement->getSystemid();
         $arrParams = array();
         if ($this->strContentLanguage == "de") {
             $arrParams = array("rssfeed.tpl", 10, "http://www.kajona.de/kajona_news.rss", $strElementId);
         } else {
             $arrParams = array("rssfeed.tpl", 10, "http://www.kajona.de/kajona_news_en.rss", $strElementId);
         }
         $strQuery = "UPDATE " . _dbprefix_ . "element_universal\n                            SET char1 = ?,\n                                " . $this->objDB->encloseColumnName("int1") . " = ?,\n                                char2 = ?\n                            WHERE content_id = ?";
         if ($this->objDB->_pQuery($strQuery, $arrParams)) {
             $strReturn .= "Rssfeed element created.\n";
         } else {
             $strReturn .= "Error creating Rssfeed element.\n";
         }
     }
     $strReturn .= "Adding headline-element to new page\n";
     if (class_module_pages_element::getElement("row") != null) {
         $objPagelement = new class_module_pages_pageelement();
         $objPagelement->setStrPlaceholder("headline_row");
         $objPagelement->setStrName("headline");
         $objPagelement->setStrElement("row");
         $objPagelement->updateObjectToDb($strPageId);
         $strElementId = $objPagelement->getSystemid();
         $strQuery = "UPDATE " . _dbprefix_ . "element_paragraph\n                                SET paragraph_title = ?\n                                WHERE content_id = ?";
         if ($this->objDB->_pQuery($strQuery, array("Rssfeed", $strElementId))) {
             $strReturn .= "Headline element created.\n";
         } else {
             $strReturn .= "Error creating headline element.\n";
         }
     }
     return $strReturn;
 }
 /**
  * Returns the pages and their hits
  *
  * @return mixed
  */
 public function getTopSessions()
 {
     $objUser = new class_module_user_user(class_session::getInstance()->getUserID());
     $objUser = new class_module_user_user(class_session::getInstance()->getUserID());
     $strQuery = "SELECT stats_session,\n                            stats_ip,\n                            stats_hostname,\n                            MIN(stats_date) AS startdate,\n                            MAX(stats_date) AS  enddate,\n                            COUNT(*) AS anzahl,\n                            MAX(stats_date)-MIN(stats_date) AS dauer\n\n\n                     FROM " . _dbprefix_ . "stats_data\n                     WHERE stats_date > ?\n\t\t\t\t\t   AND stats_date <= ?\n                     GROUP BY  stats_session, stats_ip, stats_hostname\n                      ORDER BY enddate DESC";
     $arrSessions = $this->objDB->getPArray($strQuery, array($this->intDateStart, $this->intDateEnd), 0, $objUser->getIntItemsPerPage() - 1);
     $intI = 0;
     foreach ($arrSessions as $intKey => $arrOneSession) {
         if ($intI++ >= $objUser->getIntItemsPerPage()) {
             break;
         }
         //Load the details for all sessions
         $strDetails = "";
         $strSessionID = $arrOneSession["stats_session"];
         $strDetails .= $this->objTexts->getLang("top_session_detail_start", "stats") . timeToString($arrOneSession["startdate"]) . "<br />";
         $strDetails .= $this->objTexts->getLang("top_session_detail_end", "stats") . timeToString($arrOneSession["enddate"]) . "<br />";
         $strDetails .= $this->objTexts->getLang("top_session_detail_time", "stats") . $arrOneSession["dauer"] . "<br />";
         $strDetails .= $this->objTexts->getLang("top_session_detail_ip", "stats") . $arrOneSession["stats_ip"] . "<br />";
         $strDetails .= $this->objTexts->getLang("top_session_detail_hostname", "stats") . $arrOneSession["stats_hostname"] . "<br />";
         //and fetch all pages
         $strQuery = "SELECT stats_page\n                           FROM " . _dbprefix_ . "stats_data\n                          WHERE stats_session= ?\n                          ORDER BY stats_date ASC";
         $arrPages = $this->objDB->getPArray($strQuery, array($strSessionID));
         $strDetails .= $this->objTexts->getLang("top_session_detail_verlauf", "stats");
         foreach ($arrPages as $arrOnePage) {
             $strDetails .= $arrOnePage["stats_page"] . " - ";
         }
         $strDetails = uniSubstr($strDetails, 0, -2);
         $arrFolder = $this->objToolkit->getLayoutFolder($strDetails, $this->objTexts->getLang("top_session_detail", "stats"));
         $arrSessions[$intKey]["detail"] = $arrFolder[1] . $arrFolder[0];
     }
     return $arrSessions;
 }
示例#4
0
 /**
  * Adds a group for a right at a given systemid
  * <b>NOTE: By setting rights using this method, inheritance is set to false!!!</b>
  *
  * @param string $strGroupId
  * @param string $strSystemid
  * @param string $strRight one of view, edit, delete, right, right1, right2, right3, right4, right5
  *
  * @return bool
  */
 public function addGroupToRight($strGroupId, $strSystemid, $strRight)
 {
     $this->objDb->flushQueryCache();
     $this->flushRightsCache();
     //Load the current rights
     $arrRights = $this->getArrayRights($strSystemid, false);
     //rights not given, add now, disabling inheritance
     $arrRights[self::$STR_RIGHT_INHERIT] = 0;
     //add the group to the row
     if (!in_array($strGroupId, $arrRights[$strRight])) {
         $arrRights[$strRight][] = $strGroupId;
     }
     //build a one-dim array
     $arrRights[self::$STR_RIGHT_VIEW] = implode(",", $arrRights[self::$STR_RIGHT_VIEW]);
     $arrRights[self::$STR_RIGHT_EDIT] = implode(",", $arrRights[self::$STR_RIGHT_EDIT]);
     $arrRights[self::$STR_RIGHT_DELETE] = implode(",", $arrRights[self::$STR_RIGHT_DELETE]);
     $arrRights[self::$STR_RIGHT_RIGHT] = implode(",", $arrRights[self::$STR_RIGHT_RIGHT]);
     $arrRights[self::$STR_RIGHT_RIGHT1] = implode(",", $arrRights[self::$STR_RIGHT_RIGHT1]);
     $arrRights[self::$STR_RIGHT_RIGHT2] = implode(",", $arrRights[self::$STR_RIGHT_RIGHT2]);
     $arrRights[self::$STR_RIGHT_RIGHT3] = implode(",", $arrRights[self::$STR_RIGHT_RIGHT3]);
     $arrRights[self::$STR_RIGHT_RIGHT4] = implode(",", $arrRights[self::$STR_RIGHT_RIGHT4]);
     $arrRights[self::$STR_RIGHT_RIGHT5] = implode(",", $arrRights[self::$STR_RIGHT_RIGHT5]);
     $arrRights[self::$STR_RIGHT_CHANGELOG] = implode(",", $arrRights[self::$STR_RIGHT_CHANGELOG]);
     //and save the row
     $bitReturn = $this->setRights($arrRights, $strSystemid);
     return $bitReturn;
 }
示例#5
0
 private function migrateRatings($strOldSystemid, $strNewSystemid)
 {
     if (class_module_system_module::getModuleByName("rating") != null) {
         $strQuery = "UPDATE " . _dbprefix_ . "rating SET rating_systemid = ? WHERE rating_systemid = ?";
         $this->objDB->_pQuery($strQuery, array($strNewSystemid, $strOldSystemid));
     }
 }
 function testSortOnDelete()
 {
     $objRootAspect = new class_module_system_aspect();
     $objRootAspect->setStrName("testroot");
     $objRootAspect->updateObjectToDb();
     /** @var class_module_system_aspect[] $arrAspects */
     $arrAspects = array();
     for ($intI = 0; $intI < 100; $intI++) {
         $objAspect = new class_module_system_aspect();
         $objAspect->setStrName("autotest_" . $intI);
         $objAspect->updateObjectToDb($objRootAspect->getSystemid());
         $arrAspects[] = $objAspect;
     }
     //delete the 5th element - massive queries required
     $intQueriesPre = class_db::getInstance()->getNumber();
     echo " Setting new position\n";
     $arrAspects[5]->deleteObjectFromDatabase();
     $intQueriesPost = class_db::getInstance()->getNumber();
     echo "Queries: " . ($intQueriesPost - $intQueriesPre) . " \n";
     $objOrm = new class_orm_objectlist();
     $arrChilds = $objOrm->getObjectList("class_module_system_aspect", $objRootAspect->getSystemid());
     $this->assertEquals(count($arrChilds), 99);
     for ($intI = 1; $intI <= 99; $intI++) {
         $this->assertEquals($arrChilds[$intI - 1]->getIntSort(), $intI);
     }
     $objRootAspect->deleteObjectFromDatabase();
 }
示例#7
0
 /**
  * Saves the object to the database.
  * Differs between update or insert.
  *
  * @throws class_exception
  * @return bool
  */
 public function updateObjectToDb()
 {
     //run a cleanup
     class_cache::cleanCache();
     //at least a source and hash1 given?
     if ($this->strSourceName == "" && $this->strHash1 == "") {
         throw new class_exception("not all required params given", class_exception::$level_ERROR);
     }
     //check if the new entry will be valid at least a second, otherwise quit saving
     if (time() > $this->intLeasetime) {
         return false;
     }
     $strQuery = "";
     $arrParams = array();
     $arrEscape = array();
     if ($this->strCacheId == null) {
         $this->strCacheId = generateSystemid();
         //insert
         $strQuery = "INSERT INTO " . _dbprefix_ . "cache\n                       (cache_id, cache_source, cache_hash1, cache_hash2, cache_language, cache_content, cache_leasetime, cache_hits) VALUES\n                       (   ?, ?, ?, ?, ?, ?, ?, 1) ";
         $arrParams = array($this->strCacheId, $this->getStrSourceName(), $this->getStrHash1(), $this->getStrHash2(), $this->getStrLanguage(), $this->getStrContent(), $this->getIntLeasetime());
         $arrEscape = array(true, true, true, true, true, false, true);
     } else {
         //update
         $strQuery = "UPDATE " . _dbprefix_ . "cache\n                            SET cache_source = ?,\n                                cache_hash1 = ?,\n                                cache_hash2 = ?,\n                                cache_language = ?,\n                                cache_content = ?,\n                                cache_leasetime = ?\n                          WHERE cache_id = ?";
         $arrParams = array($this->getStrSourceName(), $this->getStrHash1(), $this->getStrHash2(), $this->getStrLanguage(), $this->getStrContent(), $this->getIntLeasetime(), $this->strCacheId);
         $arrEscape = array(true, true, true, true, false, true, true);
     }
     self::$intSaves++;
     return $this->objDB->_pQuery($strQuery, $arrParams, $arrEscape);
 }
示例#8
0
 /**
  * Singleton, use getInstance() instead
  */
 private function __construct()
 {
     //Loading the needed Objects
     $this->objDB = class_db::getInstance();
     //Generating a session-key using a few characteristic values
     $this->strKey = md5(_realpath_ . getServer("REMOTE_ADDR"));
     $this->sessionStart();
     $this->arrRequestArray = array();
 }
示例#9
0
 /**
  * @param class_root|interface_versionable|null $objObject
  */
 function __construct($objObject = null)
 {
     $this->objObject = $objObject;
     if (self::$bitLogcialDeleteAvailable === null) {
         $arrColumns = class_db::getInstance()->getColumnsOfTable(_dbprefix_ . "system");
         self::$bitLogcialDeleteAvailable = count(array_filter($arrColumns, function ($arrOneTable) {
             return $arrOneTable["columnName"] == "system_deleted";
         })) > 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();
     }
 }
 public function testImportExport()
 {
     class_carrier::getInstance()->getObjRights()->setBitTestMode(true);
     $strName = generateSystemid();
     $strBrowsername = generateSystemid();
     $strSeoString = generateSystemid();
     $strDesc = generateSystemid();
     $objPage = new class_module_pages_page();
     $objPage->setStrName($strName);
     $objPage->setStrBrowsername($strBrowsername);
     $objPage->setStrSeostring($strSeoString);
     $objPage->setStrDesc($strDesc);
     $objPage->setStrTemplate("standard.tpl");
     $objPage->updateObjectToDb();
     $strPagesystemid = $objPage->getSystemid();
     $objPagelement = new class_module_pages_pageelement();
     $objPagelement->setStrPlaceholder("text_paragraph");
     $objPagelement->setStrName("text");
     $objPagelement->setStrElement("paragraph");
     $objPagelement->updateObjectToDb($objPage->getSystemid());
     $objElement = new class_element_paragraph_admin($objPagelement->getSystemid());
     $objElement->setSystemid($objPagelement->getSystemid());
     $objElement->loadElementData();
     $objElement->setStrTitle("para_title");
     $objElement->updateForeignElement();
     $objPagelement = new class_module_pages_pageelement($objPagelement->getSystemid());
     class_carrier::getInstance()->setParam("pageExport", $strName);
     $objPageExport = new class_systemtask_pageexport();
     $objPageExport->executeTask();
     $objPage->deleteObjectFromDatabase();
     class_orm_rowcache::flushCache();
     class_db::getInstance()->flushQueryCache();
     $this->assertNull(class_module_pages_page::getPageByName($strName));
     $this->assertFileExists(_realpath_ . _projectpath_ . "/temp/" . $strPagesystemid . ".xml");
     class_carrier::getInstance()->setParam("pageimport_file", _projectpath_ . "/temp/" . $strPagesystemid . ".xml");
     $objImport = new class_systemtask_pageimport();
     $objImport->executeTask();
     $objPage = class_module_pages_page::getPageByName($strName);
     $this->assertNotNull($objPage);
     $this->assertEquals($objPage->getStrName(), $strName);
     $this->assertEquals($objPage->getStrDesc(), $strDesc);
     $this->assertEquals($objPage->getStrSeostring(), $strSeoString);
     $this->assertEquals($objPage->getStrBrowsername(), $strBrowsername);
     $objElements = class_module_pages_pageelement::getAllElementsOnPage($objPage->getSystemid());
     $this->assertEquals(1, count($objElements));
     $objElements = $objElements[0];
     $this->assertEquals($objElements->getStrClassAdmin(), "class_element_paragraph_admin.php");
     $objElement = $objElements->getConcreteAdminInstance();
     $objElement->setSystemid($objElements->getSystemid());
     $objElement->loadElementData();
     $this->assertEquals("para_title", $objElement->getStrTitle());
     $objPage->deleteObjectFromDatabase();
 }
 /**
  * Cleans up the database structure. This method should delete all database entries which were previously created
  *
  * @return void
  */
 protected function cleanStructure()
 {
     /** @var class_model $objOneModel */
     foreach (array_reverse($this->arrStructure, true) as $objOneModel) {
         $strSystemId = $objOneModel->getStrSystemid();
         $objOneModel->deleteObjectFromDatabase();
         //if it is a user also delete the user from the database completeley
         if ($objOneModel instanceof class_module_user_user) {
             $strQuery = "DELETE FROM " . _dbprefix_ . "user WHERE user_id=?";
             //call other models that may be interested
             $bitDelete = class_db::getInstance()->_pQuery($strQuery, array($strSystemId));
         }
     }
 }
示例#13
0
 /**
  * Creates a single query in order to insert multiple rows at one time.
  * For most databases, this will create s.th. like
  * INSERT INTO $strTable ($arrColumns) VALUES (?, ?), (?, ?)...
  * Please note that this method is used to create the query itself, based on the Kajona-internal syntax.
  * The query is fired to the database by class_db
  *
  * @param string $strTable
  * @param string[] $arrColumns
  * @param array $arrValueSets
  * @param class_db $objDb
  *
  * @return bool
  */
 public function triggerMultiInsert($strTable, $arrColumns, $arrValueSets, class_db $objDb)
 {
     $arrPlaceholder = array();
     $arrSafeColumns = array();
     foreach ($arrColumns as $strOneColumn) {
         $arrSafeColumns[] = $this->encloseColumnName($strOneColumn);
         $arrPlaceholder[] = "?";
     }
     $strPlaceholder = "(" . implode(",", $arrPlaceholder) . ")";
     $arrPlaceholderSets = array();
     $arrParams = array();
     foreach ($arrValueSets as $arrOneSet) {
         $arrPlaceholderSets[] = $strPlaceholder;
         $arrParams = array_merge($arrParams, $arrOneSet);
     }
     $strQuery = "INSERT INTO " . $this->encloseTableName($strTable) . " (" . implode(",", $arrSafeColumns) . ") VALUES " . implode(",", $arrPlaceholderSets);
     return $objDb->_pQuery($strQuery, $arrParams);
 }
示例#14
0
 protected function setUp()
 {
     $this->arrTestStartDate = gettimeofday();
     if (!defined("_block_config_db_loading_")) {
         define("_block_config_db_loading_", true);
     }
     if (!defined("_autotesting_")) {
         define("_autotesting_", true);
     }
     if (!defined("_autotesting_sqlite_checks_")) {
         if (class_config::getInstance("config.php")->getConfig("dbdriver") == "sqlite3") {
             class_db::getInstance()->_pQuery("PRAGMA journal_mode = MEMORY", array());
         }
         define("_autotesting_sqlite_checks_", true);
     }
     class_carrier::getInstance()->flushCache(class_carrier::INT_CACHE_TYPE_APC | class_carrier::INT_CACHE_TYPE_DBQUERIES);
     parent::setUp();
 }
示例#15
0
 /**
  * Creates a single query in order to insert multiple rows at one time.
  * For most databases, this will create s.th. like
  * INSERT INTO $strTable ($arrColumns) VALUES (?, ?), (?, ?)...
  *
  * Please note that this method is used to create the query itself, based on the Kajona-internal syntax.
  * The query is fired to the database by class_db
  *
  * @param string $strTable
  * @param string[] $arrColumns
  * @param array $arrValueSets
  * @param class_db $objDb
  *
  * @return bool
  */
 public function triggerMultiInsert($strTable, $arrColumns, $arrValueSets, class_db $objDb)
 {
     $bitReturn = true;
     $arrPlaceholder = array();
     $arrSafeColumns = array();
     foreach ($arrColumns as $strOneColumn) {
         $arrSafeColumns[] = $this->encloseColumnName($strOneColumn);
         $arrPlaceholder[] = "?";
     }
     $strPlaceholder = " (" . implode(",", $arrPlaceholder) . ") ";
     $strColumnNames = " (" . implode(",", $arrSafeColumns) . ") ";
     $arrParams = array();
     $strQuery = "INSERT ALL ";
     foreach ($arrValueSets as $arrOneSet) {
         $arrParams = array_merge($arrParams, $arrOneSet);
         $strQuery .= " INTO " . $this->encloseTableName($strTable) . " " . $strColumnNames . " VALUES " . $strPlaceholder . " ";
     }
     $strQuery .= " SELECT * FROM dual";
     $bitReturn = $objDb->_pQuery($strQuery, $arrParams) && $bitReturn;
     return $bitReturn;
 }
示例#16
0
 /**
  * Get the class name for a system-id.
  * 
  * @param string $strSystemid
  * @return string
  */
 public function getClassNameForId($strSystemid)
 {
     $strClass = "";
     if (isset($this->arrClassCache[$strSystemid])) {
         $strClass = $this->arrClassCache[$strSystemid];
     } else {
         //maybe the orm handler has already fetched this row
         $arrCacheRow = class_orm_rowcache::getCachedInitRow($strSystemid);
         if ($arrCacheRow != null && isset($arrCacheRow["system_class"])) {
             $strClass = $arrCacheRow["system_class"];
         } else {
             $strQuery = "SELECT * FROM " . _dbprefix_ . "system where system_id = ?";
             $arrRow = $this->objDB->getPRow($strQuery, array($strSystemid));
             if (isset($arrRow["system_class"])) {
                 $strClass = $arrRow["system_class"];
             }
         }
         if ($strClass != "") {
             $this->arrClassCache[$strSystemid] = $strClass;
             $this->bitCacheSaveRequired = true;
         }
     }
     return $strClass;
 }
echo curPageURL();
//echo $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
//SET OUR DEPTH VARIABLE WHICH CAN BE USED BY CONTENT BLOCKS THROUGHOUT THE TEMPLATE
$depth = "";
//INCLUDE ALL OF OUR MODULE CLASSES
include "_admin/class/class_config.php";
include "_admin/class/class_db.php";
include "_admin/class/class_time.php";
//INCLUDE FACE MODULES NEEDED FOR THIS PAGE;
include "_face/class/face_common.php";
include "_face/class/face_events.php";
include "_face/class/face_news.php";
//CREATE OUR CONFIG
$cfg = new class_config();
//CREATE OUR DATABASE
$db = new class_db($cfg->db_host, $cfg->db_name, $cfg->db_user, $cfg->db_pass);
//CREATE OUR TIME
$time = new class_time($db, $cfg);
//CREATE OUR COMMON CLASS
$common = new face_common();
//CONNECT TO OUR DATABASE
$database_connection = $db->DB_CONNECT();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

		<link rel="shortcut icon" href="favicon.ico">
    //--------------------------------------------------
    //START OUR USER SESSION
	   session_start();
    //INCLUDE OUR FILES RESIDE OUTSIDE OF MAIN DIR FOR SECURITY
	//REMEMBER TO MOVE THESE OUTSIDE MAIN DIRECTORY WHEN WE PUSH LIVE
    	include_once '../../../../../../../_admin/class/class_config.php';			/*HOLDS OUR SENSITIVE DATA OUTSIDE MAIN DIRECTORY*/
    	include_once '../../../../../../../_admin/class/class_db.php';			/*CLASS THAT HOLDS OUT DATABASE FUNCTIONS*/
    	include_once '../../../../../../../_admin/includes/functions_common.php';		/*HOLDS OUR COMMON FUNCTIONS*/
    	include_once '../../../../../../../_admin/class/class_adminuser.php';			/*OUR USER CLASS FOR THE CMS*/
  //INCLUDE ALL OF OUR MODULE CLASSES
    	include '../../../../../../../_admin/class/class_files.php';			/**/
      include "../../../../../../../_admin/class/class_time.php";
	//CREATE OUR CONFIG
    $cfg = new class_config();
	//CREATE OUR DATABASE
	   $db = new class_db($cfg->db_host,$cfg->db_name,$cfg->db_user,$cfg->db_pass);
	//CONNECT TO OUR DATABASE
	   $database_connection = $db->DB_CONNECT();
	//CREATE OUR USER
	   $user = new class_adminuser($db, $cfg->cookie_name, $cfg);
	//CHECK TO SEE IF OUR USER IS LOGGED IN
		//CHECK TO SEE IF THE USER WANTS A COOKIE KEPT ON HIS/HER COMP
		if($_REQUEST['cook']=="yes"){
	   		$user_logged=$user->checkUserLog($db, "YES");
		}else{
	   		$user_logged=$user->checkUserLog($db, "NO");
		}
    //CREATE OUR TIME
      $time = new class_time($db, $cfg, $user->user_dst);
   //GET/SET OPTIONS IF ANY
    	if(!isset($_REQUEST['start'])){
示例#19
0
$expire = time() + 60 * 60 * 24 * 30;
setcookie("reachlocal", "yes", $expire);
//SET OUR DEPTH VARIABLE WHICH CAN BE USED BY CONTENT BLOCKS THROUGHOUT THE TEMPLATE
$depth = "";
//INCLUDE ALL OF OUR MODULE CLASSES
include "_admin/class/class_config.php";
include "_admin/class/class_db.php";
include "_admin/class/class_time.php";
//INCLUDE FACE MODULES NEEDED FOR THIS PAGE;
include "_face/class/face_common.php";
include "_face/class/face_events.php";
include "_face/class/face_news.php";
//CREATE OUR CONFIG
$cfg = new class_config();
//CREATE OUR DATABASE
$db = new class_db($cfg->db_host, $cfg->db_name, $cfg->db_user, $cfg->db_pass);
//CREATE OUR TIME
$time = new class_time($db, $cfg);
//CREATE OUR COMMON CLASS
$common = new face_common();
//CONNECT TO OUR DATABASE
$database_connection = $db->DB_CONNECT();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

		<link rel="shortcut icon" href="favicon.ico">
示例#20
0
	{	
		background-color:#B9F8F8;
	}
	</style>

</head>
<body>

<?
require("comun/class_db.php");
require("comun/class_abm.php");
require("comun/class_paginado.php");
require("comun/class_orderby.php");

//conexión a la bd
$db = new class_db("192.168.7.118", "casa_blanca", "Lf43Zf9YcsMtR2nM", "casa_blanca");
$db->mostrarErrores = true;
$db->connect();


$abm = new class_abm();

switch($_GET['fx']){
	
	case 'hab':
		
		$abm->tabla = "hab";
		$abm->registros_por_pagina = 15;
		$abm->textoTituloFormularioAgregar = "Agregar Habitacion";
		$abm->textoTituloFormularioEdicion = "Editar Habitacion";
		$abm->mostrarBorrar = false;
示例#21
0
    $file = basename(__FILE__);
    $module['1100_General']['150_Custom_BBCodes'] = $file;
    return;
}
if (!defined('IP_ROOT_PATH')) {
    define('IP_ROOT_PATH', './../');
}
if (!defined('PHP_EXT')) {
    define('PHP_EXT', substr(strrchr(__FILE__, '.'), 1));
}
require 'pagestart.' . PHP_EXT;
include_once IP_ROOT_PATH . 'includes/bbcode.' . PHP_EXT;
define('THIS_PAGE', 'admin_bbcodes.' . PHP_EXT);
// DB CLASS - BEGIN
include IP_ROOT_PATH . 'includes/class_db.' . PHP_EXT;
$class_db = new class_db();
$class_db->main_db_table = BBCODES_TABLE;
$class_db->main_db_item = 'bbcode_id';
// DB CLASS - END
// MODES - BEGIN
$mode_types = array('list', 'add', 'edit', 'save', 'delete');
$mode = request_var('mode', $mode_types[0]);
$mode = isset($_POST['add']) ? 'add' : (isset($_POST['save']) ? 'save' : $mode);
$mode = !in_array($mode, $mode_types) ? $mode_types[0] : $mode;
// MODES - END
// VARS - BEGIN
$bbcode_id = request_var('bbcode_id', 0);
$page_action = append_sid(THIS_PAGE . '?mode=' . $mode . (!empty($bbcode_id) ? '&amp;bbcode=' . $bbcode_id : ''));
$s_hidden_fields = '';
// VARS - END
if ($mode != 'list') {
示例#22
0
 /**
  * Does the hard work: installs the module and registers needed constants
  *
  * @return string
  */
 public function install()
 {
     if (class_module_system_module::getModuleByName("mediamanager") == null) {
         return "Mediamanger not installed, skipping element\n";
     }
     $strReturn = "";
     //fetch navifolder-id
     $strNaviFolderId = "";
     $arrFolder = class_module_pages_folder::getFolderList();
     foreach ($arrFolder as $objOneFolder) {
         if ($objOneFolder->getStrName() == "mainnavigation") {
             $strNaviFolderId = $objOneFolder->getSystemid();
         }
     }
     $strReturn .= "Creating new gallery...\n";
     $objGallery = new class_module_mediamanager_repo();
     $objGallery->setStrTitle("Sample Gallery");
     $objGallery->setStrPath(_filespath_ . "/images/samples");
     $objGallery->setStrUploadFilter(".jpg,.png,.gif,.jpeg");
     $objGallery->setStrViewFilter(".jpg,.png,.gif,.jpeg");
     $objGallery->updateObjectToDb();
     $objGallery->syncRepo();
     $strGalleryID = $objGallery->getSystemid();
     $strReturn .= "Modify rights to allow guests to rate images...\n";
     class_carrier::getInstance()->getObjRights()->addGroupToRight(class_module_system_setting::getConfigValue("_guests_group_id_"), $objGallery->getSystemid(), "right3");
     $strReturn .= "Creating new gallery page...\n";
     $objPage = new class_module_pages_page();
     $objPage->setStrName("gallery");
     $objPage->setStrBrowsername("Gallery");
     $objPage->setStrTemplate("standard.tpl");
     $objPage->updateObjectToDb($strNaviFolderId);
     $strGalleryPageId = $objPage->getSystemid();
     $strReturn .= "ID of new page: " . $strGalleryPageId . "\n";
     $strReturn .= "Adding pagelement to new page\n";
     if (class_module_pages_element::getElement("gallery") != null) {
         $objPagelement = new class_module_pages_pageelement();
         $objPagelement->setStrPlaceholder("special_news|guestbook|downloads|gallery|galleryRandom|form|tellafriend|maps|search|navigation|faqs|postacomment|votings|userlist|rssfeed|tagto|portallogin|portalregistration|portalupload|directorybrowser|lastmodified|tagcloud|downloadstoplist|flash|mediaplayer|tags|eventmanager");
         $objPagelement->setStrName("special");
         $objPagelement->setStrElement("gallery");
         $objPagelement->updateObjectToDb($strGalleryPageId);
         $strElementId = $objPagelement->getSystemid();
         $strQuery = "UPDATE " . _dbprefix_ . "element_gallery\n                            SET gallery_id = ?,\n                                gallery_mode = ?,\n                                gallery_template = ?,\n                                gallery_maxh_d = ?,\n                                gallery_maxw_d = ?,\n                                gallery_imagesperpage = ?,\n                                gallery_text = ?,\n                                gallery_text_x = ?,\n                                gallery_text_y = ?\n                            WHERE content_id = ? ";
         if ($this->objDB->_pQuery($strQuery, array($strGalleryID, 0, "gallery_imagelightbox.tpl", 600, 600, 0, "(c) kajona.de", 5, 15, $strElementId))) {
             $strReturn .= "Gallery element created.\n";
         } else {
             $strReturn .= "Error creating Gallery element.\n";
         }
     }
     $strReturn .= "Adding headline-element to new page\n";
     if (class_module_pages_element::getElement("row") != null) {
         $objPagelement = new class_module_pages_pageelement();
         $objPagelement->setStrPlaceholder("headline_row");
         $objPagelement->setStrName("headline");
         $objPagelement->setStrElement("row");
         $objPagelement->updateObjectToDb($strGalleryPageId);
         $strElementId = $objPagelement->getSystemid();
         $strQuery = "UPDATE " . _dbprefix_ . "element_paragraph\n                                SET paragraph_title = ?\n                                WHERE content_id = ?";
         if ($this->objDB->_pQuery($strQuery, array("Gallery", $strElementId))) {
             $strReturn .= "Headline element created.\n";
         } else {
             $strReturn .= "Error creating headline element.\n";
         }
     }
     $strReturn .= "Adding paragraph-element to new page\n";
     if (class_module_pages_element::getElement("paragraph") != null) {
         $objPagelement = new class_module_pages_pageelement();
         $objPagelement->setStrPlaceholder("text_paragraph");
         $objPagelement->setStrName("text");
         $objPagelement->setStrElement("paragraph");
         $objPagelement->updateObjectToDb($strGalleryPageId);
         $strElementId = $objPagelement->getSystemid();
         $arrParams = array();
         if ($this->strContentLanguage == "de") {
             $arrParams[] = "";
             $arrParams[] = "Alle Beispielbilder &copy; by kajona.de";
             $arrParams[] = $strElementId;
         } else {
             $arrParams[] = "";
             $arrParams[] = "All sample images &copy; by kajona.de";
             $arrParams[] = $strElementId;
         }
         $strQuery = "UPDATE " . _dbprefix_ . "element_paragraph\n                                SET paragraph_title = ?,\n                                    paragraph_content = ?\n                                WHERE content_id = ?";
         if ($this->objDB->_pQuery($strQuery, $arrParams)) {
             $strReturn .= "Paragraph element created.\n";
         } else {
             $strReturn .= "Error creating paragraph element.\n";
         }
     }
     return $strReturn;
 }
 /**
  * Fetches all Configs from the database
  *
  * @return class_module_system_setting[]
  * @static
  */
 public static function getAllConfigValues()
 {
     if (self::$arrInstanceCache == null) {
         if (count(class_db::getInstance()->getTables()) == 0) {
             return array();
         }
         $strQuery = "SELECT * FROM " . _dbprefix_ . "system_config ORDER BY system_config_module ASC, system_config_name DESC";
         $arrIds = class_carrier::getInstance()->getObjDB()->getPArray($strQuery, array(), null, null, false);
         foreach ($arrIds as $arrOneId) {
             $arrOneId["system_id"] = $arrOneId["system_config_id"];
             class_orm_rowcache::addSingleInitRow($arrOneId);
             self::$arrInstanceCache[$arrOneId["system_config_id"]] = new class_module_system_setting($arrOneId["system_config_id"]);
         }
     }
     if (self::$arrInstanceCache == null) {
         return array();
     }
     return self::$arrInstanceCache;
 }
<?php

//REMEMBER TO MOVE THESE OUTSIDE MAIN DIRECTORY WHEN WE PUSH LIVE
include '../class/class_config.php';
include '../class/class_db.php';
/**/
include '../includes/functions_common.php';
/**/
//CREATE OUR CONFIG
$cfg = new class_config();
//CREATE OUR DATABASE
$db = new class_db($cfg->db_host, $cfg->db_name, $cfg->db_user, $cfg->db_pass);
//CONNECT TO OUR DATABASE
$database_connection = $db->DB_CONNECT();
//GRAB OPTIONS FROM POST
$userid = $_REQUEST['userid'];
//
$thumb = $_REQUEST['thumb'];
$thumb_size = $_REQUEST['thumb_size'];
//LOCATION - DEFAULT TO ../../files/, CANNOT BE ABOVE THE FILES DIRECTORY
$location = $_REQUEST['location'];
$thumb_location = $_REQUEST['location'] . "thumbs/";
//WHERE THE FILE IS GONNA BE PLACED
$target_path = "../{$location}";
$thumb_path = "../{$location}/thumbs/";
$oldfile = basename($_FILES['Filedata']['name']);
//GRAB THE EXTENSION
$pos = strpos($oldfile, ".", 0);
$ext = strtolower(trim(substr($oldfile, $pos + 1, strlen($oldfile)), " "));
//CHECK TO SEE IF THE FILE IS ALLOWED TO BE UPLOADED TO THIS DIREICTORY
$sql = "SELECT * FROM \n                " . $cfg->db_prefix . "_files \n            WHERE\n              extension = 'folder' AND\n              location = '{$location}'";
示例#25
0
define('IN_ICYPHOENIX', true);
if (!empty($setmodules)) {
    $file = basename(__FILE__);
    $module['1100_General']['220_Tickets_Emails'] = $file;
    return;
}
if (!defined('IP_ROOT_PATH')) {
    define('IP_ROOT_PATH', './../');
}
if (!defined('PHP_EXT')) {
    define('PHP_EXT', substr(strrchr(__FILE__, '.'), 1));
}
require 'pagestart.' . PHP_EXT;
// DB CLASS - BEGIN
include IP_ROOT_PATH . 'includes/class_db.' . PHP_EXT;
$class_db = new class_db();
$class_db->main_db_table = TICKETS_CAT_TABLE;
$class_db->main_db_item = 'ticket_cat_id';
// DB CLASS - END
// MODES - BEGIN
$mode_types = array('list', 'add', 'edit', 'save', 'delete');
$mode = request_var('mode', $mode_types[0]);
$mode = isset($_POST['add']) ? 'add' : (isset($_POST['save']) ? 'save' : $mode);
$mode = !in_array($mode, $mode_types) ? $mode_types[0] : $mode;
// MODES - END
// VARS - BEGIN
$ticket_cat_id = request_var('ticket_cat_id', 0);
$s_hidden_fields = '';
// VARS - END
if ($mode != 'list') {
    if ($mode == 'edit' || $mode == 'add') {
 /**
  * @return mixed
  */
 private function getTopQueriesCount()
 {
     $strQuery = "SELECT COUNT(DISTINCT(search_log_query)) as total\n\t\t\t\t\t  FROM " . _dbprefix_ . "search_log\n\t\t\t\t\t  WHERE search_log_date > ?\n\t\t\t\t\t    AND search_log_date <= ?";
     $arrReturn = $this->objDB->getPRow($strQuery, array($this->intDateStart, $this->intDateEnd));
     return $arrReturn["total"];
 }
示例#27
0
 /**
  * Method to get an instance of the db-class
  *
  * @return class_db
  */
 public static function getInstance()
 {
     if (self::$objDB == null) {
         self::$objDB = new class_db();
     }
     return self::$objDB;
 }
示例#28
0
	<!-- MooTools -->
	<script type="text/javascript" src="../js/mootools-1.2.3-core.js"></script>
	<script type="text/javascript" src="../js/mootools-1.2.3.1-more.js"></script>
	
	<!--FormCheck-->
	<script type="text/javascript" src="../js/formcheck/lang/es.js"></script>
	<script type="text/javascript" src="../js/formcheck/formcheck.js"></script>
	<link rel="stylesheet" href="../js/formcheck/theme/classic/formcheck.css" type="text/css" media="screen"/>

	<!--Datepicker-->
	<link rel="stylesheet" href="../js/datepicker/datepicker_vista/datepicker_vista.css" type="text/css" media="screen"/>
	<script type="text/javascript" src="../js/datepicker/datepicker.js"></script>
</head>
<body>
    
<?php 
$db = new class_db(HOST, USUARIO, PASSWORD, BASE);
$db->mostrarErrores = FALSE;
$db->connect();
$abm = new class_abm();
$abm->tabla = "provincias";
$abm->registros_por_pagina = CANT_REG_PAGINA;
$abm->campoId = "codigo";
$abm->textoTituloFormularioAgregar = "Agregar salida";
$abm->textoTituloFormularioEdicion = "Editar salida";
//$abm->adicionalesInsert = ", fechaAlta=NOW()";
$abm->campos = array(array("campo" => "provincia", "tipo" => "texto", "titulo" => "Provincia", "requerido" => true, "hint" => "Nombre de la provincia."));
$abm->generarAbm("", "Administrar Provincia");
?>
</body>
</html>
 /**
  * Does the hard work: installs the module and registers needed constants
  *
  * @return string
  */
 public function install()
 {
     $strReturn = "";
     if (class_module_system_module::getModuleByName("mediamanager") == null) {
         return "Mediamanger not installed, skipping element\n";
     }
     //fetch navifolder-id
     $strNaviFolderId = "";
     $arrFolder = class_module_pages_folder::getFolderList();
     foreach ($arrFolder as $objOneFolder) {
         if ($objOneFolder->getStrName() == "mainnavigation") {
             $strNaviFolderId = $objOneFolder->getSystemid();
         }
     }
     $strReturn .= "Creating new downloads...\n";
     $objDownloads = new class_module_mediamanager_repo();
     $objDownloads->setStrTitle("Sample downloads");
     $objDownloads->setStrPath("/files/downloads");
     $objDownloads->updateObjectToDb();
     $strDownloadsID = $objDownloads->getSystemid();
     $objDownloads->syncRepo();
     $strReturn .= "Adding download-permissions for guests...\n";
     class_carrier::getInstance()->getObjRights()->addGroupToRight(class_module_system_setting::getConfigValue("_guests_group_id_"), $objDownloads->getSystemid(), "right2");
     $strReturn .= "Adding rating-permissions for guests...\n";
     class_carrier::getInstance()->getObjRights()->addGroupToRight(class_module_system_setting::getConfigValue("_guests_group_id_"), $objDownloads->getSystemid(), "right3");
     $strReturn .= "Creating new downloads page...\n";
     $objPage = new class_module_pages_page();
     $objPage->setStrName("downloads");
     $objPage->setStrBrowsername("Downloads");
     $objPage->setStrTemplate("standard.tpl");
     $objPage->updateObjectToDb($strNaviFolderId);
     $strDownloadsPageId = $objPage->getSystemid();
     $strReturn .= "ID of new page: " . $strDownloadsPageId . "\n";
     $strReturn .= "Adding pagelement to new page\n";
     $objPagelement = new class_module_pages_pageelement();
     if (class_module_pages_element::getElement("downloads") != null) {
         $objPagelement->setStrPlaceholder("special_news|guestbook|downloads|gallery|galleryRandom|form|tellafriend|maps|search|navigation|faqs|postacomment|votings|userlist|rssfeed|tagto|portallogin|portalregistration|portalupload|directorybrowser|lastmodified|tagcloud|downloadstoplist|flash|mediaplayer|tags|eventmanager");
         $objPagelement->setStrName("special");
         $objPagelement->setStrElement("downloads");
         $objPagelement->updateObjectToDb($strDownloadsPageId);
         $strElementId = $objPagelement->getSystemid();
         $strQuery = "UPDATE " . _dbprefix_ . "element_downloads\n                            SET download_id = ?,\n                                download_template = ?\n                            WHERE content_id = ? ";
         if ($this->objDB->_pQuery($strQuery, array($strDownloadsID, "downloads.tpl", $strElementId))) {
             $strReturn .= "downloads element created.\n";
         } else {
             $strReturn .= "Error creating downloads element.\n";
         }
     }
     $strReturn .= "Adding headline-element to new page\n";
     if (class_module_pages_element::getElement("row") != null) {
         $objPagelement = new class_module_pages_pageelement();
         $objPagelement->setStrPlaceholder("headline_row");
         $objPagelement->setStrName("headline");
         $objPagelement->setStrElement("row");
         $objPagelement->updateObjectToDb($strDownloadsPageId);
         $strElementId = $objPagelement->getSystemid();
         $strQuery = "UPDATE " . _dbprefix_ . "element_paragraph\n                                SET paragraph_title = ?\n                                WHERE content_id = ?";
         if ($this->objDB->_pQuery($strQuery, array("Downloads", $strElementId))) {
             $strReturn .= "Headline element created.\n";
         } else {
             $strReturn .= "Error creating headline element.\n";
         }
     }
     return $strReturn;
 }
<?php

//INCLUDE ALL OF OUR MODULE CLASSES
include '../class/class_config.php';
include '../class/class_db.php';
//CREATE OUR CONFIG
$cfg = new class_config();
//CREATE OUR DATABASE
$db = new class_db($cfg->db_host, $cfg->db_name, $cfg->db_user, $cfg->db_pass);
//CONNECT TO OUR DATABASE
$database_connection = $db->DB_CONNECT();
//CONSTRUCT THE FILEPATH
$parent_page = $_REQUEST['parent_page'];
$tmp_array = explode("/", getParentName($db, $parent_page, $cfg));
for ($i = count($tmp_array) - 2; $i >= 0; $i--) {
    $tmp_path .= $tmp_array[$i] . "/";
}
$file_path = "../../{$tmp_path}" . $_REQUEST['file'];
//CLOSE OUT CONNECTION TO THE DATABASE
$db->DB_CLOSE($database_connection);
if (file_exists($file_path)) {
    echo "true";
} else {
    echo "false";
}
//
function getParentName($db, $parent_page, $cfg)
{
    if ($parent_page != 0) {
        $sql = "SELECT * FROM " . $cfg->db_prefix . "_block_page WHERE id = {$parent_page}";
        $results = $db->DB_Q_C($sql);