コード例 #1
0
ファイル: currency.php プロジェクト: akniyev/itprom_dobrohost
 public static function __GetList(&$by, &$order, $lang = LANGUAGE_ID)
 {
     $lang = substr((string) $lang, 0, 2);
     $normalBy = strtolower($by);
     if ($normalBy != 'currency' && $normalBy != 'name') {
         $normalBy = 'sort';
         $by = 'sort';
     }
     $normalOrder = strtoupper($order);
     if ($normalOrder != 'DESC') {
         $normalOrder = 'ASC';
         $order = 'asc';
     }
     switch ($normalBy) {
         case 'currency':
             $currencyOrder = array('CURRENCY' => $normalOrder);
             break;
         case 'name':
             $currencyOrder = array('FULL_NAME' => $normalOrder);
             break;
         case 'sort':
         default:
             $currencyOrder = array('SORT' => $normalOrder);
             break;
     }
     unset($normalOrder, $normalBy);
     $datetimeField = Currency\CurrencyManager::getDatetimeExpressionTemplate();
     $currencyIterator = Currency\CurrencyTable::getList(array('select' => array('CURRENCY', 'AMOUNT_CNT', 'AMOUNT', 'SORT', 'BASE', 'NUMCODE', 'CREATED_BY', 'MODIFIED_BY', new Main\Entity\ExpressionField('DATE_UPDATE_FORMAT', $datetimeField, array('DATE_UPDATE'), array('data_type' => 'datetime')), new Main\Entity\ExpressionField('DATE_CREATE_FORMAT', $datetimeField, array('DATE_CREATE'), array('data_type' => 'datetime')), 'FULL_NAME' => 'RT_LANG.FULL_NAME', 'LID' => 'RT_LANG.LID', 'FORMAT_STRING' => 'RT_LANG.FORMAT_STRING', 'DEC_POINT' => 'RT_LANG.DEC_POINT', 'THOUSANDS_SEP' => 'RT_LANG.THOUSANDS_SEP', 'DECIMALS' => 'RT_LANG.DECIMALS', 'HIDE_ZERO' => 'RT_LANG.HIDE_ZERO'), 'order' => $currencyOrder, 'runtime' => array('RT_LANG' => array('data_type' => 'Bitrix\\Currency\\CurrencyLang', 'reference' => array('=this.CURRENCY' => 'ref.CURRENCY', '=ref.LID' => new Main\DB\SqlExpression('?', $lang))))));
     unset($datetimeField);
     $currencyList = array();
     while ($currency = $currencyIterator->fetch()) {
         $currency['DATE_UPDATE'] = $currency['DATE_UPDATE_FORMAT'];
         $currency['DATE_CREATE'] = $currency['DATE_CREATE_FORMAT'];
         $currencyList[] = $currency;
     }
     unset($currency, $currencyIterator);
     $result = new CDBResult();
     $result->InitFromArray($currencyList);
     return $result;
 }