Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 37.09 KB | None | 0 0
  1. <?php
  2.     class Private_room extends Controller {
  3.         private $count_firms;
  4.         private $cityes;
  5.         private $categoryes;
  6.         private $tovary;
  7.         private $uslugi;
  8.         private $forms;
  9.         private $work_cat;
  10.         private $active;
  11.         private $banners;
  12.        
  13.         public function  __construct() {
  14.             parent::Controller();
  15.  
  16.             header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");  // disable IE caching
  17.             header("Last-Modified: ".gmdate( "D, d M Y H:i:s")." GMT");
  18.             header("Cache-Control: no-cache, must-revalidate");
  19.             header("Pragma: no-cache");
  20.             header("Content-Type: text/html; charset=windows-1251");
  21.            
  22.             $this->load->library('mysmarty');
  23.            
  24.             $this->load->model('Private_room_model', '', true);
  25.            
  26.             $this->count_firms  =   $this->Private_room_model->getCountFirms();
  27.             $this->cityes       =   $this->Private_room_model->getCityes();
  28.             $this->categoryes   =   $this->Private_room_model->getCategoryes();
  29.             $this->tovary       =   $this->Private_room_model->getTovary();
  30.             $this->uslugi       =   $this->Private_room_model->getUslugi();
  31.             $this->forms        =   $this->Private_room_model->getForms();
  32.             $this->work_cat     =   $this->Private_room_model->getWorkCat();
  33.             $this->banners      =   $this->Private_room_model->getBanners('private_room');
  34.             $index              =   0;
  35.             $time               =   time();
  36.             foreach ($this->banners as $row) {
  37.                 $this->banners[$index]['now'] = $time;
  38.                 $this->banners[$index]['ext'] = substr($this->banners[$index]['name'], -3, 3);
  39.                 $index++;
  40.             }
  41.             if($this->session->userdata('firm_id') &&
  42.                $this->session->userdata('email') &&
  43.                $this->session->userdata('password')) {  
  44.                 $id =    $this->session->userdata('firm_id');
  45.                 $this->active       =   $this->Private_room_model->checkActive($id);
  46.                 $this->mysmarty->assign('active',       $this->active);
  47.                }
  48.            
  49.             $this->mysmarty->assign('count_firms',  $this->count_firms);            
  50.             $this->mysmarty->assign('title',        '����� ��!');
  51.             $this->mysmarty->assign('URL_SITE',     URL_SITE);
  52.             $this->mysmarty->assign('URL_FILES',    URL_FILES);
  53.             $this->mysmarty->assign('copyright',    'All rights reserved');
  54.             $this->mysmarty->assign('description',  '�������������� ������ �� �������������');
  55.             $this->mysmarty->assign('keywords',     '������, �������������, �������');  
  56.             $this->mysmarty->assign('cityes',       $this->cityes);
  57.             $this->mysmarty->assign('categoryes',   $this->categoryes);
  58.             $this->mysmarty->assign('tovary',       $this->tovary);
  59.             $this->mysmarty->assign('uslugi',       $this->uslugi);
  60.             $this->mysmarty->assign('counter',      1);
  61.             $this->mysmarty->assign('forms',        $this->forms); 
  62.             $this->mysmarty->assign('banners',      $this->banners);                                                                               
  63.         }
  64.         public function index() {
  65.             if($this->session->userdata('firm_id') &&
  66.                $this->session->userdata('email') &&
  67.                $this->session->userdata('password')) {  
  68.                 $cur_month      = date('n');            
  69.                 $id             = intval($this->session->userdata('firm_id'));
  70.                 $array          = $this->Private_room_model->getCurFirmInfo($id);
  71.                 $arr_cityes     = $this->Private_room_model->getCityesFromFirm($id);
  72.                 $arr_cat        = $this->Private_room_model->getCategoryesFromFirm($id);
  73.                 $array['form']  = $this->Private_room_model->getFormByValue($array['form']);
  74.                 $rating         = $this->Private_room_model->getRatingByCurMonth($id, $cur_month);
  75.                 if(empty($rating))
  76.                     $this->Private_room_model->insertRating($id, date('n'));
  77.                 else    $this->Private_room_model->upRating($id, date('n'));
  78.                 $rating         = $this->Private_room_model->getRatingByCurMonth($id, $cur_month);
  79.                 $ratingFirm     = $this->getRatingFirm($cur_month);
  80.                 $package        = $this->Private_room_model->getPackageFirm($id);
  81.                 $date_end       = $this->Private_room_model->getDateEnd($id);
  82.                
  83.                 foreach($arr_cityes as $row) {
  84.                     $array['city'][]    =   $row['city'];
  85.                 }
  86.                 foreach($arr_cat as $row) {
  87.                     $array['category'][]    =   $row['category'];
  88.                 }
  89.                 $this->mysmarty->assign('firm_id',      $id);
  90.                 $this->mysmarty->assign('info',         $array);  
  91.                 $this->mysmarty->assign('date_end',     date('j.m.Y', $date_end));
  92.                 //$this->mysmarty->assign('firm_cityes',    $arr_cityes);
  93.                 //$this->mysmarty->assign('firm_cat',   $arr_cat);
  94.                 $this->mysmarty->assign('rating',       $rating[0]['rating']);             
  95.                 $this->mysmarty->assign('cur_month',    $cur_month);
  96.                 $this->mysmarty->assign('rating_firm',  $ratingFirm);
  97.                 $this->mysmarty->assign('calendar',     array(  '1'     =>  '������',
  98.                                                                 '2'     =>  '�������',
  99.                                                                 '3'     =>  '����',
  100.                                                                 '4'     =>  '������',
  101.                                                                 '5'     =>  '���',
  102.                                                                 '6'     =>  '����',
  103.                                                                 '7'     =>  '����',
  104.                                                                 '8'     =>  '������',
  105.                                                                 '9'     =>  '��������',
  106.                                                                 '10'    =>  '�������',
  107.                                                                 '11'    =>  '������',
  108.                                                                 '12'    =>  '�������'));
  109.                switch($package) {
  110.                     case 1: $this->mysmarty->assign('package',  '�������');
  111.                             $this->mysmarty->display('private_room/basic.tpl');
  112.                             break;
  113.                     case 2: $logo   =   $this->Private_room_model->getLogo($id);
  114.                             $map    =   $this->Private_room_model->getMap($id);
  115.                             $price  =   $this->Private_room_model->getPrice($id);
  116.                             $photos =   $this->Private_room_model->getPhotos($id);
  117.                             switch(substr($price, -3)) {
  118.                                 case 'doc': $this->mysmarty->assign('ext',  'word.gif');    break;
  119.                                 case 'xls': $this->mysmarty->assign('ext',  'excel.gif');   break;
  120.                             }
  121.                             $this->mysmarty->assign('package',  '��������');
  122.                             $this->mysmarty->assign('logo',     $logo);  
  123.                             $this->mysmarty->assign('map',      $map);
  124.                             $this->mysmarty->assign('price',    $price);
  125.                             if(count($photos) > 0)
  126.                                 $this->mysmarty->assign('photos',   $photos);
  127.                             else $this->mysmarty->assign('photos',  '');
  128.                             $this->mysmarty->display('private_room/standart.tpl');
  129.                             break;
  130.                     case 3: $logo   =   $this->Private_room_model->getLogo($id);
  131.                             $map    =   $this->Private_room_model->getMap($id);
  132.                             $price  =   $this->Private_room_model->getPrice($id);
  133.                             $photos =   $this->Private_room_model->getPhotos($id);
  134.                             switch(substr($price, -3)) {
  135.                                 case 'doc': $this->mysmarty->assign('ext',  'word.gif');    break;
  136.                                 case 'xls': $this->mysmarty->assign('ext',  'excel.gif');   break;
  137.                             }
  138.                             $this->mysmarty->assign('package',  '����');
  139.                             $this->mysmarty->assign('logo',     $logo);  
  140.                             $this->mysmarty->assign('map',      $map);
  141.                             $this->mysmarty->assign('price',    $price);
  142.                             if(count($photos) > 0)
  143.                                 $this->mysmarty->assign('photos',   $photos);
  144.                             else $this->mysmarty->assign('photos',  '');                   
  145.                             $this->mysmarty->display('private_room/luxe.tpl');
  146.                             break;
  147.                 }
  148.                }          
  149.         }
  150.         public function login() {
  151.             if(!empty($_POST)) {
  152.                 $this->session->unset_userdata('firm_id');
  153.                 $this->session->unset_userdata('email');
  154.                 $this->session->unset_userdata('password');
  155.                 $this->load->helper('email');
  156.                
  157.                 $email      = valid_email(trim($_POST['email'])) ? strtolower(trim($_POST['email'])) : '';
  158.                 $password   = sha1(trim($_POST['password']));                          
  159.                
  160.                 $firm       = $this->Private_room_model->checkFirm($email, $password);
  161.                 if(count($firm) > 0) {
  162.                     //echo $firm[0]['id'].' '.$email.' '.$password;
  163.                     $this->session->set_userdata('firm_id',     $firm[0]['id']);
  164.                     $this->session->set_userdata('email',       $email);
  165.                     $this->session->set_userdata('password',    $password);
  166.                     header('Location: '.URL_SITE.'private_room');
  167.                 } else $this->mysmarty->display('base/wrong_pass.tpl');
  168.             } else $this->mysmarty->display('enter.tpl');
  169.         }
  170.         public function edit() {
  171.             if($this->session->userdata('firm_id') &&
  172.                $this->session->userdata('email') &&
  173.                $this->session->userdata('password')) {  
  174.                 $cur_month      = date('n');            
  175.                 $id             = intval($this->session->userdata('firm_id'));
  176.                 $array          = $this->Private_room_model->getCurFirmInfo($id);
  177.                 $arr_cityes     = $this->Private_room_model->getCityesFromFirm($id);
  178.                 $arr_cat        = $this->Private_room_model->getCategoryesFromFirm($id);
  179.                 $this->mysmarty->assign('form_value',   $array['form']);
  180.                 $array['form']  = $this->Private_room_model->getFormByValue($array['form']);
  181.                 $package        = $this->Private_room_model->getPackageFirm($id);
  182.                
  183.                 $this->mysmarty->assign('firm_id',      $id);
  184.                 $this->mysmarty->assign('info',         $array);  
  185.                 $this->mysmarty->assign('firm_cityes',  $arr_cityes);
  186.                 $this->mysmarty->assign('firm_cat',     $arr_cat);
  187.                 switch($package) {
  188.                     case 1: $this->mysmarty->display('private_room/edit/basic.tpl');
  189.                             break;
  190.                     case 2: $logo   =   $this->Private_room_model->getLogo($id);
  191.                             $map    =   $this->Private_room_model->getMap($id);
  192.                             $price  =   $this->Private_room_model->getPrice($id);
  193.                             $this->mysmarty->assign('logo',     $logo);  
  194.                             $this->mysmarty->assign('map',      $map);
  195.                             $this->mysmarty->assign('price',    $price);
  196.                             $this->mysmarty->display('private_room/edit/standart.tpl');
  197.                             break;
  198.                     case 3: $logo   =   $this->Private_room_model->getLogo($id);
  199.                             $map    =   $this->Private_room_model->getMap($id);
  200.                             $price  =   $this->Private_room_model->getPrice($id);
  201.                             $this->mysmarty->assign('logo',     $logo);  
  202.                             $this->mysmarty->assign('map',      $map);
  203.                             $this->mysmarty->assign('price',    $price);
  204.                             $this->mysmarty->display('private_room/edit/luxe.tpl');
  205.                             break;
  206.                 }
  207.             }      
  208.         }
  209.         public function photo($photo) {
  210.             $photo      =   trim($photo);
  211.             $id         =   intval($this->session->userdata('firm_id'));
  212.             $photo_arr  =   $this->Private_room_model->getPhotos($id);
  213.             $count      =   count($photo_arr);
  214.             $package    =   $this->Private_room_model->getPackageFirm($id);
  215.             $this->mysmarty->assign('firm_id',      $id);
  216.             if($package == 1) {
  217.                 $this->mysmarty->display('private_room/error_photo.tpl');
  218.                 return;
  219.             }
  220.             for($i = 0; $i < $count; $i++) {
  221.                 if(substr($photo_arr[$i]['foto'], 0, strlen($photo_arr[$i]['foto']) - 4) == $photo) {
  222.                     $this->mysmarty->assign('photo',    $photo_arr[$i]['foto']);  
  223.                     $this->mysmarty->assign('firm_id',  $id);
  224.                     $this->mysmarty->display('private_room/del_photo.tpl');
  225.                     return;
  226.                 }
  227.             }
  228.             $this->mysmarty->display('private_room/error_photo.tpl');
  229.         }
  230.         public function delPhoto() {           
  231.             if(!empty($_POST['photo'])) {
  232.                 $id     =   intval($this->session->userdata('firm_id'));
  233.                 $this->mysmarty->assign('firm_id',      $id);
  234.                 $photo  =   trim($_POST['photo']);
  235.                 $result =   $this->Private_room_model->delPhoto($id, $photo);
  236.                 if($result)
  237.                     echo '���� ���� ������� �������.';
  238.                 else echo '�� ������� ������� ����.';
  239.             }
  240.         }
  241.         public function process_data() {           
  242.             $this->load->helper('email');
  243.            
  244.             $form       = intval($_POST['form']);
  245.             $email      = valid_email(trim($_POST['email'])) ? strtolower(trim($_POST['email'])) : '';
  246.             $category   = trim($_POST['category']);
  247.             $city       = trim($_POST['city']);
  248.             $ceo        = trim($_POST['ceo']);
  249.             $manager    = trim($_POST['manager']);
  250.             $phone      = trim($_POST['phone']);
  251.             $address    = trim($_POST['address']);
  252.             $site       = trim($_POST['site']);
  253.             $fax        = trim($_POST['fax']);
  254.             $about      = trim($_POST['about']);
  255.             $full_about = trim($_POST['full_about']);
  256.            
  257.             if($email == '') {
  258.                 echo '�� ������ ������ e-mail!';
  259.                 return;
  260.             }      
  261.             $id         = intval($this->session->userdata('firm_id')); 
  262.             $this->mysmarty->assign('firm_id',      $id);
  263.             $cityes     = array();
  264.             $categories = array();
  265.             $categories = $this->getCategoryesFromString($category);
  266.             $cityes     = $this->getCityesFromString($city);
  267.             $params     = array('form'          => $form,
  268.                                 'email'         => $email,  
  269.                                 'ceo'           => $ceo,
  270.                                 'manager'       => $manager,
  271.                                 'phone'         => $phone,
  272.                                 'address'       => $address,
  273.                                 'site'          => $site,
  274.                                 'fax'           => $fax,
  275.                                 'about'         => $about,
  276.                                 'full_about'    => $full_about);                        
  277.             $mess       = $this->Private_room_model->editFirm($id, $params, $categories, $cityes);                              
  278.             if($mess)
  279.                 echo '������ ���� ������� ��������!';
  280.             else echo '�� ������� �������� ������!';
  281.         }
  282.         public function logout() {
  283.             if($this->session->userdata('firm_id'))
  284.                 $this->session->unset_userdata('firm_id');
  285.             //$this->session->sess_destroy();
  286.             header('Location: '.URL_SITE.'private_room/login');
  287.         }
  288.         public function getRatingByCurMonth() {
  289.             if(!empty($_POST['month'])) {
  290.                 $rating =   $this->Private_room_model->getRatingByCurMonth($this->session->userdata('firm_id'), intval($_POST['month']));              
  291.                 if(isset($rating[0]['rating']))
  292.                     echo $rating[0]['rating'];
  293.                 else echo '0';
  294.             }  
  295.         }
  296.         public function check_email() {
  297.             if(!empty($_POST['email'])) {
  298.                 $this->load->helper('email');
  299.                 $email  = valid_email(trim($_POST['email'])) ? strtolower(trim($_POST['email'])) : '';
  300.                 if($email == '') {
  301.                     echo '�� ������ ������ e-mail!';
  302.                     return;
  303.                 }
  304.                 $check_email = $this->Private_room_model->checkEmail($email);
  305.                 if(count($check_email) > 0) {
  306.                     if($check_email[0]['email'] != '')
  307.                         echo '������ e-mail ��� ��������������� �� �����!';
  308.                     else echo '�� ������ ������������ ������ e-mail';
  309.                 } else echo '�� ������ ������������ ������ e-mail';
  310.             }
  311.         }
  312.         private function getRatingFirm($month) {
  313.             $arr_rating =   $this->Private_room_model->getRatingFirm($month);
  314.             if(isset($arr_rating[0]['id_firm'])) {
  315.                 $count      =   count($arr_rating);
  316.                 for($i = 0; $i < $count; $i++) {                               
  317.                     if($arr_rating[$i]['id_firm'] == $this->session->userdata('firm_id'))
  318.                         return ++$i;                                       
  319.                 } return '0';
  320.             } else return '0';          
  321.         }
  322.         private function getCityesFromString($str) {
  323.             $arr = explode(',', $str);
  324.             if(in_array('0', $arr))
  325.                 return array('0');     
  326.             else return array_unique($arr);
  327.         }
  328.         private function getCategoryesFromString($str) {
  329.             if('' == $str)
  330.                 return $str;
  331.             return array_unique(explode(',', $str));
  332.         }
  333.         public function add_objavlenie() {
  334.             if($this->session->userdata('firm_id') &&
  335.                $this->session->userdata('email') &&
  336.                $this->session->userdata('password')) {
  337.                 $id         = intval($this->session->userdata('firm_id'));
  338.                 $this->mysmarty->assign('firm_id',      $id);          
  339.                 if(!empty($_POST['text'])) {
  340.                     header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");  // disable IE caching
  341.                     header("Last-Modified: ".gmdate( "D, d M Y H:i:s")." GMT");
  342.                     header("Cache-Control: no-cache, must-revalidate");
  343.                     header("Pragma: no-cache");
  344.                     header("Content-Type: text/html; charset=windows-1251");
  345.                    
  346.                     $text       = trim($_POST['text']);
  347.                     $category   = intval($_POST['category']);
  348.                     $city       = intval($_POST['city']);                  
  349.                     $params     = array('id'        => $this->session->userdata('firm_id'),
  350.                                         'category'  => $category,
  351.                                         'city'      => $city,
  352.                                         'text'      => $text);
  353.                     $mess = $this->Private_room_model->objavleniya_firm_send($params);                 
  354.                     if($mess)
  355.                         echo '���������� ���� ������� ���������!';
  356.                     else echo '�� ������� �������� ����������!';
  357.                 } else $this->mysmarty->display('private_room/add_objavlenie.tpl');    
  358.                }
  359.         }
  360.         public function add_akciya() {
  361.             if($this->session->userdata('firm_id') &&
  362.                $this->session->userdata('email') &&
  363.                $this->session->userdata('password')) {
  364.                 $id         = intval($this->session->userdata('firm_id'));
  365.                 $this->mysmarty->assign('firm_id',      $id);                          
  366.                 if(!empty($_POST['text'])) {                   
  367.                     header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");  // disable IE caching
  368.                     header("Last-Modified: ".gmdate( "D, d M Y H:i:s")." GMT");
  369.                     header("Cache-Control: no-cache, must-revalidate");
  370.                     header("Pragma: no-cache");
  371.                     header("Content-Type: text/html; charset=windows-1251");
  372.                     $package    = $this->Private_room_model->getPackageFirm($id);
  373.                     if($package == 1) {
  374.                         echo '��� ����� �� ��������� ��������� ���������� �� ������!';
  375.                         return;                    
  376.                     }
  377.                     $text       = trim($_POST['text']);
  378.                     $category   = intval($_POST['category']);
  379.                     $city       = intval($_POST['city']);                  
  380.                     $params     = array('id'        => $this->session->userdata('firm_id'),
  381.                                         'category'  => $category,
  382.                                         'city'      => $city,
  383.                                         'text'      => $text);
  384.                     $mess = $this->Private_room_model->akciya_firm_send($params);                  
  385.                     if($mess)
  386.                         echo '��������� ���� ������� ���������!';
  387.                     else echo '�� ������� �������� ���������!';
  388.                 } else $this->mysmarty->display('private_room/add_akciya.tpl');    
  389.                }
  390.         }
  391.         public function add_vakansiya() {
  392.             if($this->session->userdata('firm_id') &&
  393.                $this->session->userdata('email') &&
  394.                $this->session->userdata('password')) {
  395.                 $id         = intval($this->session->userdata('firm_id'));
  396.                 $this->mysmarty->assign('firm_id',      $id);      
  397.                 $this->mysmarty->assign('work',         $this->work_cat);  
  398.                 if(!empty($_POST['text'])) {
  399.                     header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");  // disable IE caching
  400.                     header("Last-Modified: ".gmdate( "D, d M Y H:i:s")." GMT");
  401.                     header("Cache-Control: no-cache, must-revalidate");
  402.                     header("Pragma: no-cache");
  403.                     header("Content-Type: text/html; charset=windows-1251");
  404.                    
  405.                     $text       = trim($_POST['text']);
  406.                     $category   = intval($_POST['category']);
  407.                     $city       = intval($_POST['city']);                  
  408.                     $params     = array('id'        => $this->session->userdata('firm_id'),
  409.                                         'category'  => $category,
  410.                                         'city'      => $city,
  411.                                         'text'      => $text);
  412.                     $mess = $this->Private_room_model->akciya_firm_send($params);                  
  413.                     if($mess)
  414.                         echo '�������� ���� ������� ���������!';
  415.                     else echo '�� ������� �������� ��������!';
  416.                 } else $this->mysmarty->display('private_room/add_vakansiya.tpl');     
  417.                }    else header('Location: '.URL_SITE.'registration');
  418.         }
  419.         public function vakansiya_send() {         
  420.             $category  = intval($_POST['category']);
  421.             $city      = intval($_POST['city']);           
  422.             $vacancy   = trim($_POST['vacancy']);
  423.             $money     = trim($_POST['money']);
  424.             $age       = intval($_POST['age']);
  425.             $sex       = intval($_POST['sex']);
  426.             $school    = intval($_POST['school']);
  427.             $rating    = intval($_POST['rating']);
  428.             $time      = intval($_POST['time']);
  429.             $about     = trim($_POST['about']);
  430.            
  431.             if($vacancy != '' && $about != '') {                   
  432.                     $params = array('id'        => $this->session->userdata('firm_id'),
  433.                                     'category'  => $category,
  434.                                     'city'      => $city,                                  
  435.                                     'vacancy'   => $vacancy,
  436.                                     'money'     => $money,
  437.                                     'age'       => $age,
  438.                                     'sex'       => $sex,
  439.                                     'school'    => $school,
  440.                                     'rating'    => $rating,
  441.                                     'time'      => $time,
  442.                                     'about'     => $about);
  443.      
  444.                     $mess = $this->Private_room_model->vakansiya_firm_send($params);                   
  445.                     if($mess)
  446.                         echo '�������� ���� ������� ����������!';
  447.                     else echo '�� ������� ��������� ��������!';
  448.             } else {
  449.                 echo '�� �� ��������� ������������ ����!';
  450.                 return;
  451.             }
  452.         }
  453.         public function add_price() {
  454.             if(!empty($_POST)) {
  455.                 $config['upload_path'] = 'files/images/firms/price/';
  456.                 $config['allowed_types'] = 'doc|xls';
  457.                 $config['max_size'] = '2000';
  458.                 $config['overwrite'] = true;
  459.                
  460.                 $this->load->library('upload', $config);
  461.                
  462.                 if(!$this->upload->do_upload('price')) {
  463.                     $errors = array('error' => $this->upload->display_errors());
  464.                     $this->mysmarty->assign('errors', $errors);
  465.                     $this->mysmarty->display('private_room/upload_failed.tpl');
  466.                 } else {
  467.                     $arr    = $this->upload->data();
  468.                     $id     = intval($this->session->userdata('firm_id')); 
  469.                     $this->mysmarty->assign('firm_id',      $id);          
  470.                     if($arr['file_name'] != '') {
  471.                         $filename   = $id.$arr['file_ext'];                                                
  472.                         $old_price  =   $this->Private_room_model->getPrice($id);
  473.                         if($old_price != '')
  474.                             unlink($arr['file_path'].$old_price);
  475.                         $price  = rename(   $arr['full_path'],
  476.                                             $arr['file_path'].$filename);                          
  477.                         if(!$price)
  478.                             unlink($arr['file_path'].$filename);
  479.                         if($this->Private_room_model->addPrice($id, $filename))
  480.                             $this->mysmarty->display('private_room/upload_success.tpl');
  481.                         else {
  482.                             unlink($arr['file_path'].$filename);
  483.                             $this->mysmarty->display('private_room/upload_failed.tpl');
  484.                         }
  485.                     }
  486.                     else {
  487.                         unlink($arr['full_path']);
  488.                         $this->mysmarty->display('private_room/upload_failed.tpl');
  489.                     }                                  
  490.                 }
  491.             }   else {
  492.                 $id     = intval($this->session->userdata('firm_id'));
  493.                 $this->mysmarty->assign('firm_id',      $id);
  494.                 $this->mysmarty->display('private_room/add_price.tpl');
  495.             }
  496.         }      
  497.         public function add_logo() {
  498.             if(!empty($_POST)) {
  499.                 $config['upload_path'] = 'files/images/firms/logo/';
  500.                 $config['allowed_types'] = 'gif|jpg|png';
  501.                 $config['max_size'] = '2000';
  502.                 $config['overwrite'] = true;
  503.                
  504.                 $this->load->library('upload', $config);
  505.                
  506.                 if(!$this->upload->do_upload('logo')) {
  507.                     $errors = array('error' => $this->upload->display_errors());
  508.                     $this->mysmarty->assign('errors', $errors);
  509.                     $this->mysmarty->display('private_room/upload_failed.tpl');
  510.                 } else {
  511.                     $arr    = $this->upload->data();
  512.                     $id     = intval($this->session->userdata('firm_id')); 
  513.                     $this->mysmarty->assign('firm_id',      $id);          
  514.                     if($arr['file_name'] != '') {
  515.                         $old_logo   =   $this->Private_room_model->getLogo($id);
  516.                         if($old_logo != '') {
  517.                             unlink($arr['file_path'].$old_logo);
  518.                             unlink('files/images/firms/logo/thumb/'.$old_logo);
  519.                         }
  520.                         $filename   = $id.$arr['file_ext'];
  521.                         if($this->resizeImg(    $arr['full_path'],
  522.                                                 $arr['image_width'],
  523.                                                 $arr['image_height'],
  524.                                                 'logo',
  525.                                                 $filename)) {                      
  526.                             $foto   = rename(   $arr['full_path'],
  527.                                                 $arr['file_path'].$filename);                          
  528.                             if(!$foto) {
  529.                                 unlink($arr['file_path'].$filename);
  530.                                 unlink('files/images/firms/logo/thumb/'.$filename);
  531.                             }
  532.                             if($this->Private_room_model->addLogo($id, $filename))
  533.                                 $this->mysmarty->display('private_room/upload_success.tpl');
  534.                             else {
  535.                                 unlink($arr['file_path'].$filename);
  536.                                 unlink('files/images/firms/logo/thumb/'.$filename);
  537.                                 $this->mysmarty->display('private_room/upload_failed.tpl');
  538.                             }
  539.                         }
  540.                         else {
  541.                             unlink($arr['file_path'].$filename);
  542.                             $this->mysmarty->display('private_room/upload_failed.tpl');
  543.                         }
  544.                     }
  545.                     else {
  546.                         unlink($arr['full_path']);
  547.                         $this->mysmarty->display('private_room/upload_failed.tpl');
  548.                     }                                  
  549.                 }
  550.             }   else {
  551.                 $id     = intval($this->session->userdata('firm_id'));
  552.                 $this->mysmarty->assign('firm_id',      $id);
  553.                 $this->mysmarty->display('private_room/add_logo.tpl');
  554.             }
  555.         }
  556.         public function add_map() {
  557.             if(!empty($_POST)) {
  558.                 $config['upload_path'] = 'files/images/firms/map/';
  559.                 $config['allowed_types'] = 'gif|jpg|png';
  560.                 $config['max_size'] = '2000';
  561.                 $config['overwrite'] = true;
  562.                
  563.                 $this->load->library('upload', $config);
  564.                
  565.                 if(!$this->upload->do_upload('map')) {
  566.                     $errors = array('error' => $this->upload->display_errors());
  567.                     $this->mysmarty->assign('errors', $errors);
  568.                     $this->mysmarty->display('private_room/upload_failed.tpl');
  569.                 } else {
  570.                     $arr    = $this->upload->data();
  571.                     $id     = intval($this->session->userdata('firm_id')); 
  572.                     $this->mysmarty->assign('firm_id',      $id);          
  573.                     if($arr['file_name'] != '') {
  574.                         $old_logo   =   $this->Private_room_model->getMap($id);
  575.                         if($old_logo != '') {
  576.                             unlink($arr['file_path'].$old_logo);
  577.                             unlink('files/images/firms/map/thumb/'.$old_logo);
  578.                         }
  579.                         $filename   = $id.$arr['file_ext'];
  580.                         if($this->resizeImg(    $arr['full_path'],
  581.                                                 $arr['image_width'],
  582.                                                 $arr['image_height'],
  583.                                                 'map',
  584.                                                 $filename)) {                          
  585.                            
  586.                             $foto   = rename(   $arr['full_path'],
  587.                                                 $arr['file_path'].$filename);                          
  588.                             if(!$foto) {
  589.                                 unlink($arr['file_path'].$filename);
  590.                                 unlink('files/images/firms/map/thumb/'.$filename);
  591.                             }
  592.                             if($this->Private_room_model->addMap($id, $filename))
  593.                                 $this->mysmarty->display('private_room/upload_success.tpl');
  594.                             else {
  595.                                 unlink($arr['file_path'].$filename);
  596.                                 unlink('files/images/firms/map/thumb/'.$filename);
  597.                                 $this->mysmarty->display('private_room/upload_failed.tpl');
  598.                             }
  599.                         }
  600.                         else {
  601.                             unlink($arr['file_path'].$filename);
  602.                             $this->mysmarty->display('private_room/upload_failed.tpl');
  603.                         }
  604.                     }
  605.                     else {
  606.                         unlink($arr['full_path']);
  607.                         $this->mysmarty->display('private_room/upload_failed.tpl');
  608.                     }                                  
  609.                 }
  610.             }   else {
  611.                 $id     = intval($this->session->userdata('firm_id'));
  612.                 $this->mysmarty->assign('firm_id',      $id);
  613.                 $this->mysmarty->display('private_room/add_map.tpl');
  614.             }
  615.         }
  616.         public function add_photo() {
  617.             $id             =   intval($this->session->userdata('firm_id'));
  618.             $this->mysmarty->assign('firm_id',      $id);
  619.             $package        =   $this->Private_room_model->getPackageFirm($id);
  620.             $photos         =   $this->Private_room_model->getPhotos($id);
  621.             $count_photos   =   count($photos);  
  622.                    
  623.             if(!empty($_POST)) {
  624.                 if(!is_dir('files/images/firms/photo/'.$id.'/'))
  625.                     mkdir('files/images/firms/photo/'.$id.'/', 0777);
  626.                 if(!is_dir('files/images/firms/photo/'.$id.'/thumb/')) 
  627.                     mkdir('files/images/firms/photo/'.$id.'/thumb/', 0777);
  628.                 $config['upload_path'] = 'files/images/firms/photo/'.$id.'/';
  629.                 $config['allowed_types'] = 'gif|jpg|png';
  630.                 $config['max_size'] = '2000';
  631.                 $config['overwrite'] = true;
  632.                
  633.                 $this->load->library('upload', $config);
  634.                
  635.                 if(!$this->upload->do_upload('photo')) {
  636.                     $errors = array('error' => $this->upload->display_errors());
  637.                     $this->mysmarty->assign('errors', $errors);
  638.                     $this->mysmarty->display('private_room/upload_failed.tpl');
  639.                 } else {
  640.                     $arr    = $this->upload->data();                                   
  641.                     if($arr['file_name'] != '') {
  642.                         $time       =   time();
  643.                         $filename   =   $id.'_'.$time.$arr['file_ext'];
  644.                         if($this->resizeImg(    $arr['full_path'],
  645.                                                 $arr['image_width'],
  646.                                                 $arr['image_height'],
  647.                                                 'photo',
  648.                                                 $filename)) {                          
  649.                             $foto   = rename(   $arr['full_path'],
  650.                                                 $arr['file_path'].$filename);                          
  651.                             if(!$foto) {
  652.                                 unlink($arr['file_path'].$filename);
  653.                                 unlink('files/images/firms/photo/'.$id.'/thumb/'.$filename);
  654.                             }
  655.                             if($this->Private_room_model->addPhoto($id, $filename))
  656.                                 $this->mysmarty->display('private_room/upload_success.tpl');
  657.                             else {
  658.                                 unlink($arr['file_path'].$filename);
  659.                                 unlink('files/images/firms/photo/'.$id.'/thumb/'.$filename);
  660.                                 $this->mysmarty->display('private_room/upload_failed.tpl');
  661.                             }
  662.                         }
  663.                         else {
  664.                             unlink($arr['file_path'].$filename);
  665.                             $this->mysmarty->display('private_room/upload_failed.tpl');
  666.                         }
  667.                     }
  668.                     else {
  669.                         unlink($arr['full_path']);
  670.                         $this->mysmarty->display('private_room/upload_failed.tpl');
  671.                     }                                  
  672.                 }
  673.             }   else {             
  674.                     switch($package) {
  675.                         case 2: $limit_photos   =   5;  break;
  676.                         case 3: $limit_photos   =   10; break;
  677.                     }
  678.                     $id     = intval($this->session->userdata('firm_id'));
  679.                     $this->mysmarty->assign('firm_id',      $id);
  680.                     if($count_photos >= $limit_photos)
  681.                         $this->mysmarty->display('private_room/limit_photos.tpl');
  682.                     else $this->mysmarty->display('private_room/add_photo.tpl');
  683.             }
  684.         }
  685.         private function resizeImg($filepath, $width, $height, $type, $filename) {
  686.             $id     = intval($this->session->userdata('firm_id'));
  687.             switch($type) {
  688.                 case 'logo' : $config['new_image']  = 'files/images/firms/logo/thumb/'.$filename;           break;
  689.                 case 'map'  : $config['new_image']  = 'files/images/firms/map/thumb/'.$filename;            break;
  690.                 case 'photo': $config['new_image']  = 'files/images/firms/photo/'.$id.'/thumb/'.$filename;  break;
  691.             }
  692.             $config['image_library']    = 'gd2';
  693.             $config['source_image']     = $filepath;
  694.             $config['maintain_ratio']   = true; // ��������� ���������          
  695.            
  696.             if($width >= $height)
  697.             {
  698.                 $config['width']      = WIDTH_LOGO;
  699.                 $config['height']     = HEIGHT_LOGO;
  700.             }
  701.             else
  702.             {
  703.                 $config['height']     = WIDTH_LOGO;
  704.                 $config['width']      = HEIGHT_LOGO;
  705.             }
  706.  
  707.             $this->load->library('image_lib', $config);
  708.  
  709.             if($this->image_lib->resize())
  710.                 return true;
  711.             else return false;
  712.         }  
  713.         public function change_password() {
  714.             $id     =   $this->session->userdata('firm_id');   
  715.             $this->mysmarty->assign('firm_id',      $id);
  716.             if(!empty($_POST['password'])) {
  717.                 $password   =   sha1(trim($_POST['password']));
  718.                 $id         = intval($this->session->userdata('firm_id'));
  719.                 $res        =   $this->Private_room_model->changePass($id, $password);
  720.                 if($res)
  721.                     echo '��� ������ ��� ������� �������!';
  722.                 else echo '�� ������� �������� ������!';
  723.             } else $this->mysmarty->display('private_room/change_pass_form.tpl');
  724.         }
  725.         public function change_package() {
  726.             $id     =   $this->session->userdata('firm_id');   
  727.             $this->mysmarty->assign('firm_id',      $id);  
  728.             $info   =   $this->Private_room_model->getCurFirmInfo($id);
  729.             $info['form']       =   $this->Private_room_model->getFormByValue($info['form']);
  730.             $package            =   $this->Private_room_model->getFirmPackage($id);
  731.             switch($package['package']) {
  732.                 case 1: $package['package'] =   '�������';    break; 
  733.                 case 2: $package['package'] =   '��������'; break;
  734.                 case 3: $package['package'] =   '����';     break;
  735.             }  
  736.             if(!empty($_POST['value'])) {
  737.                 $mess   =   iconv('UTF-8', 'WINDOWS-1251', trim($_POST['value']));
  738.                 $mess   =   '����������� '.$info['name'].' ������ ������ �� ����� �������� ������
  739.                             ("'.$package['package'].'"), �� ����� "'.$mess.'"';
  740.                 $mess   =   iconv('WINDOWS-1251', 'UTF-8', $mess);
  741.                 $result = $this->Private_room_model->sendMess($mess);                  
  742.                 if($result)
  743.                     echo '������ ���� ������� ����������! ������ ��� ���������� ���������� ������ ������ ������.';
  744.                 else echo '�� ������� ��������� ������!';
  745.             }   else {             
  746.                 $array  =   $this->Private_room_model->getContacts();    
  747.                 foreach($array as $key => $value) {
  748.                     $array[$key] = iconv('UTF-8', 'WINDOWS-1251', $value);
  749.                 }                                      
  750.                 $this->mysmarty->assign('contacts',             $array);
  751.                 $this->mysmarty->assign('package',              $package);
  752.                 $this->mysmarty->assign('info',                 $info);
  753.                 $this->mysmarty->assign('package_basic',        PRICE_BASIC);
  754.                 $this->mysmarty->assign('package_standart',     PRICE_STANDART);
  755.                 $this->mysmarty->assign('package_luxe',         PRICE_LUXE);
  756.                
  757.                 $this->mysmarty->display('private_room/pay_blank.tpl');
  758.             }
  759.         }
  760.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement