/** * 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; }
/** * 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; }
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(); }
/** * 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); }
/** * 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(); }
/** * @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)); } } }
/** * 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); }
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(); }
/** * 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; }
/** * 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'])){
$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">
{ 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;
$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) ? '&bbcode=' . $bbcode_id : '')); $s_hidden_fields = ''; // VARS - END if ($mode != 'list') {
/** * Does the hard work: installs the module and registers needed constants * * @return string */ public function install() { if (class_module_system_module::getModuleByName("mediamanager") == null) { return "Mediamanger not installed, skipping element\n"; } $strReturn = ""; //fetch navifolder-id $strNaviFolderId = ""; $arrFolder = class_module_pages_folder::getFolderList(); foreach ($arrFolder as $objOneFolder) { if ($objOneFolder->getStrName() == "mainnavigation") { $strNaviFolderId = $objOneFolder->getSystemid(); } } $strReturn .= "Creating new gallery...\n"; $objGallery = new class_module_mediamanager_repo(); $objGallery->setStrTitle("Sample Gallery"); $objGallery->setStrPath(_filespath_ . "/images/samples"); $objGallery->setStrUploadFilter(".jpg,.png,.gif,.jpeg"); $objGallery->setStrViewFilter(".jpg,.png,.gif,.jpeg"); $objGallery->updateObjectToDb(); $objGallery->syncRepo(); $strGalleryID = $objGallery->getSystemid(); $strReturn .= "Modify rights to allow guests to rate images...\n"; class_carrier::getInstance()->getObjRights()->addGroupToRight(class_module_system_setting::getConfigValue("_guests_group_id_"), $objGallery->getSystemid(), "right3"); $strReturn .= "Creating new gallery page...\n"; $objPage = new class_module_pages_page(); $objPage->setStrName("gallery"); $objPage->setStrBrowsername("Gallery"); $objPage->setStrTemplate("standard.tpl"); $objPage->updateObjectToDb($strNaviFolderId); $strGalleryPageId = $objPage->getSystemid(); $strReturn .= "ID of new page: " . $strGalleryPageId . "\n"; $strReturn .= "Adding pagelement to new page\n"; if (class_module_pages_element::getElement("gallery") != null) { $objPagelement = new class_module_pages_pageelement(); $objPagelement->setStrPlaceholder("special_news|guestbook|downloads|gallery|galleryRandom|form|tellafriend|maps|search|navigation|faqs|postacomment|votings|userlist|rssfeed|tagto|portallogin|portalregistration|portalupload|directorybrowser|lastmodified|tagcloud|downloadstoplist|flash|mediaplayer|tags|eventmanager"); $objPagelement->setStrName("special"); $objPagelement->setStrElement("gallery"); $objPagelement->updateObjectToDb($strGalleryPageId); $strElementId = $objPagelement->getSystemid(); $strQuery = "UPDATE " . _dbprefix_ . "element_gallery\n SET gallery_id = ?,\n gallery_mode = ?,\n gallery_template = ?,\n gallery_maxh_d = ?,\n gallery_maxw_d = ?,\n gallery_imagesperpage = ?,\n gallery_text = ?,\n gallery_text_x = ?,\n gallery_text_y = ?\n WHERE content_id = ? "; if ($this->objDB->_pQuery($strQuery, array($strGalleryID, 0, "gallery_imagelightbox.tpl", 600, 600, 0, "(c) kajona.de", 5, 15, $strElementId))) { $strReturn .= "Gallery element created.\n"; } else { $strReturn .= "Error creating Gallery element.\n"; } } $strReturn .= "Adding headline-element to new page\n"; if (class_module_pages_element::getElement("row") != null) { $objPagelement = new class_module_pages_pageelement(); $objPagelement->setStrPlaceholder("headline_row"); $objPagelement->setStrName("headline"); $objPagelement->setStrElement("row"); $objPagelement->updateObjectToDb($strGalleryPageId); $strElementId = $objPagelement->getSystemid(); $strQuery = "UPDATE " . _dbprefix_ . "element_paragraph\n SET paragraph_title = ?\n WHERE content_id = ?"; if ($this->objDB->_pQuery($strQuery, array("Gallery", $strElementId))) { $strReturn .= "Headline element created.\n"; } else { $strReturn .= "Error creating headline element.\n"; } } $strReturn .= "Adding paragraph-element to new page\n"; if (class_module_pages_element::getElement("paragraph") != null) { $objPagelement = new class_module_pages_pageelement(); $objPagelement->setStrPlaceholder("text_paragraph"); $objPagelement->setStrName("text"); $objPagelement->setStrElement("paragraph"); $objPagelement->updateObjectToDb($strGalleryPageId); $strElementId = $objPagelement->getSystemid(); $arrParams = array(); if ($this->strContentLanguage == "de") { $arrParams[] = ""; $arrParams[] = "Alle Beispielbilder © by kajona.de"; $arrParams[] = $strElementId; } else { $arrParams[] = ""; $arrParams[] = "All sample images © by kajona.de"; $arrParams[] = $strElementId; } $strQuery = "UPDATE " . _dbprefix_ . "element_paragraph\n SET paragraph_title = ?,\n paragraph_content = ?\n WHERE content_id = ?"; if ($this->objDB->_pQuery($strQuery, $arrParams)) { $strReturn .= "Paragraph element created.\n"; } else { $strReturn .= "Error creating paragraph element.\n"; } } return $strReturn; }
/** * 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}'";
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"]; }
/** * 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; }
<!-- 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);