function organizePriorities($params) { if ($this->table->equals($params['form'])) { $name = $this->getFieldName(); rex_organize_priorities($this->table->getTableName(), $name, $this->whereCondition, $name . ', updatedate desc', $this->primaryKey); } }
function organizePriorities($newPrio, $oldPrio) { if ($newPrio == $oldPrio) { return; } if ($newPrio < $oldPrio) { $addsql = 'desc'; } else { $addsql = 'asc'; } rex_organize_priorities($this->tableName, 'prior', 'name LIKE "' . $this->metaPrefix . '%"', 'prior, updatedate ' . $addsql); // $sql = new rex_sql(); // $sql->debugsql =& $this->debug; // $sql->setQuery('SELECT field_id FROM '. $this->tableName .' WHERE name LIKE "'. $this->metaPrefix .'%" ORDER BY prior, updatedate '. $addsql); // // $updateSql = new rex_sql(); // $updateSql->debugsql =& $this->debug; // // for($i = 0; $i < $sql->getRows(); $i++) // { // $updateSql->setTable($this->tableName); // $updateSql->setValue('prior', $i+1); // $updateSql->setWhere('name LIKE "'. $this->metaPrefix .'%" AND field_id = '. $sql->getValue('field_id')); // $updateSql->update(); // $sql->next(); // } }
/** * Berechnet die Prios der Artikel in einer Kategorie neu * * @param $re_id KategorieId der Kategorie, die erneuert werden soll * @param $clang ClangId der Kategorie, die erneuert werden soll * @param $new_prio Neue PrioNr der Kategorie * @param $old_prio Alte PrioNr der Kategorie * * @deprecated 4.1 - 26.03.2008 * Besser die rex_organize_priorities() Funktion verwenden! */ function rex_newArtPrio($re_id, $clang, $new_prio, $old_prio) { global $REX; if ($new_prio != $old_prio) { if ($new_prio < $old_prio) { $addsql = "desc"; } else { $addsql = "asc"; } rex_organize_priorities($REX['TABLE_PREFIX'] . 'article', 'prior', 'clang=' . $clang . ' AND ((startpage<>1 AND re_id=' . $re_id . ') OR (startpage=1 AND id=' . $re_id . '))', 'prior,updatedate ' . $addsql); // $gu = new rex_sql; // $gr = new rex_sql; // $gr->setQuery("select * from ".$REX['TABLE_PREFIX']."article where clang='$clang' and ((startpage<>1 and re_id='$re_id') or (startpage=1 and id=$re_id))order by prior,updatedate $addsql"); // for ($i = 0; $i < $gr->getRows(); $i ++) // { // // echo "<br>".$gr->getValue("pid")." ".$gr->getValue("id")." ".$gr->getValue("name"); // $ipid = $gr->getValue("pid"); // $iprior = $i +1; // $gu->setQuery("update ".$REX['TABLE_PREFIX']."article set prior=$iprior where pid='$ipid'"); // $gr->next(); // } rex_generateLists($re_id); } }
/** * Fügt ein MetaFeld hinzu und legt dafür eine Spalte in der MetaTable an */ function a62_add_field($title, $name, $prior, $attributes, $type, $default, $params = null, $validate = null, $restrictions = '') { global $REX, $I18N; $prefix = a62_meta_prefix($name); $metaTable = a62_meta_table($prefix); // Prefix korrekt? if (!$metaTable) { return $I18N->msg('minfo_field_error_invalid_prefix'); } // TypeId korrekt? $qry = 'SELECT * FROM ' . $REX['TABLE_PREFIX'] . '62_type WHERE id=' . $type . ' LIMIT 2'; $sql = rex_sql::factory(); $typeInfos = $sql->getArray($qry); if ($sql->getRows() != 1) { return $I18N->msg('minfo_field_error_invalid_type'); } $fieldDbType = $typeInfos[0]['dbtype']; $fieldDbLength = $typeInfos[0]['dblength']; // Spalte existiert schon? $sql->setQuery('SELECT * FROM ' . $metaTable . ' LIMIT 1'); if (in_array($name, $sql->getFieldnames())) { return $I18N->msg('minfo_field_error_unique_name'); } // Spalte extiert laut a62_params? $sql->setQuery('SELECT * FROM ' . $REX['TABLE_PREFIX'] . '62_params WHERE name="' . addslashes($name) . '" LIMIT 1'); if ($sql->getRows() != 0) { return $I18N->msg('minfo_field_error_unique_name'); } $sql->setTable($REX['TABLE_PREFIX'] . '62_params'); $sql->setValue('title', $title); $sql->setValue('name', $name); $sql->setValue('prior', $prior); $sql->setValue('attributes', $attributes); $sql->setValue('type', $type); $sql->setValue('default', $default); $sql->setValue('params', $params); $sql->setValue('validate', $validate); $sql->setValue('restrictions', $restrictions); $sql->addGlobalUpdateFields(); $sql->addGlobalCreateFields(); if (!$sql->insert()) { return $sql->getError(); } rex_organize_priorities($REX['TABLE_PREFIX'] . '62_params', 'prior', 'name LIKE "' . $prefix . '%"', 'prior, updatedate', 'field_id'); $tableManager = new rex_a62_tableManager($metaTable); return $tableManager->addColumn($name, $fieldDbType, $fieldDbLength, $default); }
/** * Berechnet die Prios der Artikel in einer Kategorie neu * * @param $re_id KategorieId der Kategorie, die erneuert werden soll * @param $clang ClangId der Kategorie, die erneuert werden soll * @param $new_prio Neue PrioNr der Kategorie * @param $old_prio Alte PrioNr der Kategorie * * @deprecated 4.1 - 26.03.2008 * Besser die rex_organize_priorities() Funktion verwenden! * * @return void */ function rex_newArtPrio($re_id, $clang, $new_prio, $old_prio) { global $REX; if ($new_prio != $old_prio) { if ($new_prio < $old_prio) { $addsql = 'desc'; } else { $addsql = 'asc'; } rex_organize_priorities($REX['TABLE_PREFIX'] . 'article', 'prior', 'clang=' . $clang . ' AND ((startpage<>1 AND re_id=' . $re_id . ') OR (startpage=1 AND id=' . $re_id . '))', 'prior,updatedate ' . $addsql, 'pid'); rex_deleteCacheArticleLists($re_id, $clang); } }
function organizePriorities($newPrio, $oldPrio) { if ($newPrio == $oldPrio) { return; } rex_organize_priorities($this->tableName, 'prior', 'name LIKE "' . $this->metaPrefix . '%"', 'prior, updatedate desc', 'field_id'); }