function testLoadSkin() { $r = $this->_skinM->loadSkin('{what-an-id}'); $this->assertTrue($r->is('SKINID_NOT_FOUND')); $r = $this->_skinM->loadSkin('{331d1a7c-bf6d-4527-8b1a-b0ee08077a76}'); $this->assertFalse(isError($r)); $this->assertEquals('skins_c/working', $this->_pAPI->smarty->compile_dir); }
function testLoadLanguage() { $r = $this->_i18n->loadLanguage('not_found', 'core/tests'); $this->assertTrue(isError($r)); $this->assertTrue($r->is('LANGUAGE_FILE_NOT_FOUND')); $r = $this->_i18n->loadLanguage('i18n_example', 'core/tests'); $this->assertFalse(isError($r)); $this->assertEquals('i18n_example', $this->_i18n->getLanguage()); }
function loadModuleFromConfig($module, $config) { $mod = databaseLoadModule($module); if (isError($mod)) { return $mod; } $mOpts = $config[$module]; $a = $mod->connect($mOpts['Host'], $mOpts['User'], $mOpts['Password'], $mOpts['DatabaseName']); if (isError($a)) { return $a; } $mod->setPrefix($mOpts['Prefix']); return $mod; }
function testFindAllDrivers() { // non existing dir $r = DatabaseDriverManager::findAllDriversInDirectory('invalid'); $this->assertTrue($r->is(new Error('PARAM_ISNOT_A_DIR', 'invalid'))); // a file $r = DatabaseDriverManager::findAllDriversInDirectory('index.php'); $this->assertTrue($r->is(new Error('PARAM_ISNOT_A_DIR', 'index.php'))); // where morgos drivers are located $r = DatabaseDriverManager::findAllDriversInDirectory('core/dbdrivers'); $this->assertFalse(isError($r)); global $installedDrivers; $this->assertEquals($installedDrivers, DatabaseDriverManager::getAllInstalledDrivers()); }
function getAllFields($tableName) { $tableName = $this->escapeString($tableName); $q = $this->query("SHOW COLUMNS FROM {$tableName}"); if (!isError($q)) { $allFields = array(); if ($q->numRows() > 0) { while ($row = $q->fetchArray()) { $allFields[] = $row; } } return $allFields; } else { return $q; } }
/** * Initializes the object. * * @param $groupID (int) * @param $lCode (string) the language code * @public */ function initFromDatabaseGroupIDandLanguageCode($groupID, $lCode) { if (!is_numeric($groupID)) { return new Error('DATABASEOBJECT_SQL_INJECTION_FAILED', __FILE__, __LINE__); } $languageCode = $this->_db->escapeString($lCode); $fullTableName = $this->getFullTableName(); $sql = "SELECT * FROM {$fullTableName} WHERE group_id='{$groupID}' AND language_code='{$languageCode}'"; $q = $this->_db->query($sql); if (!isError($q)) { if ($this->_db->numRows($q) == 1) { $row = $this->_db->fetchArray($q); $this->initFromArray($row); $this->setField('ID', $row['translated_group_id']); } else { return new Error('TRANSLATEDGROUP_CANTFIND_GROUP', $groupID, $languageCode); } } else { return $q; } }
/** * Initializes the object for a page and translation. * * @param $pageID (int) * @param $languageCode (string) * @public */ function initFromDatabasePageIDandLanguageCode($pageID, $languageCode) { if (!is_numeric($pageID)) { return new Error('DATABASEOBJECT_SQL_INJECTION_ATTACK_FAILED', __FILE__, __LINE__); } $languageCode = $this->db->escapeString($languageCode); $fTN = $this->getFullTableName(); $sql = "SELECT * FROM {$fTN} WHERE {$pageID}='{$pageID}' AND languageCode='{$languageCode}'"; $q = $this->db->query($sql); if (!isError($q)) { if ($this->db->numRows($q) == 1) { $row = $this->db->fetchArray($q); $this->initFromArray($row); $this->setOption('ID', $row['translatedPageID']); } else { return new Error('ERROR_TRANSLATEDPAGE_CANTFIND_PAGE', $pageID, $languageCode); } } else { return $q; } }
function onForgotPassword($userAccount, $accountEmail) { $userM =& $this->_pluginAPI->getUserManager(); $config =& $this->_pluginAPI->getConfigManager(); $user = $userM->newUser(); if ($userAccount != null && $accountEmail != null) { $r = new Error('USER_FILLIN_EMAIL_OR_LOGIN'); } elseif ($userAccount != null) { $r = $user->initFromDatabaseLogin($userAccount); } elseif ($accountEmail != null) { $r = $user->initFromDatabaseEmail($accountEmail); } else { $r = new Error('USER_FILLIN_EMAIL_OR_LOGIN'); } if (isError($r)) { return $r; } $newPassword = $user->resetPassword(); $t =& $this->_pluginAPI->getI18NManager(); $sm =& $this->_pluginAPI->getSmarty(); $sm->assign('MorgOS_UserName', $user->getLogin()); $sm->assign('MorgOS_Login', $user->getLogin()); $sm->assign('MorgOS_NewPassword', $newPassword); $sm->assign('MorgOS_SiteTitle', $config->getStringItem('/site/title')); $sm->assign('MorgOS_SiteTeam', 'The ' . $config->getStringItem('/site/title') . ' Team'); $this->sendUserMail($user->getEmail(), $t->translate('New password notification'), $sm->fetch('user/forgotpasswordmail.tpl')); $this->_pluginAPI->addMessage($t->translate('A new password is mailed to you.'), NOTICE); $this->_pluginAPI->executePreviousAction(); }
$email_to = $payer_email; $message = $buyer_success_message . "\n"; if (in_array('1', $DigitalProduct)) { @mail($email_to, $subject, $message, $header); @copy("../sessions/{$custom}.dat", "../download_sessions/{$custom}.dat"); } $fps = fopen("good_orders/{$txn_id}.txt", "w"); fwrite($fps, $mail_Body . "\n"); fclose($fps); exit; } else { unable(); } } elseif (strcmp($res, "INVALID") == 0) { fraud(); isError(); } function fraud() { global $lang, $account_paypal, $url, $website_name, $ip, $charset; $_SESSION["abuseipn"]++; if ($_SESSION["abuseipn"] > 3) { $headrs = "From: {$website_name} <{$account_paypal}>\n"; $headrs .= "Content-type: text/plain; charset={$charset}\n"; $sendToMe = "{$account_paypal}"; $errSub = $lang['ipn_instant_error'] . "\n"; $errMessage = $lang['ipn_instant_error'] . "\n" . $lang['ipn_logged_ip'] . " " . $ip . "\n" . $lang['ipn_reasons'] . "\n" . $lang['ipn_payment_came_back_log'] . "\n" . "\n" . $lang['ipn_please_investigate'] . "\n" . $lang['ipn_instant_ipn'] . "\n"; @mail($sendToMe, $errSub, $errMessage, $headrs); unset($_SESSION["abuseipn"]); } $dd = date("Y-m-d - H:i:s");
function getCurrrentAdmins() { $userM =& $this->_pluginAPI->getUserManager(); $db =& $this->_pluginAPI->getDBModule(); $tPrefix =& $db->getPrefix(); $adminGroup = $userM->newGroup(); $adminGroup->initFromDatabaseGenericName('administrator'); $adminID = $adminGroup->getID(); $sql = "SELECT userID FROM {$tPrefix}group_users WHERE groupID={$adminID}"; $q = $db->query($sql); $admins = array(); $currentUser = $userM->getCurrentUser(); while ($row = $db->fetchArray($q)) { $admin = $userM->newUser(); $a = $admin->initFromDatabaseID($row['userID']); if (isError($a)) { continue; } if ($admin->getID() == $currentUser->getID()) { $isCurrent = true; } else { $isCurrent = false; } $adminArray = array('Login' => $admin->getLogin(), 'ID' => $admin->getID(), 'IsCurrent' => $isCurrent); //$permissions = array ('UserManager'=>'Y', 'PluginManager'=>'N'); //$adminArray['Permissions'] = $permissions; $admins[] = $adminArray; } return $admins; }
/** * Adds a group to the database * * @param $group (object group) */ function addGroupToDatabase(&$group) { $gIR = $this->isGroupNameRegistered($group->getGenericName()); if (!isError($gIR)) { if ($gIR == false) { return $group->addToDatabase(); } else { $groupName = $group->getGenericName(); return new Error('GROUPNAME_ALREADY_REGISTERED', $groupName); } } else { return $gIR; } }
/** * HiLink::getSmsCount() * Returns number of messages in $box * @param string $box of: SMS_BOX_IN, SMS_BOX_OUT, SMS_BOX_DRAFT, SMS_BOX_DELETED, SMS_BOX_UNREAD * @return int or false on error */ public function getSmsCount($box = 'default') { $ch = $this->init_curl($this->host . '/api/sms/sms-count', null, false); $ret = curl_exec($ch); curl_close($ch); $res = simplexml_load_string($ret); if (isError($res)) { return false; } switch ($box) { case 'in': case 'inbox': case 1: case SMS_BOX_IN: return "" . $res->LocalInbox; case 'out': case 'outbox': case 2: case SMS_BOX_OUT: return "" . $res->LocalOutbox; case 'draft': case 'drafts': case 3: case SMS_BOX_DRAFT: return "" . $res->LocalDraft; case 'deleted': case 4: case SMS_BOX_DELETED: return "" . $res->localDeleted; case 'unread': case 'new': case SMS_BOX_UNREAD: return "" . $res->LocalUnread; default: return array('inbox' => "" . $res->LocalInbox, 'outbox' => "" . $res->LocalOutbox, 'draft' => "" . $res->LocalDraft, 'deleted' => "" . $res->LocalDeleted, 'unread' => "" . $res->LocalUnread); } }
function onRegister($login, $email, $password) { $uM =& $this->_pluginAPI->getUserManager(); $u = $uM->newUser(); $u->initFromArray(array('login' => $login, 'email' => $email, 'password' => md5($password))); $r = $uM->addUserToDatabase($u); if (!isError($r)) { $this->_pluginAPI->addMessage('Your account was succesfully created', NOTICE); } elseif ($r->is('USERMANAGER_LOGIN_EXISTS')) { $this->_pluginAPI->addMessage('This login is already used, try another one.', ERROR); } elseif ($r->is('USERMANAGER_EMAIL_EXISTS')) { $this->_pluginAPI->addMessage('This email is already used, try another one.', ERROR); } else { $this->_pluginAPI->addMessage('There was a problem with adding you to the database', ERROR); } $this->_pluginAPI->executePreviousAction(); }
/** * Runs the system and show a page (or redirect to another page) * @param $defaultAction (string) * @public */ function run($defaultAction) { $this->loadSkin(); $this->loadPlugins(); $this->assignErrors(); $a = $this->getActionToExecute($defaultAction); $action = $this->getActionFromName($a); if (isError($action)) { $this->error($action); } $user = $this->_userManager->getCurrentUser(); $perms = $this->_actionManager->getActionRequiredPermissions($a); foreach ($perms as $perm) { if (!$user->hasPermission($perm)) { $this->error('USER_HASNOTPERMISSION_VIEWPAGE'); } } if ($this->canUserViewPage($action)) { if ($action->getPageName()) { $page = $this->_pageManager->newPage(); $page->initFromName($action->getPageName()); if ($page->isAdminPage()) { $this->_eventManager->triggerEvent('viewAnyAdminPage', array($page->getID())); } else { $this->_eventManager->triggerEvent('viewPage', array($page->getID())); } } $r = $this->_actionManager->executeAction($a); if (isError($r)) { if ($r->is('ACTIONMANAGER_INVALID_INPUT')) { $this->_pluginAPI->addMessage('Invalid input', ERROR); $this->_pluginAPI->executePreviousAction(); } else { $this->error($r); } } } else { return new Error('USER_HASNOTPERMISSION_VIEWPAGE'); } }
function setPageVars($pageID, $pageLang) { $pM =& $this->_pluginAPI->getPageManager(); $root = $pM->newPage(); $root->initFromName('site'); $page = $pM->newPage(); $page->initFromDatabaseID($pageID); //echo $pageLang; $tPage = $page->getTranslation($pageLang); if (isError($tPage)) { return $tPage; } $sm =& $this->_pluginAPI->getSmarty(); $sm->assign('MorgOS_CurrentPage_Title', $tPage->getTitle()); $sm->assign('MorgOS_CurrentPage_Content', $tPage->getContent()); $sm->assign('MorgOS_Site_HeaderImage', $this->getHeaderImageLink()); $sm->assign('MorgOS_Copyright', 'Powered by MorgOS © 2006'); $sm->assign('MorgOS_Menu', $this->getMenuArray($page->getParentPage(), $pageLang)); $sm->assign('MorgOS_RootMenu', $this->getMenuArray($root, $pageLang)); $sm->assign('MorgOS_ExtraSidebar', ''); $sm->assign('MorgOS_ExtraHead', ''); return true; }
/** * Returns an array with all menu items. * The first item in the array is the first menu item (duh) * * @param $rootPage (object page) The root page. * @public * @return (object page array) */ function getMenu($rootPage) { $tableName = $this->_db->getPrefix() . 'pages'; $parentPageID = $rootPage->getID(); if (!is_numeric($parentPageID)) { return new Error('DATABASEOBJECT_SQL_INJECTION_ATTACK_FAILED', __FILE__, __LINE__); } $sql = "SELECT page_id FROM {$tableName} WHERE parent_page_id='{$parentPageID}' \n\t\t\tAND place_in_menu!=" . MORGOS_MENU_INVISIBLE . " ORDER BY place_in_menu ASC"; $q = $this->_db->query($sql); if (!isError($q)) { $allPages = array(); while ($pageRow = $this->_db->fetchArray($q)) { $newPage = $this->newPage(); $newPage->initFromDatabaseID($pageRow['page_id']); $allPages[] = $newPage; } return $allPages; } else { return $q; } }
function installConfigAndDatabase($siteName, $siteDefaultLanguage, $dbDriverName, $databaseHost, $databaseUser, $databasePassword, $databaseName, $databasePrefix, $adminLogin, $adminPassword, $adminMail) { DatabaseDriverManager::findAllDriversInDirectory('core/dbdrivers'); $dbDriver = DatabaseDriverManager::loadDriver($dbDriverName); if (!isError($dbDriver)) { $dbDriver->connect($databaseHost, $databaseUser, $databasePassword, $databaseName); $dbDriver->setPrefix($databasePrefix); $pluginManager = new pluginManager($this->_pluginAPI); $pluginManager->findAllPlugins('interface/core-plugins/'); // an hack for viewPage to be first $foundPlugins = array_reverse($pluginManager->getAllFoundPlugins()); foreach ($foundPlugins as $plugin) { if (is_a($plugin, 'InstallablePlugin')) { $a = $plugin->install($this->_pluginAPI, $dbDriver, $siteDefaultLanguage); if (isError($a)) { var_dump($a); die('Something went wrong'); } } } $userM = new userManager($dbDriver); $admin = $userM->newUser(); $a = $admin->initFromArray(array('login' => $adminLogin, 'password' => md5($adminPassword), 'email' => $adminMail)); $userM->addUserToDatabase($admin); $group = $userM->newGroup(); $group->initFromArray(array('generic_name' => 'administrator', 'generic_description' => 'The admin users')); $userM->addGroupToDatabase($group); $group->assignPermission('edit_admin', true); $admin->addToGroup($group); $group = $userM->newGroup(); $group->initFromArray(array('generic_name' => 'normaluser', 'generic_description' => 'All users')); $userM->addGroupToDatabase($group); $group->assignPermission('edit_admin', false); $admin->addToGroup($group); $group = $userM->newGroup(); $group->initFromArray(array('generic_name' => 'anonymous', 'generic_description' => 'Not logged in')); $userM->addGroupToDatabase($group); $group->assignPermission('edit_admin', false); $configContents = '<?php' . PHP_NL . PHP_NL; $configContents .= '$configItems[\'/databases/driver\']=\'' . $dbDriverName . '\';' . PHP_NL; $configContents .= '$configItems[\'/databases/host\']=\'' . $databaseHost . '\';' . PHP_NL; $configContents .= '$configItems[\'/databases/password\']=\'' . $databasePassword . '\';' . PHP_NL; $configContents .= '$configItems[\'/databases/user\']=\'' . $databaseUser . '\';' . PHP_NL; $configContents .= '$configItems[\'/databases/database\']=\'' . $databaseName . '\';' . PHP_NL; $configContents .= '$configItems[\'/databases/table_prefix\']=\'' . $databasePrefix . '\';' . PHP_NL . PHP_NL; $configContents .= '$configItems[\'/site/title\']=\'' . $siteName . '\';' . PHP_NL; $configContents .= '$configItems[\'/site/default_language\']=\'' . $siteDefaultLanguage . '\';' . PHP_NL; $configContents .= '$configItems[\'/site/enableUsers\']=true;' . PHP_NL; $configContents .= '$configItems[\'/languages/' . $siteDefaultLanguage . '\']=\'' . $siteDefaultLanguage . '\';' . PHP_NL; $configContents .= '?>'; $c = @fopen('config.php', 'w'); if ($c !== false) { fwrite($c, $configContents); fclose($c); header('Location: index.php'); } else { $sm =& $this->_pluginAPI->getSmarty(); $sm->assign('CONFIG_CONTENT', htmlspecialchars($configContents)); $sm->display('installer/save_config_manual.tpl'); } } else { var_dump($dbModule); } }
function findAllSkins($dir) { foreach (scandir($dir) as $dirName) { if (is_dir($dir . $dirName)) { if (file_exists($dir . $dirName . '/skin.php')) { $skin = new skin($dir . $dirName . '/skin.php', $dir, $dirName); if (!isError($skin->canRun())) { $this->_allFoundSkins[$skin->getID()] = $skin; } } } } }
/** * Adds a user setting to the configmanager. * A user setting is defined a setting that can be changed * from GET, COOKIE, a db field or a default value * * @param $name (string) * @param $defaultValue (string) * @param $dbField (string) default = null * * @public * @since 0.3 * @return (string) The initial value */ function addUserSetting($name, $defaultValue, $dbField = null) { if ($dbField) { $currentUser = $this->_userManager->getCurrentUser(); if ($currentUser) { $userValue = $currentUser->getFieldValue($dbField); if ($userValue != null and !isError($userValue)) { $defaultValue = $userValue; } } } return $this->_configManager->addUserSetting($name, STRING, $defaultValue); }
function testCreateTable() { $sql = 'CREATE TABLE editors (ID int(11) auto_increment, name varchar (255) NOT NULL, isNice ENUM(\'Y\', \'N\'), number int(5), UNIQUE KEY (name), PRIMARY KEY (ID) )'; $query = $this->_dbModule->query($sql); $this->assertEquals(0, $this->_dbModule->numRows($query), 'Wrong data CREATE returned'); //var_dump ($this->_dbModule->_XMLSQLBackend->_XMLBackend->getTable ('editors')); $query = $this->_dbModule->query('SELECT * FROM editors'); $this->assertFalse(isError($query), 'Unexpecter error'); $this->assertEquals(0, $this->_dbModule->numRows($query), 'Wrong data SELECT returned'); $query = $this->_dbModule->query("INSERT INTO editors (name, isNice, number) VALUES ('nathan and co', 'Y', '3')"); $this->assertFalse(isError($query), 'Unexpecter error'); $query = $this->_dbModule->query("INSERT INTO editors (name, isNice, number) VALUES ('nathan and co2', 'Y', '5')"); $this->assertFalse(isError($query), 'Unexpecter error'); $query = $this->_dbModule->query("INSERT INTO editors (name, isNice, number) VALUES ('nathan and co', 'Y', '3')"); $this->assertTrue(isError($query), 'Unexpecter un-error double unique key'); $query = $this->_dbModule->query("INSERT INTO editors (name, isNice, number) VALUES ('nathan and co', 'A', '3')"); $this->assertTrue(isError($query), 'Unexpecter un-error, wrong enum value'); $query = $this->_dbModule->query('SELECT * FROM editors'); $allRows = array(); while ($row = $this->_dbModule->fetchArray($query)) { $allRows[] = $row; } $row1 = array('ID' => 1, 'name' => 'nathan and co', 'isNice' => 'Y', 'number' => 3); $row2 = array('ID' => 2, 'name' => 'nathan and co2', 'isNice' => 'Y', 'number' => 5); $this->assertEquals(array($row1, $row2), $allRows, 'Wrong data SELECT returned'); }
function testInstall() { $e = $this->testManager->installAllTables(); $this->assertFalse(isError($e), 'Unexpected error: ' . $e); $this->assertTrue($this->testManager->isInstalled(), 'Returned wrong value.'); }
/** * Gets all the groups where the user is in * * @public * @return (object group array) */ function getAllGroups() { $prefix = $this->db->getPrefix(); $ID = $this->getID(); $sql = "SELECT groupID FROM {$prefix}group_users WHERE userID='{$ID}'"; $q = $this->db->query($sql); if (!isError($q)) { $allGroups = array(); while ($row = $this->db->fetchArray($q)) { $c = $this->getCreator(); $g = $c->newGroup(); $g->initFromDatabaseID($row['groupID']); $allGroups[] = $g; } return $allGroups; } else { return $q; } }
function testCreateTablePrimaryAndUniqueKey() { $sql = 'CREATE TABLE users ( ID int (11) auto_increment, email varchar(255) NOT NULL, PRIMARY KEY (ID), UNIQUE KEY (email) )'; $query = $this->_dbModule->query($sql); $this->assertEquals(0, $this->_dbModule->numRows($query), 'Wrong data CREATE returned'); $query = $this->_dbModule->query('SELECT * FROM users'); $this->assertFalse(isError($query), 'Unexpecter error'); $this->assertEquals(0, $this->_dbModule->numRows($query), 'Wrong data SELECT returned'); $query = $this->_dbModule->query("INSERT INTO users (email) VALUES ('*****@*****.**')"); $this->assertFalse(isError($query), 'Unexpecter error'); $query = $this->_dbModule->query("INSERT INTO users (email) VALUES ('*****@*****.**')"); $this->assertFalse(isError($query), 'Unexpecter error'); $query = $this->_dbModule->query("INSERT INTO users (email) VALUES ('*****@*****.**')"); $this->assertTrue(isError($query), 'Un non expected error'); $query = $this->_dbModule->query('SELECT * FROM users'); $allRows = array(); while ($row = $this->_dbModule->fetchArray($query)) { $allRows[] = $row; } $row1 = array('ID' => 1, 'email' => '*****@*****.**'); $row2 = array('ID' => 2, 'email' => '*****@*****.**'); $this->assertEquals(array($row1, $row2), $allRows, 'Wrong data SELECT returned'); }
function parseInsert($sqlSequence) { $tableName = $this->getDataAfterKeyword($sqlSequence, 'INTO'); $orderOfFields = explode(',', substr($sqlSequence, strpos($sqlSequence, '(') + 1, strpos($sqlSequence, ')') - strpos($sqlSequence, '(') - 1)); foreach ($orderOfFields as $key => $field) { $field = trim($field); $orderOfFields[$key] = $field; } $valuesString = $this->getAllDataAfterKeyword($sqlSequence, 'VALUES'); $valuesString = trim($valuesString); $valuesString[0] = ' '; $valuesString[strlen($valuesString) - 1] = ' '; $valuesString = trim($valuesString); $valuesFields = $this->splitData(',', $valuesString); //var_dump ($valuesFields); if (count($orderOfFields) != count($valuesFields)) { return "ERROR_XMLSQL_PARSE_ERROR"; } $table = $this->_XMLBackend->getTable($tableName); $tableFields = $table->getFields(); foreach ($tableFields as $field) { $key = array_search($field->getName(), $orderOfFields); if ($key !== false) { $value = $this->parseBetweenTwoChars('\'', '\'', $valuesFields[$key]); } else { $value = NULL; } $values[$field->getName()] = $value; } $row = new row($tableFields, $values, $table->getNewInternalID()); $a = $table->addRow($row); if (!isError($a)) { return new SQLInsertQuery($a); } else { return $a; } }
function getAllEvents() { $fTN = $this->_db->getPrefix() . 'calendar'; $sql = "SELECT eventID FROM {$fTN}"; $q = $this->_db->query($sql); if (isError($q)) { return $q; } $events = array(); while ($row = $this->_db->fetchArray($q)) { $event = $this->newEvent(); $event->initFromDatabaseID($row['eventID']); $events[] = $event; } return $events; }
function menuToArray($menu) { $pageLang = 'en_UK'; $array = array(); foreach ($menu as $menuItem) { if ($menuItem->getPluginID() == null or in_array($menuItem->getPluginID(), $this->_pluginManager->getAllLoadedPluginsID())) { $itemArray = array(); $itemArray['Childs'] = $this->menuToArray($this->_pageManager->getMenu($menuItem)); $t = $menuItem->getTranslation($pageLang); if (isError($t)) { var_dump($menuItem); } $itemArray['Title'] = $t->getNavTitle(); $itemArray['Link'] = $menuItem->getLink(); $itemArray['ID'] = $menuItem->getID(); $itemArray['PlaceInMenu'] = $menuItem->getPlaceInMenu(); $newParents = array(); foreach ($menu as $parent) { if ($parent->getID() !== $menuItem->getID()) { $tp = $parent->getTranslation($pageLang); $newParents[$parent->getID()] = $tp->getNavTitle(); } } $itemArray['PossibleNewParents'] = $newParents; $parent = $menuItem->getParentPage(); $itemArray['canMoveUp'] = !$parent->isRootPage(); $array[] = $itemArray; } } return $array; }
/** * get the record for single record * */ public function getRecordByName($domain, $record_name, $line = "default") { global $_G; if ($_G["record.{$domain}.{$record_name}.{$line}"]) { return $_G["record.{$domain}.{$record_name}.{$line}"]; } $domainId = $this->getDomainId($domain); if ($this->isError($domainId)) { $msg = "can't get domainId of {$domain}"; error_log($msg); $this->throwError($domainId, $msg); return $domainId; } $ret = $this->getRecordlist($domainId); if (isError($ret)) { return $ret; } foreach ($ret["records"]["record"] as $ir) { if ($ir["name"] == $record_name && $ir["line"] == $line) { $_G["record.{$domain}.{$record_name}.{$line}"] = $ir; return $ir; } } return array("status" => array('code' => RECORD_ERROR)); }
function getAllTables() { $q = $this->query("SHOW TABLES FROM {$this->_dbName}"); if (!isError($q)) { $allTables = array(); while ($row = $this->fetchArray($q)) { $allTables[] = $row[0]; } return $allTables; } else { return $q; } }
function testRemoveUserFromDatabase() { $user = $this->uM->newUser(); $user->initFromDatabaseLogin('normalUser'); $r = $this->uM->removeUserFromDatabase($user); $this->assertFalse(isError($r)); $this->assertFalse($this->uM->isGroupNameRegistered('normalUser')); }
function getAllTables() { $q = $this->query("SHOW TABLES FROM {$this->dbName}"); if (!isError($q)) { $allTables = array(); while ($row = mysql_fetch_assoc($q)) { $allTables[] = $row['Tables_in_' . $this->dbName]; } return $allTables; } else { return $q; } }