function addAkas(array $akas)
 {
     $itemName = Lms_Item::getItemName($this);
     $itemAkaName = $itemName . 'Aka';
     $akas = array_unique($akas);
     //Для избежания дублирования ака
     foreach ($akas as $aka) {
         $akaObj = Lms_Item::create($itemAkaName);
         $akaObj->setName($aka);
         $this->add($akaObj);
     }
 }
 private function _getFileEncoding($file)
 {
     $tmp = array();
     foreach ($this->config as $key => $value) {
         $keyt = $key;
         $keyt = Lms_Text::replace("\\", '/', $key);
         if ($keyt[strlen($keyt) - 1] == '/') {
             $keyt = substr($keyt, 0, strlen($keyt) - 1);
         }
         if (Lms_Text::pos($file, $keyt) === 0) {
             $tmp[$keyt] = $value;
             if ($keyt == $file) {
                 return $value;
             }
         }
     }
     $path = explode('/', $file);
     $i = count($path);
     while ($i > 0) {
         $f = '';
         for ($j = 0; $j < $i; $j++) {
             $f = $f . $path[$j] . "/";
         }
         foreach ($tmp as $key => $value) {
             if ($key == $f || Lms_Text::substring($keyt, 0, Lms_Item::length($f) - 1) == $key) {
                 return $value;
             }
         }
         $i--;
     }
     return 'UTF-8';
 }
 public static function getTableName($itemName)
 {
     $className = Lms_Item::getClassName($itemName);
     return call_user_func(array($className, 'getTableName'));
 }
 public static function rowToItem($row, $itemName = null)
 {
     if (!$row) {
         return null;
     }
     if (!$itemName) {
         $itemName = Lms_Item::getCallingItemName();
     }
     Lms_Item::initStructure(Lms_Item::getClassName($itemName));
     $simplePk = Lms_Item::getSimplePk($itemName);
     $tableName = Lms_Item::getTableName($itemName);
     Lms_Item_Store::setValues($tableName, $row[$simplePk], $row, true);
     return Lms_Item::create($itemName, $row[$simplePk]);
 }
 private static function _exec($itemName, $fields, $keyField, $ids, $foreignKey = null)
 {
     if (!count($ids)) {
         return array();
     }
     if (count($fields)) {
         $escapedFields = array();
         foreach ($fields as $fieldName) {
             $escapedFields[] = self::$_db->escape($fieldName, true);
         }
         $sqlFields = implode(',', $escapedFields);
     } else {
         $sqlFields = '*';
     }
     $tableName = Lms_Item::getTableName($itemName);
     $query = "SELECT {$sqlFields} FROM {$tableName} WHERE ?# IN (?a)";
     $rows = self::$_db->select($query, $keyField, $ids);
     return self::_fillData($tableName, $rows, $foreignKey);
 }