本文整理汇总了PHP中rex_sql类的典型用法代码示例。如果您正苦于以下问题:PHP rex_sql类的具体用法?PHP rex_sql怎么用?PHP rex_sql使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了rex_sql类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setContent
/**
* SET CONTENT OF ROBOTS.TXT
*
* @return (string) robots.txt
*/
public function setContent($content)
{
global $REX;
$out = '';
$langs = array_keys($REX['CLANG']);
// get clang ids
$defaultRobotsTxt = 'User-agent: *' . "\r\n" . 'Disallow:';
if (!$REX['ADDON']['seo42']['settings']['no_robots_txt_auto_disallow']) {
foreach ($langs as $lang) {
$query = "SELECT id FROM " . $REX['TABLE_PREFIX'] . "article WHERE seo_noindex = '1' AND status = 1 AND clang = " . $lang;
$sql = new rex_sql();
$sql->setQuery($query);
for ($i = 1; $i <= $sql->getRows(); $i++) {
$out .= "Disallow: /" . seo42::getTrimmedUrl($sql->getValue('id'), $lang) . "\r\n";
$sql->next();
}
}
}
if ($out != '') {
$out = "User-agent: *" . "\r\n" . $out . "\r\n";
}
if ($out == '' && $content == '') {
$this->robots_txt = $defaultRobotsTxt;
} else {
$this->robots_txt = $out . $content;
}
}
示例2: rex_a62_metainfo_cleanup
/**
* Alle Metafelder löschen, nicht das nach einem Import in der Parameter Tabelle
* noch Datensätze zu Feldern stehen, welche nicht als Spalten in der
* rex_article angelegt wurden!
*/
function rex_a62_metainfo_cleanup($params)
{
global $REX;
// Cleanup nur durchführen, wenn auch die rex_article Tabelle neu angelegt wird
if (isset($params['force']) && $params['force'] != true && strpos($params['content'], 'CREATE TABLE `' . $REX['TABLE_PREFIX'] . 'article`') === false && strpos($params['content'], 'CREATE TABLE ' . $REX['TABLE_PREFIX'] . 'article') === false) {
return;
}
require_once $REX['INCLUDE_PATH'] . '/addons/metainfo/classes/class.rex_table_manager.inc.php';
$sql = new rex_sql();
$sql->setQuery('SELECT name FROM ' . $REX['TABLE_PREFIX'] . '62_params');
for ($i = 0; $i < $sql->getRows(); $i++) {
if (substr($sql->getValue('name'), 0, 4) == 'med_') {
$tableManager = new rex_a62_tableManager($REX['TABLE_PREFIX'] . 'file');
} else {
$tableManager = new rex_a62_tableManager($REX['TABLE_PREFIX'] . 'article');
}
$tableManager->deleteColumn($sql->getValue('name'));
$sql->next();
}
// evtl reste aufräumen
$tablePrefixes = array('article' => array('art_', 'cat_'), 'file' => array('med_'));
foreach ($tablePrefixes as $table => $prefixes) {
$table = $REX['TABLE_PREFIX'] . $table;
$tableManager = new rex_a62_tableManager($table);
foreach (rex_sql::showColumns($table) as $column) {
$column = $column['name'];
if (in_array(substr($column, 0, 4), $prefixes)) {
$tableManager->deleteColumn($column);
}
}
}
$sql = new rex_sql();
$sql->setQuery('DELETE FROM ' . $REX['TABLE_PREFIX'] . '62_params');
rex_generateAll();
}
示例3: showList
private function showList($cat)
{
$addSql = "";
$cats = explode("~~", $cat);
if (!in_array(999, $cats)) {
$addSql = 'AND category LIKE \'%|';
$addSql .= implode('|%\' OR category LIKE \'%|', $cats);
$addSql .= '|%\'';
}
$addWhere = ' WHERE (
((offline_date = "0000-00-00") OR (REPLACE(offline_date, "-", "") > CURDATE() + 0))
AND
((archive_date = "0000-00-00") OR REPLACE(archive_date, "-", "") > CURDATE() + 0)
AND
((online_date = "0000-00-00") OR REPLACE(online_date, "-", "") <= CURDATE() + 0)
)';
$qry = "\tSELECT * \r\n\t\t\t\t\tFROM " . TBL_NEWS . " \r\n " . $addWhere . "\r\n\t\t\t\t\tAND status=1 \r\n " . $addSql . "\r\n\t\t\t\t\tORDER BY online_date DESC\r\n\t\t\t\t";
$sql = new rex_sql();
#$sql->debugsql = true;
$data = $sql->getArray($qry);
/* create one master array of the records */
$posts = array();
foreach ($data as $row) {
$posts[] = array('post' => $row);
}
return $posts;
}
示例4: focus_setup_metainfo
function focus_setup_metainfo()
{
global $REX;
if (!isset($REX['USER'])) {
return;
}
$install_metas = array('med_focuspoint_data' => array('Focuspoint Data', 'med_focuspoint_data', 200, '', 1, '', '', '', ''), 'med_focuspoint_css' => array('Focuspoint CSS', 'med_focuspoint_css', 201, '', 1, '', '', '', ''));
$db = new rex_sql();
foreach ($db->getDbArray('SHOW COLUMNS FROM `rex_file` LIKE \'med_focuspoint_%\';') as $column) {
unset($install_metas[$column['Field']]);
}
foreach ($install_metas as $k => $v) {
$db->setQuery('SELECT `name` FROM `rex_62_params` WHERE `name`=\'' . $k . '\';');
if ($db->getRows() > 0) {
// FIELD KNOWN TO METAINFO BUT MISSING IN ARTICLE..
$db->setQuery('ALTER TABLE `rex_file` ADD `' . $k . '` TEXT NOT NULL;');
if ($REX['REDAXO']) {
echo rex_info('Metainfo Feld ' . $k . ' wurde repariert.');
}
} else {
if (!function_exists('a62_add_field')) {
require_once $REX['INCLUDE_PATH'] . '/addons/metainfo/functions/function_metainfo.inc.php';
}
a62_add_field($v[0], $v[1], $v[2], $v[3], $v[4], $v[5], $v[6], $v[7], $v[8]);
if ($REX['REDAXO']) {
echo rex_info('Metainfo Feld ' . $k . ' wurde angelegt.');
}
}
}
rex_file::copy(rex_path::addon("focuspoint", "classes/class.rex_effect_focuspoint_resize.inc.php"), rex_path::addon("image_manager", "classes/effects/class.rex_effect_focuspoint_resize.inc.php"));
}
示例5: enterObject
function enterObject(&$email_elements, &$sql_elements, &$warning, &$form_output, $send = 0)
{
$this->label = $this->elements[1];
$table = $this->elements[2];
// ***** ERSTER AUFRUF -> key erstellen
if (!$send) {
$this->value = md5($_SERVER["REMOTE_ADDR"] . time());
} else {
// in tabelle nachsehen ob formcode vorhanden
$sql = 'select ' . $this->label . ' from ' . $table . ' WHERE ' . $this->label . '="' . $this->value . '" LIMIT 1';
$cd = new rex_sql();
if ($this->params["debug"]) {
$cd->debugsql = true;
}
$cd->setQuery($sql);
if ($cd->getRows() == 1) {
$this->params["warning"][] = $this->elements[3];
$this->params["warning_messages"][] = $this->elements[3];
}
}
$form_output[] = '<input type="hidden" name="FORM[' . $this->params["form_name"] . '][el_' . $this->id . ']" value="' . htmlspecialchars(stripslashes($this->value)) . '" />';
$email_elements[$this->label] = stripslashes($this->value);
$sql_elements[$this->label] = stripslashes($this->value);
return;
}
示例6: publishNews
/**
* publish a news by id & clang
* if publish-lang == all => $clang is not needed, but must be set
* @param $id
* @param $clang
* @param DateTime $time
* @return string
*/
public static function publishNews($id, $clang, DateTime $time)
{
/**
* @var array $REX
* @var i18n $I18N
*/
global $REX, $I18N;
$sql = new rex_sql();
$sql->setTable(rex_asd_news_config::getTable());
$sql->setWhere('`id` = ' . $id . ' AND `clang` = ' . $clang);
if (rex_asd_news_config::getConfig('published-lang') == 'all') {
$sql->setWhere('`id` = ' . $id);
}
$sql->setValue('publishedAt', $time->format('Y-m-d H:i'));
$sql->setValue('publishedBy', $REX['USER']->getValue('user_id'));
$sql->setValue('status', 1);
$sql->update();
$sql->setQuery('SELECT * FROM `' . rex_asd_news_config::getTable() . '` WHERE `id` = ' . $id . ' AND `clang` = ' . $clang);
return '
<td>' . $id . '</td>
<td>' . $sql->getValue('title') . '</td>
<td><span>' . $time->format('d.m.Y H:i') . '</span></td>
<td><a href="' . self::getBaseUrl($clang) . 'unpublish&id=' . $id . '" class="rex-online" onclick="return confirm(\'' . $I18N->msg('asd_news_really_unpublish') . '\');">' . $I18N->msg('asd_news_published') . '</a></td>
<td><a href="' . self::getBaseUrl($clang) . 'edit&id=' . $id . '">' . $I18N->msg('edit') . '</a></td>
<td><a href="' . self::getBaseUrl($clang) . 'delete&id=' . $id . '" onclick="return confirm(\'' . $I18N->msg('asd_news_really_delete') . '\');">' . $I18N->msg('delete') . '</a></td>
<td><a href="' . self::getBaseUrl($clang) . 'status&id=' . $id . '" class="rex-online">' . $I18N->msg('status_online') . '</a></td>';
}
示例7: rex_copyRevisionContent
function rex_copyRevisionContent($article_id, $clang, $from_revision_id, $to_revision_id, $from_re_sliceid = 0, $to_revision_delete = FALSE)
{
global $REX;
if ($to_revision_delete) {
$dc = new rex_sql();
// $dc->debugsql = 1;
$dc->setQuery('delete from ' . $REX['TABLE_PREFIX'] . 'article_slice where article_id=' . $article_id . ' and clang=' . $clang . ' and revision=' . $to_revision_id);
}
if ($from_revision_id == $to_revision_id) {
return false;
}
$gc = new rex_sql();
// $gc->debugsql = 1;
$gc->setQuery("select * from " . $REX['TABLE_PREFIX'] . "article_slice where re_article_slice_id='{$from_re_sliceid}' and article_id='{$article_id}' and clang='{$clang}' and revision='{$from_revision_id}'");
if ($gc->getRows() == 1) {
// letzt slice_id des ziels holen ..
$glid = new rex_sql();
// $glid->debugsql = 1;
$glid->setQuery("\n\t\t\t\t\tselect \n\t\t\t\t\t\tr1.id, r1.re_article_slice_id\n\t from \n\t\t\t\t\t\t" . $REX['TABLE_PREFIX'] . "article_slice as r1\n\t\t\t\t\tleft join " . $REX['TABLE_PREFIX'] . "article_slice as r2 on r1.id = r2.re_article_slice_id\n\t where \n\t\t\t\t\t\tr1.article_id = {$article_id} and r1.clang = {$clang} and \n\t\t\t\t\t\tr2.id is NULL and \n\t\t\t\t\t\tr1.revision='{$to_revision_id}';");
if ($glid->getRows() == 1) {
$to_last_slice_id = $glid->getValue("r1.id");
} else {
$to_last_slice_id = 0;
}
$ins = new rex_sql();
// $ins->debugsql = 1;
$ins->setTable($REX['TABLE_PREFIX'] . "article_slice");
$cols = new rex_sql();
$cols->setquery("SHOW COLUMNS FROM " . $REX['TABLE_PREFIX'] . "article_slice");
for ($j = 0; $j < $cols->rows; $j++, $cols->next()) {
$colname = $cols->getValue("Field");
if ($colname == "re_article_slice_id") {
$value = $to_last_slice_id;
} elseif ($colname == "revision") {
$value = $to_revision_id;
} elseif ($colname == "createdate") {
$value = time();
} elseif ($colname == "updatedate") {
$value = time();
} elseif ($colname == "createuser") {
$value = $REX["USER"]->getValue("login");
} elseif ($colname == "updateuser") {
$value = $REX["USER"]->getValue("login");
} else {
$value = $gc->getValue($colname);
}
if ($colname != "id") {
$ins->setValue($colname, $ins->escape($value));
}
}
$ins->insert();
// id holen und als re setzen und weitermachen..
rex_copyRevisionContent($article_id, $clang, $from_revision_id, $to_revision_id, $gc->getValue("id"));
return true;
}
rex_generateArticle($article_id);
return true;
}
示例8: rex_a128_historyHandler
function rex_a128_historyHandler($params)
{
global $page, $subpage, $REX_USER, $REX;
$mypage = $params['mypage'];
require $REX['INCLUDE_PATH'] . '/addons/' . $mypage . '/classes/class.rex_historyManager.inc.php';
require $REX['INCLUDE_PATH'] . '/addons/' . $mypage . '/classes/class.rex_history.inc.php';
require $REX['INCLUDE_PATH'] . '/addons/' . $mypage . '/classes/class.rex_historyItem.inc.php';
$function = rex_request('function', 'string');
$mode = rex_request('mode', 'string');
// Alle Histories registrierens
$articleHistory =& rexHistoryManager::getHistory('articles');
$templateHistory =& rexHistoryManager::getHistory('templates');
$moduleHistory =& rexHistoryManager::getHistory('modules');
$actionHistory =& rexHistoryManager::getHistory('actions');
$sql = new rex_sql();
$sql->debugsql = true;
if ($page == 'module' && $function == 'edit' && ($module_id = rex_get('modul_id', 'int')) != 0) {
$result = $sql->getArray('SELECT name FROM ' . $REX['TABLE_PREFIX'] . 'modultyp WHERE id=' . $module_id);
if (isset($result[0])) {
$link = 'index.php?page=' . $page . '&function=' . $function . '&modul_id=' . $module_id;
$title = $result[0]['name'];
if ($REX_USER->hasPerm('advancedMode[]')) {
$title .= ' [' . $module_id . ']';
}
$moduleHistory->addItem(new rexHistoryItem($title, $link));
}
} elseif ($page == 'module' && $subpage == 'actions' && $function == 'edit' && ($action_id = rex_get('action_id', 'int')) != 0) {
$result = $sql->getArray('SELECT name FROM ' . $REX['TABLE_PREFIX'] . 'action WHERE id=' . $action_id);
if (isset($result[0])) {
$link = 'index.php?page=' . $page . '&subpage=' . $subpage . '&function=' . $function . '&modul_id=' . $action_id;
$title = $result[0]['name'];
if ($REX_USER->hasPerm('advancedMode[]')) {
$title .= ' [' . $action_id . ']';
}
$actionHistory->addItem(new rexHistoryItem($title, $link));
}
} elseif ($page == 'template' && $function == 'edit' && ($template_id = rex_get('template_id', 'int')) != 0) {
$result = $sql->getArray('SELECT name FROM ' . $REX['TABLE_PREFIX'] . 'template WHERE id=' . $template_id);
if (isset($result[0])) {
$link = 'index.php?page=' . $page . '&function=' . $function . '&template_id=' . $template_id;
$title = $result[0]['name'];
if ($REX_USER->hasPerm('advancedMode[]')) {
$title .= ' [' . $template_id . ']';
}
$templateHistory->addItem(new rexHistoryItem($title, $link));
}
} elseif ($page == 'content' && $mode == 'edit' && ($article_id = rex_get('article_id', 'int')) != 0) {
$art = OOArticle::getArticleById($article_id);
if (OOArticle::isValid($art)) {
$link = 'index.php?page=' . $page . '&mode=' . $mode . '&article_id=' . $article_id;
$title = $art->getName();
if ($REX_USER->hasPerm('advancedMode[]')) {
$title .= ' [' . $article_id . ']';
}
$articleHistory->addItem(new rexHistoryItem($title, $link));
}
}
}
示例9: checkEntrys
/**
* check if entrys exists for the addon
* @return bool
*/
public static function checkEntrys()
{
global $REX;
$sql = new rex_sql();
$sql->setTable($REX['TABLE_PREFIX'] . 'url_control_generate');
$sql->setWhere('`table` = "' . rex_asd_news_config::getTable() . '"');
$sql->select('1');
return (bool) $sql->getRows();
}
示例10: init
public static function init()
{
global $REX;
$sql = new rex_sql();
$sql->setQuery('SELECT * FROM ' . $REX['TABLE_PREFIX'] . 'global_settings');
self::$globalValues = $sql;
self::$curClang = $REX['CUR_CLANG'];
self::$defaultClang = $REX['START_CLANG_ID'];
}
示例11: init
public static function init()
{
global $REX;
$sql = new rex_sql();
$sql->setQuery('SELECT * FROM ' . $REX['TABLE_PREFIX'] . 'tracking_code WHERE id = 1');
if ($sql->getRows() > 0) {
self::$trackingCode = $sql->getValue('tracking_code');
}
}
示例12: rex_a63_installAction2Modul
/**
* Vorgehensweise
* Die install.sql muss bereits ausgeführt worden sein und die Module und
* Action somit bereits in der Datenbank stehen.
* Als erstes werden die IDs des Modules "Gästebuch - Eintragsliste" und der
* Action "Gästebuch - Eintragsliste StatusPerdatei" ausgelesen und dann nachgesehen,
* ob es dazu schon eine Zuweisung in der Tabelle rex_module_action gibt.
* Ist das nicht der Fall, werden die IDs entsprechend eingetragen.
*
* Die automatische Zuweisung zwischen Action und Modul ist damit erledigt.
* Im Fehlerfalle muss eine Meldung ausgegeben werden.
* Die Action könnte dann evtl. per Hand noch zugewiesen werden.
*
*
* @param string Name des Modules (auf richtige Schreibweise achten!)
* @param string Name der Action (auf richtige Schreibweise achten!)
* @return mixed TRUE oder ein Fehlertext
*/
function rex_a63_installAction2Modul($modul_name, $action_name)
{
global $REX;
if (!isset($modul_name) or $modul_name == '' or !isset($action_name) or $action_name == '') {
return 'rex_a63_installAction2Modul: Keinen Modul- oder Aktionname übergeben.';
}
/**
* Diese Abfrage gibt zurück
* - wenn es bereits eine Verküpfung in der Tabelle rex_module_action gibt:
* m_id a_id mod_action_m_id mod_action_a_id
* 42 9 true true
*
* - gibt es noch keine Verknüpfung, sieht die Rückgabe so aus:
* m_id a_id mod_action_m_id mod_action_a_id
* 42 9 false false
*
* m_id und a_id sind von MySQL vergebene IDs und entsprechen nicht diesem Beispiel hier!
*
*/
$qry = 'SELECT `' . $REX['TABLE_PREFIX'] . 'module`.`id` AS m_id, `' . $REX['TABLE_PREFIX'] . 'action`.`id` AS a_id,
IF(`' . $REX['TABLE_PREFIX'] . 'module_action`.`module_id` != 0, "true", "false") AS mod_action_m_id,
IF(`' . $REX['TABLE_PREFIX'] . 'module_action`.`action_id` != 0, "true", "false") AS mod_action_a_id
FROM (`' . $REX['TABLE_PREFIX'] . 'module` , `' . $REX['TABLE_PREFIX'] . 'action`)
LEFT JOIN `' . $REX['TABLE_PREFIX'] . 'module_action` ON ( `' . $REX['TABLE_PREFIX'] . 'module_action`.`module_id` = `' . $REX['TABLE_PREFIX'] . 'module`.`id`
AND `' . $REX['TABLE_PREFIX'] . 'module_action`.`action_id` = `' . $REX['TABLE_PREFIX'] . 'action`.`id` )
WHERE `' . $REX['TABLE_PREFIX'] . 'module`.`name` = "' . $modul_name . '"
AND `' . $REX['TABLE_PREFIX'] . 'action`.`name` = "' . $action_name . '"
LIMIT 1';
$sql = new rex_sql();
//$sql->debugsql = true;
$data = $sql->getArray($qry);
if (is_array($data) and $sql->getRows() == 1) {
foreach ($data as $row) {
// prüfe IDs auf vorhandensein
// sind diese IDs in dieser Kombination noch nicht in der Verknüpfungstabelle
// dann können sie dort eingetragen werden
if ($row['mod_action_m_id'] == 'false' and $row['mod_action_a_id'] == 'false') {
$qry = 'INSERT INTO `' . $REX['TABLE_PREFIX'] . 'module_action` ( `id` , `module_id` , `action_id` )
VALUES (NULL , "' . $row['m_id'] . '", "' . $row['a_id'] . '")';
$sql2 = new rex_sql();
//$sql->debugsql = true;
$sql2->setQuery($qry);
if (!$REX['a63_sql_compare']) {
$sql2->freeResult();
}
} else {
return 'rex_a63_installAction2Modul: Es exitiert bereits eine Zuweisung zwischen dem Modul "' . $modul_name . '" und der Aktion "' . $action_name . '".';
}
}
} else {
return 'rex_a63_installAction2Modul: Fehler in der Datenbankabfrage. Ist der Modulname "' . $modul_name . '" und der Aktionname "' . $action_name . '" richtig?';
}
if (!$REX['a63_sql_compare']) {
$sql->freeResult();
}
return true;
}
示例13: rex_installTemplate
/**
* Installiert ein Template
* @param $file Dateiname des Templates
* @param $template_name Name mit dem das Template installiert werden soll
* @param [$debug=false] Debugflag
*/
function rex_installTemplate($file, $template_name, $debug = false)
{
global $REX, $REX_USER;
$content = sql::escape(file_get_contents($file . '.tpl'));
$sql = new rex_sql();
$sql->debugsql = $debug;
$qry = 'INSERT INTO ' . $REX['TABLE_PREFIX'] . 'template SET `name` = ' . sql::escape($template_name) . ', `content` = ' . $content . ', `createdate` = ' . sql::escape(time()) . ', `createuser` = ' . sql::escape($REX_USER->getValue('login'));
$sql->setQuery(_prepare_query($qry));
return $sql->getError();
}
示例14: logQuery
/**
* Führt eine SQL Query aus und schreibt sie in die Logdatei.
* @param KLogger $log Logdatei Objekt
* @param rex_sql $sql SQL Objekt
* @param String $query SQL Query
*/
public static function logQuery(&$log, &$sql, $query)
{
$sql->setQuery($query);
if ($sql->getError() == '') {
$log->logInfo('>> [QRY] ' . htmlentities($query));
} else {
$log->logError('>> [QRY] ' . htmlentities($query));
$log->logError('>> [QRY] ' . $sql->getError());
}
}
示例15: delFields
/**
* delete the metafields
*/
public static function delFields()
{
global $REX;
$sql = new rex_sql();
$sql->setQuery('SELECT `name` FROM ' . $REX['TABLE_PREFIX'] . '62_params WHERE `name` LIKE "asd_%"');
$delFields = array();
for ($i = 1; $i <= $sql->getRows(); $i++) {
$delFields[] = a62_delete_field($sql->getValue('name'));
$sql->next();
}
return self::checkErrorMessage($delFields);
}