Ejemplo n.º 1
0
 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();
 }
Ejemplo n.º 3
0
    /**
     * Display directory listing
     */
    public static function display()
    {
        Sorter::sort(Listing::$files);
        $content = '<!DOCTYPE html>';
        $content .= sprintf('
<html xmlns="http://www.w3.org/1999/xhtml" lang="%s">', Translation::getCanonicalLocale());
        $content .= '
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>' . sprintf(Translation::trans('index_of'), Main::getDir()) . '</title>';
        $content .= static::getStyle();
        $content .= '
    </head>
    <body>';
        $content .= static::getTitle();
        $content .= '
        <table align="center">';
        $content .= static::getHeader();
        foreach (Listing::$files as $file) {
            $content .= static::getRow($file);
        }
        $content .= static::getFooter();
        $content .= '
        </table>';
        $content .= '
    </body>
</html>';
        die($content);
    }
 /**
  * @dataProvider sortValues
  */
 public function testNumbersAreSortedCorrectly($unsorted, $sorted)
 {
     $this->assertSame($sorted, Sorter::sort($unsorted));
 }
Ejemplo n.º 5
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()));
 }
Ejemplo n.º 6
0
/**
 * 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);
}