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');
 }