本文整理汇总了PHP中rex_sql::setQuery方法的典型用法代码示例。如果您正苦于以下问题:PHP rex_sql::setQuery方法的具体用法?PHP rex_sql::setQuery怎么用?PHP rex_sql::setQuery使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rex_sql
的用法示例。
在下文中一共展示了rex_sql::setQuery方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: 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"));
}
示例2: execute
function execute()
{
$table = $this->action["elements"][2];
// Tabelle vorhanden ?
$sql = new rex_sql();
$sql->debug = 1;
$sql->setQuery('show tables');
$table_exists = FALSE;
foreach ($sql->getArray() as $k => $v) {
if ($table == $v) {
$table_exists = TRUE;
break;
}
}
if (!$table_exists) {
$sql->setQuery('CREATE TABLE `' . $table . '` (`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY);');
}
// Welche Felder sind vorhanden ?
$sql->setQuery('show columns from ' . $table);
$sql_cols = $sql->getArray();
$cols = array();
foreach ($sql_cols as $k => $v) {
$cols[] = $v['Field'];
}
// wenn Feld nicht in Datenbank, dann als TEXT anlegen.
foreach ($this->elements_sql as $key => $value) {
if (!in_array($key, $cols)) {
$sql->setQuery('ALTER TABLE `' . $table . '` ADD `' . $key . '` TEXT NOT NULL;');
}
}
return;
}
示例3: 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;
}
}
示例4: asd_news_addClang
function asd_news_addClang($params)
{
global $REX;
$id = $params['id'];
$name = $params['name'];
$now = new DateTime();
$error = false;
$sql = new rex_sql();
$sql->setQuery('SELECT * FROM `' . rex_asd_news_config::getTable() . '` WHERE `clang` = ' . $REX['START_CLANG_ID']);
for ($i = 1; $i <= $sql->getRows(); $i++) {
$save = new rex_sql();
$save->setTable(rex_asd_news_config::getTable());
$save->setValues($sql->getRow());
$save->setValue('clang', $id);
$save->setValue('createdAt', $now->format('Y-m-d H:i:s'));
$save->setValue('updatedAt', $now->format('Y-m-d H:i:s'));
$save->setValue('publishedAt', '0000-00-00 00:00:00');
$save->setValue('createdBy', $REX['USER']->getValue('user_id'));
$save->setValue('updatedBy', $REX['USER']->getValue('user_id'));
$save->setValue('publishedBy', 0);
$save->setValue('status', 0);
unset($save->values['news_id']);
if (!$save->insert()) {
$error = $save->getError();
}
}
if ($error) {
echo rex_warning('ASD News: Neuigkeiten in der Sprache "' . $name . '" konnten nicht angelegt werden<br />' . $error);
} else {
echo rex_info('ASD News: Neuigkeiten in der Sprache "' . $name . '" wurden angelegt');
}
}
示例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_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();
}
示例8: __construct
/**
* Konstruktor. Stellt die Daten der Kategorie aus der Datenbank zusammen.
* @param int $kategorie_id Kategorie ID.
* @param int $clang_id Redaxo SprachID.
* @param string $table_prefix Redaxo Tabellen Praefix ($REX['TABLE_PREFIX'])
*/
public function __construct($kategorie_id, $clang_id, $table_prefix = "rex_")
{
$this->table_prefix = $table_prefix;
// Sprachfallback
$query_prove = "SELECT * FROM " . $this->table_prefix . "d2u_stellenmarkt_kategorien_lang AS lang " . "WHERE kategorie_id = " . $kategorie_id . " " . "ORDER BY clang_id DESC";
$result_prove = new rex_sql();
$result_prove->setQuery($query_prove);
$num_rows_prove = $result_prove->getRows();
$is_lang_available = false;
$fallback_lang_id = 0;
for ($i = 0; $i < $num_rows_prove; $i++) {
if ($result_prove->getValue("lang.clang_id") == $clang_id) {
$is_lang_available = true;
} else {
$fallback_lang_id = $result_prove->getValue("lang.clang_id");
}
$result_prove->next();
}
$sql_clang_id = $clang_id;
if ($is_lang_available == false) {
$sql_clang_id = $fallback_lang_id;
}
$query = "SELECT * FROM " . $this->table_prefix . "d2u_stellenmarkt_kategorien AS kategorien " . "LEFT JOIN " . $this->table_prefix . "d2u_stellenmarkt_kategorien_lang AS lang " . "ON kategorien.kategorie_id = lang.kategorie_id " . "WHERE kategorien.kategorie_id = " . $kategorie_id . " " . "AND (clang_id = " . $sql_clang_id . " OR clang_id IS NULL) " . "LIMIT 0, 1";
$result = new rex_sql();
$result->setQuery($query);
$num_rows = $result->getRows();
if ($num_rows > 0) {
$this->kategorie_id = $result->getValue("kategorie_id");
if ($result->getValue("clang_id") != "") {
$this->clang_id = $result->getValue("clang_id");
}
$this->interne_bezeichnung = $result->getValue("interne_bezeichnung");
$this->name = $result->getValue("name");
}
}
示例9: elseif
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;
}
示例10: 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;
}
示例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: 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'];
}
示例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: execute
function execute()
{
$subject_key = $this->action["elements"][2];
$body_key = $this->action["elements"][3];
$user_id_key = $this->action["elements"][4];
foreach ($this->elements_sql as $key => $value) {
if ($subject_key == $key) {
$subject = $value;
}
if ($body_key == $key) {
$body = $value;
}
if ($user_id_key == $key) {
$from_user_id = $value;
}
// echo "<br /> $key => $value";
}
if ($subject == "" or $body == "" or $from_user_id == "") {
return FALSE;
}
// User auslesen
$gu = new rex_sql();
// $gu->debugsql = 1;
// $gu->setQuery('select * from rex_com_user where id<>"'.$from_user_id.'" order by id');
$gu->setQuery('select * from rex_com_user order by id');
foreach ($gu->getArray() as $user) {
$user_body = $body;
$user_subject = $subject;
$to_user_id = $user["id"];
// Empfaenger einbauen
$in = new rex_sql();
// $in->debugsql = 1;
$in->setTable("rex_com_message");
$in->setValue("user_id", $to_user_id);
$in->setValue("from_user_id", $from_user_id);
$in->setValue("to_user_id", $to_user_id);
$in->setValue("subject", $user_subject);
$in->setValue("body", $user_body);
$in->setValue("create_datetime", time());
$in->insert();
/*
$in = new rex_sql;
// $in->debugsql = 1;
$in->setTable("rex_com_message");
$in->setValue("user_id",$from_user_id);
$in->setValue("from_user_id",$from_user_id);
$in->setValue("to_user_id",$to_user_id);
$in->setValue("subject",$user_subject);
$in->setValue("body",$user_body);
$in->setValue("create_datetime",time());
$in->insert();
*/
rex_com_user::exeAction($to_user_id, "sendemail_newmessage", $user);
}
}