ArticleTypeField::reorder PHP Method

reorder() public method

Reorders the current field; accepts either "up" or "down"
public reorder ( $move )
    public function reorder($move)
    {
        $orders = $this->getOrders();
        $tmp = array_keys($orders, $this->m_data['field_name']);
        if (count($tmp) == 0) {
            return;
        }
        $pos = $tmp[0];
        reset($orders);
        list($max, $value) = each($orders);
        end($orders);
        list($min, $value) = each($orders);
        if ($pos <= $min && $move == 'up') {
            return;
        }
        if ($pos >= $max && $move == 'down') {
            return;
        }
        if ($move == 'down') {
            $tmp = $orders[$pos + 1];
            $orders[$pos + 1] = $orders[$pos];
            $orders[$pos] = $tmp;
        }
        if ($move == 'up') {
            $tmp = $orders[$pos - 1];
            $orders[$pos - 1] = $orders[$pos];
            $orders[$pos] = $tmp;
        }
        $this->setOrders($orders);
    }

Usage Example

Ejemplo n.º 1
0
<?php

require_once $GLOBALS['g_campsiteDir'] . '/classes/Log.php';
require_once $GLOBALS['g_campsiteDir'] . '/classes/Input.php';
require_once $GLOBALS['g_campsiteDir'] . '/classes/Article.php';
require_once $GLOBALS['g_campsiteDir'] . '/classes/ArticleType.php';
$translator = \Zend_Registry::get('container')->getService('translator');
if (!Saas::singleton()->hasPermission('ManageArticleTypes')) {
    camp_html_display_error($translator->trans("You do not have the right to reorder article types.", array(), 'article_types'));
    exit;
}
if (!SecurityToken::isValid()) {
    camp_html_display_error($translator->trans('Invalid security token!'));
    exit;
}
$articleTypeName = Input::Get('f_article_type');
$articleTypeFieldName = Input::Get('f_field_name');
$move = Input::Get('f_move');
$errorMsgs = array();
$articleTypeField = new ArticleTypeField($articleTypeName, $articleTypeFieldName);
$articleTypeField->reorder($move);
$cacheService = \Zend_Registry::get('container')->getService('newscoop.cache');
$cacheService->clearNamespace('article_type');
camp_html_goto_page("/{$ADMIN}/article_types/fields/?f_article_type=" . urlencode($articleTypeName));