function smarty_function_sorter($params, &$smarty)
{
    $string = $params['text'];
    $id = $params['id'];
    $sort = $params['sort'];
    $sorter = new Sorter($id);
    return $sorter->header($string, $sort);
}
示例#2
0
 /**
  * инициализация
  * инициализируются сортировщик, пагинатор и данные
  */
 protected function init()
 {
     if ($this->sorter) {
         $this->sorter->init();
     }
     if ($this->paginator) {
         $this->paginator->init();
     }
     $this->initData();
 }
 public function getHtml()
 {
     $trace = $this->trace->addChild("HodnoteniaCallback");
     $hodnotenia = $this->app->getHodnotenia($trace);
     $hodnoteniaTable = new Table(TableDefinitions::hodnotenia());
     $priemeryCalculator = new PriemeryCalculator();
     foreach (Sorter::sort($hodnotenia->getData(), array("semester" => -1, "nazov" => 1)) as $row) {
         if ($row['semester'] == 'L') {
             $class = 'leto';
             $priemeryCalculator->add(PriemeryCalculator::SEMESTER_LETNY, $row['znamka'], $row['kredit']);
         } else {
             $class = 'zima';
             $priemeryCalculator->add(PriemeryCalculator::SEMESTER_ZIMNY, $row['znamka'], $row['kredit']);
         }
         $hodnoteniaTable->addRow($row, array('class' => $class));
     }
     $hodnoteniaCollapsible = new Collapsible(new HtmlHeader('Hodnotenia'), $hodnoteniaTable);
     $priemery = $this->app->getPriemery($trace);
     $priemeryTable = new Table(TableDefinitions::priemery());
     $priemeryTable->addRows($priemery->getData());
     $priemeryContainer = new Container();
     $priemeryContainer->addChild(new Label('Nasledovné priemery sú prebraté z AISu, čiže to (ne)funguje presne rovnako:'));
     $priemeryContainer->addChild($priemeryTable);
     if ($priemeryCalculator->hasPriemer()) {
         $priemeryFajrText = '<p><br />Nasledovné vážené študijné priemery sú počítané Fajrom priebežne z tabuľky Hodnotenia, <strong>preto nemôžu byť považované ako oficiálne</strong>:<br /><br />';
         $priemeryFajrText .= $priemeryCalculator->getHtml();
         $priemeryFajrText .= '</p>';
         $priemeryContainer->addChild(new Label($priemeryFajrText));
     }
     $priemeryCollapsible = new Collapsible(new HtmlHeader('Priemery'), $priemeryContainer);
     return $hodnoteniaCollapsible->getHtml() . $priemeryCollapsible->getHtml();
 }
 public function getHtml()
 {
     $predmetyZapisnehoListu = $this->skusky->getPredmetyZapisnehoListu();
     $predmetyZapisnehoListuTable = new Table(TableDefinitions::predmetyZapisnehoListu());
     $predmetyZapisnehoListuCollapsible = new Collapsible('Predmety zápisného listu', $predmetyZapisnehoListuTable);
     $kreditovCelkomLeto = 0;
     $kreditovCelkomZima = 0;
     $pocetPredmetovLeto = 0;
     $pocetPredmetovZima = 0;
     foreach (Sorter::sort($predmetyZapisnehoListu->getData(), array("semester" => -1, "nazov" => 1)) as $row) {
         if ($row['semester'] == 'L') {
             $pocetPredmetovLeto += 1;
             $kreditovCelkomLeto += $row['kredit'];
             $class = 'leto';
         } else {
             $pocetPredmetovZima += 1;
             $kreditovCelkomZima += $row['kredit'];
             $class = 'zima';
         }
         $predmetyZapisnehoListuTable->addRow($row, array('class' => $class));
     }
     $pocetPredmetovText = 'Celkom ';
     $pocetPredmetovText .= FajrUtils::formatPlural($pocetPredmetovLeto + $pocetPredmetovZima, '0 predmetov', '1 predmet', '%d predmety', '%d predmetov');
     if ($pocetPredmetovLeto > 0 && $pocetPredmetovZima > 0) {
         $pocetPredmetovText .= sprintf(' (%d v zime, %d v lete)', $pocetPredmetovZima, $pocetPredmetovLeto);
     }
     $kreditovCelkomText = '' . ($kreditovCelkomLeto + $kreditovCelkomZima);
     if ($kreditovCelkomLeto > 0 && $kreditovCelkomZima > 0) {
         $kreditovCelkomText .= sprintf(' (%d+%d)', $kreditovCelkomZima, $kreditovCelkomLeto);
     }
     $predmetyZapisnehoListuTable->addFooter(array('nazov' => $pocetPredmetovText, 'kredit' => $kreditovCelkomText), array());
     $predmetyZapisnehoListuTable->setUrlParams(array('studium' => Input::get('studium'), 'list' => Input::get('list')));
     return $predmetyZapisnehoListuTable->getHtml();
 }
 function get_reps_by_state($new_state)
 {
     $leaders = new Leaders($new_state);
     $arr_reps_raw = $leaders->display_representatives_state();
     // Sorts by Job District automatically. Other sorts available. See class.
     $arr_reps_sorted = Sorter::jobDistrictSort($arr_reps_raw);
     return $arr_reps_sorted;
 }
示例#6
0
 /**
  *
  */
 public static function init()
 {
     static::$settings = array('sorter' => array(), 'listing' => array(), 'translation' => array());
     if (class_exists('Chansig\\DirectoryIndex\\Settings')) {
         static::$settings = array_replace_recursive(static::$settings, Settings::getSettings());
     }
     Listing::setup(static::$settings['listing']);
     Sorter::setup(static::$settings['sorter']);
     Translation::setup(static::$settings['sorter']);
     Theme::setup(static::$settings['sorter']);
 }
 /**
  * @dataProvider sortValues
  */
 public function testNumbersAreSortedCorrectly($unsorted, $sorted)
 {
     $this->assertSame($sorted, Sorter::sort($unsorted));
 }
/**
 * Smarty sorter header modifier plugin
 *
 * Type:     modifier<br>
 * Name:     price<br>
 * Purpose:  convert string to sorter header
 * @param string
 * @return string
 */
function smarty_modifier_sorter($string, $id)
{
    $sorter = new Sorter($id);
    return $sorter->header($string);
}
示例#9
0
 /**
  * Currency overview
  *
  * @global array $_CORELANG
  * @global array $_ARRAYLANG
  * @global object $objDatabase
  * @global object $objJs
  * @return true
  */
 public function currencyoverview()
 {
     global $_CORELANG, $_ARRAYLANG, $objDatabase, $objJs;
     $fn = isset($_REQUEST['fn']) ? $_REQUEST['fn'] : '';
     if (!empty($fn)) {
         switch ($fn) {
             case 'editcurrency':
                 $this->editCurrency();
                 break;
         }
         return;
     }
     $this->_objTpl->addBlockfile('CRM_SETTINGS_FILE', 'settings_block', 'module_' . $this->moduleNameLC . '_settings_currency.html');
     $this->_pageTitle = $_ARRAYLANG['TXT_CRM_SETTINGS'];
     if (isset($_POST['currency_submit'])) {
         $this->addCurrency();
     }
     $this->_objTpl->setGlobalVariable(array('MODULE_NAME' => $this->moduleName));
     if (!isset($_GET['mes'])) {
         $_GET['mes'] = '';
     }
     switch ($_GET['mes']) {
         case 'updatecurrency':
             $this->_strOkMessage = $_ARRAYLANG['TXT_CRM_CURRENCY_UPDATED_SUCCESSFULLY'];
             break;
         case 'changesupdate':
             $this->_strOkMessage = $_ARRAYLANG['TXT_CRM_CHANGES_UPDATED_SUCCESSFULLY'];
             break;
     }
     if (!empty($this->_strErrMessage)) {
         $this->_objTpl->setVariable(array('TXT_DISPLAY_ADD' => "block", 'TXT_DISPLAY_ENTRIES' => "none", 'TXT_DESCRIPTION_VALUE' => $_SESSION['description']));
         unset($_SESSION['description']);
     } else {
         $this->_objTpl->setVariable(array('TXT_DISPLAY_ADD' => "none", 'TXT_DISPLAY_ENTRIES' => "block"));
     }
     //sort
     if (isset($_GET['chg']) and $_GET['chg'] == 1) {
         for ($x = 0; $x < count($_POST['form_id']); $x++) {
             $query = "UPDATE " . DBPREFIX . "module_" . $this->moduleNameLC . "_currency\n                               SET pos = '" . intval($_POST['form_pos'][$x]) . "'\n                             WHERE id = '" . intval($_POST['form_id'][$x]) . "'";
             $objDatabase->Execute($query);
         }
         $_SESSION['strOkMessage'] = $_ARRAYLANG['TXT_CRM_PROJECTSTATUS_SORTING_COMPLETE'];
     }
     if (isset($_POST['currencyfield_submit'])) {
         for ($x = 0; $x < count($_POST['form_id']); $x++) {
             $default = $_POST['form_id'][$x] == $_POST['default'] ? 1 : 0;
             $query = "UPDATE " . DBPREFIX . "module_" . $this->moduleNameLC . "_currency\n                              SET pos              = '" . intval($_POST['form_pos'][$x]) . "',\n                                  default_currency = '" . intval($default) . "'\n                             WHERE id = '" . intval($_POST['form_id'][$x]) . "'";
             $objDatabase->Execute($query);
             $_SESSION['strOkMessage'] = $_ARRAYLANG['TXT_CRM_CHANGES_UPDATED_SUCCESSFULLY'];
         }
     }
     $sortField = isset($_GET['sortf']) ? intval($_GET['sortf']) : 0;
     $sortOrder = isset($_GET['sorto']) ? intval($_GET['sorto']) : 1;
     $customerFields = array('pos', 'name', 'id', 'active');
     $currencyeOverview = array();
     $numeric = array('pos');
     $key = 0;
     $objData = $objDatabase->Execute('SELECT id, name, active, pos, default_currency FROM `' . DBPREFIX . 'module_' . $this->moduleNameLC . '_currency`');
     $row = "row2";
     if ($objData->fields['id'] == null) {
         $this->_objTpl->setVariable(array('TXT_CRM_CONTAINS_NO_RECORDS' => $_ARRAYLANG['TXT_CRM_CONTAINS_NO_RECORDS'], 'TXT_DISPLAY_SELECT_ACTION' => "none"));
         $this->_objTpl->parse('showNoEntries');
     } else {
         while (!$objData->EOF) {
             $currencyeOverview[$key] = array('pos' => $objData->fields['pos'], 'name' => trim($objData->fields['name']), 'id' => $objData->fields['id'], 'active' => $objData->fields['active'], 'default' => $objData->fields['default_currency']);
             $key++;
             $objData->MoveNext();
         }
         $sorting = new Sorter();
         $sorting->backwards = empty($sortOrder);
         $sorting->numeric = in_array($customerFields[$sortField], $numeric);
         $currencyeOverview = $sorting->sort($currencyeOverview, $customerFields[$sortField], $customerFields[2]);
         foreach ($currencyeOverview as $key => $currency) {
             $activeImage = $currencyeOverview[$key]['active'] ? "../core/Core/View/Media/icons/led_green.gif" : "../core/Core/View/Media/icons/led_red.gif";
             $activeTitle = $currencyeOverview[$key]['active'] ? $_ARRAYLANG['TXT_CRM_ACTIVE'] : $_ARRAYLANG['TXT_CRM_INACTIVE'];
             $this->_objTpl->setVariable(array('TXT_CURRENCY_NAME' => contrexx_raw2xhtml($currency['name']), 'TXT_CURRENCY_ID' => $currency['id'], 'TXT_CURRENCY_ACTIVE_IMAGE' => $activeImage, 'TXT_CURRENCY_ACTIVE_TITLE' => $activeTitle, 'TXT_CURRENCY_POS' => $currency['pos'], 'TXT_CURRENCY_ACTIVE' => $currency['active'], 'TXT_CURRENCY_DEFAULT' => $currency['default'] == '1' ? 'checked' : '', 'TXT_CRM_IMAGE_EDIT' => $_ARRAYLANG['TXT_EDIT'], 'TXT_CRM_IMAGE_DELETE' => $_ARRAYLANG['TXT_DELETE'], 'ENTRY_ROWCLASS' => $row = $row == "row1" ? "row2" : "row1"));
             $this->_objTpl->parse('currency_entries');
             $objData->MoveNext();
         }
     }
     // Hourly rate
     $hrlyRate = array();
     $objResult = $objDatabase->Execute('SELECT id,label FROM  ' . DBPREFIX . 'module_' . $this->moduleNameLC . '_customer_types WHERE  active!="0" ORDER BY pos,label');
     while (!$objResult->EOF) {
         $this->_objTpl->setVariable(array('CRM_CUSTOMER_TYPE' => contrexx_raw2xhtml($objResult->fields['label']), 'CRM_CUSTOMERTYPE_ID' => (int) $objResult->fields['id'], 'PM_CURRENCY_HOURLY_RATE' => !empty($hrlyRate[$objResult->fields['id']]) ? intval($hrlyRate[$objResult->fields['id']]) : 0));
         $this->_objTpl->parse("hourlyRate");
         $objResult->MoveNext();
     }
     $settings = $this->getSettings();
     $settings['allow_pm'] ? $this->_objTpl->touchBlock("show-rates") : $this->_objTpl->hideBlock("show-rates");
     $this->_objTpl->setVariable(array('PM_CURRENCY_ORDER_SORT' => '&sortf=0&sorto=' . ($sortOrder ? 0 : 1), 'PM_CURRENCY_NAME_SORT' => '&sortf=1&sorto=' . ($sortOrder ? 0 : 1), 'TXT_CRM_CURRENCY' => $_ARRAYLANG['TXT_CRM_CURRENCY'], 'TXT_CRM_ADD_CURRENCY' => $_ARRAYLANG['TXT_CRM_ADD_CURRENCY'], 'TXT_CRM_TITLE_STATUS' => $_ARRAYLANG['TXT_CRM_TITLE_STATUS'], 'TXT_CRM_NAME' => $_ARRAYLANG['TXT_CRM_LABEL'], 'TXT_CRM_SAVE' => $_ARRAYLANG['TXT_CRM_SAVE'], 'TXT_CRM_NOTES' => $_ARRAYLANG['TXT_CRM_NOTES'], 'TXT_CRM_SORTING' => $_ARRAYLANG['TXT_CRM_SORTING'], 'TXT_CRM_SORTING_NUMBER' => $_ARRAYLANG['TXT_CRM_SORTING_NUMBER'], 'TXT_CRM_ACTIVATESELECTED' => $_ARRAYLANG['TXT_CRM_ACTIVATESELECTED'], 'TXT_CRM_DEACTIVATESELECTED' => $_ARRAYLANG['TXT_CRM_DEACTIVATESELECTED'], 'TXT_CRM_TITLEACTIVE' => $_ARRAYLANG['TXT_CRM_TITLEACTIVE'], 'TXT_CRM_FUNCTIONS' => $_ARRAYLANG['TXT_CRM_FUNCTIONS'], 'TXT_CRM_SELECT_ALL' => $_ARRAYLANG['TXT_CRM_SELECT_ALL'], 'TXT_CRM_PROJECTSTATUS_SAVE_SORTING' => $_ARRAYLANG['TXT_CRM_PROJECTSTATUS_SAVE_SORTING'], 'TXT_CRM_DESELECT_ALL' => $_ARRAYLANG['TXT_CRM_REMOVE_SELECTION'], 'TXT_CRM_SELECT_ACTION' => $_ARRAYLANG['TXT_CRM_SELECT_ACTION'], 'TXT_CRM_DELETE_SELECTED' => $_ARRAYLANG['TXT_CRM_DELETE_SELECTED'], 'TXT_CRM_CUSTOMER_TYPES' => $_ARRAYLANG['TXT_CRM_CUSTOMER_TYPES'], 'TXT_CRM_GENERAL' => $_ARRAYLANG['TXT_CRM_GENERAL'], 'TXT_CRM_CURRENCY_RATES' => $_ARRAYLANG['TXT_CRM_CURRENCY_RATES'], 'TXT_CRM_HOURLY_RATE' => $_ARRAYLANG['TXT_CRM_HOURLY_RATE'], 'TXT_CRM_DEFAULT' => $_ARRAYLANG['TXT_CRM_DEFAULT'], 'PM_SETTINGS_CURRENCY_JAVASCRIPT' => $objJs->getAddCurrencyJavascript()));
 }
示例#10
0
文件: Sort.php 项目: yusufchang/app
/**
 * Hook callback for <sort>
 *
 * @param string $input Input text
 * @param array $args Tag arguments
 * @param Parser $parser Parent parser
 * @return string
 */
function efRenderSort($input, $args, &$parser)
{
    $sorter = new Sorter($parser);
    $sorter->loadSettings($args);
    return $sorter->sort($input);
}
示例#11
0
            }
            unset($Weapon);
            break;
        case 'Locations':
            ?>
<option value="Bank">Any Bank</option>
					<option value="Bar">Any Bar</option>
					<option value="SafeFed">Any Safe Fed</option>
					<option value="Fed">Any Fed</option>
					<option value="HQ">Any Headquarters</option>
					<option value="UG">Any Underground</option>
					<option value="Hardware">Any Hardware Shop</option>
					<option value="Ship">Any Ship Shop</option>
					<option value="Weapon">Any Weapon Shop</option><?php 
            $Locations =& SmrLocation::getAllLocations();
            Sorter::sortByNumMethod($Locations, 'getName');
            foreach ($Locations as &$Location) {
                ?>
<option value="<?php 
                echo $Location->getTypeID();
                ?>
"><?php 
                echo $Location->getName();
                ?>
</option><?php 
            }
            unset($Location);
            break;
        case 'Goods':
            $Goods =& Globals::getGoods();
            foreach ($Goods as &$Good) {
示例#12
0
 public static function asUCStringDesc($a, $b)
 {
     return Sorter::asUCStringAsc($b, $a);
 }
示例#13
0
 /**
  * @return string
  */
 protected static function getHeader()
 {
     $key = Sorter::getSortKey();
     if ($key === 'asctype') {
         $iconSortType = static::getMenuLink('desctype', 'type', 'asc');
     } elseif ($key === 'desctype') {
         $iconSortType = static::getMenuLink('asctype', 'type', 'desc');
     } else {
         $iconSortType = static::getMenuLink('asctype', 'type');
     }
     if ($key === 'ascname') {
         $iconSortName = static::getMenuLink('descname', 'name', 'asc');
     } elseif ($key === 'descname') {
         $iconSortName = static::getMenuLink('ascname', 'name', 'desc');
     } else {
         $iconSortName = static::getMenuLink('ascname', 'name');
     }
     if ($key === 'ascsize') {
         $iconSortSize = static::getMenuLink('descsize', 'size', 'asc');
     } elseif ($key === 'descsize') {
         $iconSortSize = static::getMenuLink('ascsize', 'size', 'desc');
     } else {
         $iconSortSize = static::getMenuLink('descsize', 'size');
     }
     if ($key === 'ascmodified') {
         $iconSortModified = static::getMenuLink('descmodified', 'last_modified', 'asc');
     } elseif ($key === 'descmodified') {
         $iconSortModified = static::getMenuLink('ascmodified', 'last_modified', 'desc');
     } else {
         $iconSortModified = static::getMenuLink('ascmodified', 'last_modified');
     }
     $header = sprintf('<tr><th class="type">%s</th><th>%s</th><th class="size">%s</th><th class="date">%s</th></tr>' . "\n", $iconSortType, $iconSortName, $iconSortSize, $iconSortModified);
     $header .= '<tr><td colspan="4"  style="border-bottom: 1px solid black;"></td></tr>' . "\n";
     return $header;
 }
示例#14
0
acquire_lock($var['target_sector']);
// get new sector object
$sector =& $player->getSector();
//add that the player explored here if it hasnt been explored...for HoF
if (!$sector->isVisited($player)) {
    $player->increaseExperience(EXPLORATION_EXPERIENCE);
    $player->increaseHOF(EXPLORATION_EXPERIENCE, array('Movement', 'Exploration Experience Gained'), HOF_ALLIANCE);
    $player->increaseHOF(1, array('Movement', 'Sectors Explored'), HOF_ALLIANCE);
}
// make current sector visible to him
$sector->markVisited($player);
// send scout msgs
$sector->enteringSector($player, MOVEMENT_WALK);
$sectorForces =& $sector->getForces();
$mine_owner_id = false;
Sorter::sortByNumMethod($sectorForces, 'getMines', true);
foreach ($sectorForces as &$forces) {
    if (!$mine_owner_id && $forces->hasMines() && !$player->forceNAPAlliance($forces->getOwner())) {
        $mine_owner_id = $forces->getOwnerID();
        break;
    }
}
unset($forces);
if ($mine_owner_id) {
    if ($player->hasNewbieTurns()) {
        $turns = $sectorForces[$mine_owner_id]->getBumpTurnCost($ship);
        $player->takeTurns($turns, $turns);
        $container = create_container('skeleton.php', 'current_sector.php');
        $container['msg'] = 'You have just flown past a sprinkle of mines.<br />Because of your newbie status you have been spared from the harsh reality of the forces.<br />It has cost you ' . $turns . ' turn' . ($turns == 1 ? '' : 's') . ' to navigate the minefield safely.';
        forward($container);
    } else {