Вход Регистрация
Файл: oc-includes/osclass/model/OSCLocale.php
Строк: 111
<?php if ( !defined('ABS_PATH') ) exit('ABS_PATH is not loaded. Direct access is not allowed.');

/*
 * Copyright 2014 Osclass
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

    /**
     * OSCLocale DAO
     */
    
class OSCLocale extends DAO
    
{
        
/**
         *
         * @var type
         */
        
private static $instance;

        public static function 
newInstance()
        {
            if( !
self::$instance instanceof self ) {
                
self::$instance = new self;
            }
            return 
self::$instance;
        }

        
/**
         *
         */
        
function __construct()
        {
            
parent::__construct();
            
$this->setTableName('t_locale');
            
$this->setPrimaryKey('pk_c_code');
            
$array_fields = array(
                
'pk_c_code',
                
's_name',
                
's_short_name',
                
's_description',
                
's_version',
                
's_author_name',
                
's_author_url',
                
's_currency_format',
                
's_dec_point',
                
's_thousands_sep',
                
'i_num_dec',
                
's_date_format',
                
's_stop_words',
                
'b_enabled',
                
'b_enabled_bo'
            
);
            
$this->setFields($array_fields);
        }

        
/**
         * Return all locales enabled.
         *
         * @access public
         * @since unknown
         * @param boole $isBo
         * @param boole $indexedByKk
         * @return array
         */
        
function listAllEnabled($isBo false$indexedByPk false)
        {
            
$this->dao->select();
            
$this->dao->from($this->getTableName());
            if(
$isBo) {
                
$this->dao->where('b_enabled_bo'1);
            } else {
                
$this->dao->where('b_enabled'1);
            }
            
$this->dao->orderBy('s_name''ASC');
            
$result $this->dao->get();

            if(
$result == false) {
                return array();
            }

            
$aResults $result->result();

            if (
$indexedByPk) {
                
$aTmp = array();
                for (
$i 0$i count($aResults); $i++) {
                    
$aTmp[(string)$aResults[$i][$this->getPrimaryKey()]] = $aResults[$i];
                }
                
$aResults $aTmp;
            }

            return(
$aResults);
        }

        
/**
         * Return all locales by code
         *
         * @access public
         * @since 2.3
         * @param string $code
         * @return array
         */
        
function findByCode($code)
        {
            
$this->dao->select();
            
$this->dao->from($this->getTableName());
            
$this->dao->where('pk_c_code'$code);
            
$result $this->dao->get();

            if(
$result == false) {
                return array();
            }

            return 
$result->result();
        }

        
/**
         * Delete all related to locale code.
         *
         * @access public
         * @since unknown
         * @param string $locale
         * @return bool
         */
        
public function deleteLocale($locale) {
            
osc_run_hook('delete_locale'$locale);

            
$array_where = array('fk_c_locale_code' => $locale );
            
$this->dao->delete(DB_TABLE_PREFIX.'t_category_description',  $array_where);
            
$this->dao->delete(DB_TABLE_PREFIX.'t_item_description'$array_where);
            
$this->dao->delete(DB_TABLE_PREFIX.'t_keywords'$array_where);
            
$this->dao->delete(DB_TABLE_PREFIX.'t_user_description'$array_where);
            
$this->dao->delete(DB_TABLE_PREFIX.'t_pages_description'$array_where);
            return 
$this->dao->delete($this->getTableName(), array('pk_c_code' => $locale ));
        }
    }

    
/* file end: ./oc-includes/osclass/model/OSCLocale.php */
?>
Онлайн: 1
Реклама