Вход Регистрация
Файл: Luxe-Shop v6.0/application/controllers/admin/goods.php
Строк: 139
<?php
class goods extends Admin_Controler {
    function 
__Construct() {
        
parent::__construct();
        
$this->load->model('goods_model');
        
$this->load->model('categories_model');
        
$this->data['categories'] =$this->categories_model->get();
    }
    
    public function 
index ($id=NULL) {

        
        
$items $this->goods_model->get();

        foreach(
$items as $item) {
            if(
$item->sell_method == 0)
            {
                if(!empty(
$item->goods)) {
                    
$data explode(PHP_EOL,$this->encrypt->decode($item->goods));
                }
                else {
                    
$filename preg_replace('/[^p{L}p{N}s]/u',''md5(config_item('encryption_key').$item->name));
                    
$uppath './assets/uploads/'.preg_replace('/[^p{L}p{N}s]/u',''md5(config_item('encryption_key').$filename.$item->name)).'/';
                    
$data file($uppath.$filename);
                }
                
                if(empty(
$data)) 
                {
                    
$item->count '0';
                }
                else
                {
                    
$item->count count($data);
                    
$item->goods "";
                }
            }
            elseif(
$item->sell_method == 1)
            {
                
$item->count 'Файл';
                
$item->goods "";
            }
        }
        
$this->data['goods'] = $items;
        
        
$this->data['subview'] = 'admin/goods/index';
        
$this->load->view('admin/layout_main',$this->data);
    }
    
    public function 
edit ($id NULL)
    {
        if(
$id) {
            
$this->data['goods'] = $this->goods_model->get($id);
            
count($this->data['goods']) || $this->data['errors'][] = 'Страница не найдена';
            if(
$this->data['goods']->sell_method == 0) {
                if(!empty(
$this->data['goods']->goods))
                    {
                    
$this->data['goods']->goods $this->encrypt->decode($this->data['goods']->goods);
                } else {
                    
$filename preg_replace('/[^p{L}p{N}s]/u',''md5(config_item('encryption_key').$this->data['goods']->name));
                    
$uppath './assets/uploads/'.preg_replace('/[^p{L}p{N}s]/u',''md5(config_item('encryption_key').$filename.$this->data['goods']->name)).'/';
                    
$this->data['goods']->goods implode(file($uppath.$filename));
                }
            }
        }
        else {
            
$this->data['goods'] = $this->goods_model->get_new();
            
$this->data['goods']->filename '';
        }
        
$rules $this->goods_model->rules;
        
$this->form_validation->set_rules($rules);
        
        if(
$this->form_validation->run() == TRUE) {
            
$data $this->goods_model->array_from_post(array('name','category','descr','iconurl','discount','discount_pct','price_rub','price_dlr','price_yad','price_qiwi','type_Item','min_order','sell_method','goods','onmain','primearea','foto1','foto2','foto3','foto4'));
            
$data['price_rub'] = number_format($data['price_rub'], 2'.''');
            if (
$data['sell_method'] == 1) {
                if(!empty(
$_FILES['userfile']['name']))
                {
                    
$this->load->helper("file"); 
                    
$filename $_FILES['userfile']['name'];
                    
$uppath './assets/uploads/'.preg_replace('/[^p{L}p{N}s]/u',''md5(config_item('encryption_key').$filename.$data['name'])).'/';
                    
delete_files($uppathtrue);
                    if(!
is_dir($uppath)) {
                        
mkdir($uppath);
                    }
                    
$config['upload_path'] = $uppath;
                    
$config['allowed_types'] = '*';
                    
$config['max_size']    = '100000';

                    if(
is_uploaded_file($_FILES["userfile"]["tmp_name"]))
   {
     
// Если файл загружен успешно, перемещаем его
     // из временной директории в конечную
     
move_uploaded_file($_FILES["userfile"]["tmp_name"], "to/files/".$filename);
   } else {
      echo(
"Ошибка загрузки файла");
   }
                    
                    if (
== 2)
                    {
                        
$this->data['subview'] = 'admin/goods/edit';
                        
$this->load->view('admin/layout_main',$this->data);
                    }
                    else
                    {
                        
$data['goods'] = $filename;
                        
$this->goods_model->save($data,$id);
                        
redirect('admin/goods');
                    }
                }
                else 
                {
                    
$data $this->goods_model->array_from_post(array('name','descr','iconurl','price_rub','type_Item','min_order','primearea'));
                    
$data['price_rub'] = number_format($data['price_rub'], 2'.''');
                    
$data['type_Item'] = number_format($data['type_Item'], 2'.''');
                    
$this->goods_model->save($data,$id);
                    
redirect('admin/goods');
                }
            }
            elseif(
$data['sell_method'] == 0)
            {    
                
$this->load->helper("file"); 
                
$filename preg_replace('/[^p{L}p{N}s]/u',''md5(config_item('encryption_key').$data['name']));
                
$uppath './assets/uploads/'.preg_replace('/[^p{L}p{N}s]/u',''md5(config_item('encryption_key').$filename.$data['name'])).'/';
                
delete_files($uppathtrue);
                if(!
is_dir($uppath)) {
                    
mkdir($uppath);
                }
                
file_put_contents($uppath.$filename$data['goods']);
                
$data['goods'] = "";
                
$this->goods_model->save($data,$id);
                
redirect('admin/goods');
            }
        }
        else
        {
            
$this->data['error'] = validation_errors();
            
$this->data['subview'] = 'admin/goods/edit';
            
$this->load->view('admin/layout_main',$this->data);
        }
        
        
    }
    
    public function 
delete($id) {
        
$this->load->helper("file"); 
        
$data $this->goods_model->get($id);
        if(
$data->sell_method == 0)
        {
            
$filename preg_replace('/[^p{L}p{N}s]/u',''md5(config_item('encryption_key').$data->name));
            
$uppath './assets/uploads/'.preg_replace('/[^p{L}p{N}s]/u',''md5(config_item('encryption_key').$filename.$data->name)).'/';
        }
        elseif(
$data->sell_method == 1)
        {
            
$filename $data->goods;
            
$uppath './assets/uploads/'.preg_replace('/[^p{L}p{N}s]/u',''md5(config_item('encryption_key').$filename.$data->name)).'/';
        }
        
delete_files($uppathtrue);
        
rmdir($uppath);
        
$this->goods_model->delete($id);
        
redirect('admin/goods');
    }
    
    public function 
_unique_slug($str) {
        
$id $this->uri->segment(4);
        
$this->db->where('slug',$this->input->post('slug'));
        !
$id || $this->db->where('id !=',$id);
        
$goods $this->goods_model->get();
        
        if(
count($goods)) {
            
$this->form_validation->set_message('_unique_slug','%s должен быть уникальным');
            return 
FALSE;
        }
        return 
TRUE;
    }
    public function 
chg_order_ajax() {
        
$items $this->input->post('item');
        
$total_items count($this->input->post('item'));
        for(
$item 0$item $total_items$item++ )
        {
            
$data = array(
                
'id' => $items[$item],
                
'rank' => $rank $item
            
);
            
$this->db->where('id'$data['id']);
            
$this->db->update('goods'$data);
        }  
    }
}
?>
Онлайн: 0
Реклама