AnonSec Shell
Server IP : 162.214.74.102  /  Your IP : 216.73.217.80
Web Server : Apache
System : Linux dedi-4363141.lrsys.com.br 3.10.0-1160.119.1.el7.tuxcare.els25.x86_64 #1 SMP Wed Oct 1 17:37:27 UTC 2025 x86_64
User : lrsys ( 1015)
PHP Version : 5.6.40
Disable Function : exec,passthru,shell_exec,system
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/lrsys/public_html/lrsys_projetos/sopizzas/application/controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/lrsys/public_html/lrsys_projetos/sopizzas/application/controllers/menumanagement.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
session_start(); //we need to call PHP's session object to access it through CI
class MenuManagement extends MY_Controller {

  function __construct()
  {
     parent::__construct();
     $this->load->helper("url");
     $this->load->helper('form');
     $this->load->library('form_validation');
     $this->load->library('javascript'); 
     $this->load->library('Ajax_pagination');
     $this->perPage = ROW_PER_PAGE;
     $this->load->model('menumanagement_model');
     $session_data = $this->session->userdata('logged_in');
     //if(empty($session_data)) { redirect('superadmin', 'refresh'); }  
     if($this->session->userdata('user_language'))
      {
        $language = $this->session->userdata('user_language');
      }
      else
      {
        $language = $this->config->item("language");
      }
      $data['user_language'] =  $language;
      $this->lang->load('superAdmin', $language);  
     
  }

  function index( $offset = 0 )
  {
   if ($this->input->server('REQUEST_METHOD') == 'POST')
      {
        /*echo "<pre>";
        print_r ($this->input->post());
        echo "</pre>";*/
        if ($this->input->post('EditId') != '') {
          $this->editMenu();
        }
        else if ($this->input->post('EditId') == '') {
          $this->addMenu();
        }
        if($this->input->post('ActionTab')=='SiteInfo')
        {
          $this->websettings_site();
        }

        if($this->input->post('ActionTab')=='SiteContact')
        {
          $this->websettings_contact();
        } 

        if($this->input->post('ActionTab')=='SiteVAT')
        {
          $this->websettings_VAT();
        } 
        if($this->input->post('ActionTab')=='SiteOffline')
        {
          $this->websettings_Offline();
        } 
        if($this->input->post('ActionTab')=='SiteTwilio')
        {
          $this->websettings_Twilio();
        } 
        if($this->input->post('ActionTab')=='SiteDocusign')
        {
          $this->websettings_DocuSign();
        } 


      }else
      {
        $this->showMenuList();
      }
  }

  function showMenuList() {
    $SearchBy = '';
    $PerPage = $this->input->post('Per_Page');
    if(!$PerPage){
      $PerPage = $this->perPage;
    }else{
      $PerPage = $PerPage;
    }
    //total rows count
    $totalRec = count($this->menumanagement_model->get_menu_list());
    //pagination configuration
    $config['target']      = '#postList';
    $config['base_url']    = base_url().'menumanagement/ajaxPaginationDataMenu/'.$SearchBy;
    $config['total_rows']  = $totalRec;
    $config['per_page']    = $PerPage;
    $this->ajax_pagination->initialize($config);
    //get the posts data
    $data['MenuList'] = $this->menumanagement_model->get_menu_list(array('limit'=>$PerPage), $SearchBy);
    /*echo "<pre>";
    print_r ($data['MenuList']);
    echo "</pre>";*/
  

    $query['MenuTotal'] =$this->menumanagement_model->MenuStatistics($status='');
    $query['MenuActive'] =$this->menumanagement_model->MenuStatistics($status='1');
    $query['MenuInactive'] =$this->menumanagement_model->MenuStatistics($status='0');
    $query['MenuPopular'] =$this->menumanagement_model->MenuStatistics($status='','Yes');
    $query['MenuVeg'] =$this->menumanagement_model->MenuStatistics($status='',$menu_popular_dish='','veg');
    $query['MenuNonVeg'] =$this->menumanagement_model->MenuStatistics($status='',$menu_popular_dish='','nonveg');

    
    $query['RestaurantList'] = $this ->menumanagement_model -> RestaurantList();
    $query['CategoryList'] = $this ->menumanagement_model -> CategoryList();
    $query['CuisineList'] = $this ->menumanagement_model -> CuisineList();
    $data['title']="Menu List";  
    $query['SiteTab'] ='menu_list';
    $data['page']="menu_list";  
    $this->load->view('superadmin/header',$data);
    $this->load->view('superadmin/main-sidebar');
    $this->load->view('superadmin/menu_list',$query);
    $this->load->view('superadmin/footer');
  }

  function ajaxPaginationDataMenu(){
    $page = $this->input->post('page');
    if(!$page){
        $offset = 0;
    }else{
        $offset = $page;
    }


    $action = $this->input->post('action');
    /*if(!$action){
        $action = '';
    }else{
        $action = $action;
    }*/


    $perpage = $this->input->post('per_page');
    if(!$perpage){
        $perpage = $this->perPage;
    }else{
        $perpage = $perpage;
    }

    $action2 = $this->input->post('action2');
    if(!$action2){
        $action2 = '0';
    }else{
        $action2 = $action2;
    }
    
    //total rows count
    $totalRec = count($this->menumanagement_model->get_menu_list($params = array(), $action,$action2));
    
    //pagination configuration
    $config['target']      = '#postList';
    $config['base_url']    = base_url().'menumanagement/ajaxPaginationDataMenu';
    $config['total_rows']  = $totalRec;
    $config['per_page']    = $perpage;
    $config['action']      = $action;
    $config['action2']     = $action2;
    $this->ajax_pagination->initialize($config);
    
    //get the posts data
    $data['MenuList'] = $this->menumanagement_model->get_menu_list(array('start'=>$offset,'limit'=>$perpage),$action,$action2);
    $data['title']="Menu Category";  
    $query['SiteTab'] ='menu_category';
    $data['page']="menu_list";  
    /*** Remember what was the last page start ***/
    if ($this->input->post('pagination') != '') {
      $myPage = $this->input->post('page');
      $myAction = $this->input->post('action');
      $myPerPage = $this->input->post('per_page');
      $myAction2 = $this->input->post('action2');
      $paginationArray = array('page' => $myPage, 'action' => $myAction, 'per_page' => $myPerPage, 'action2' => $myAction2, 'page_name' => $data['page'], 'pagination' => $this->input->post('pagination'));
      if ($this->session->userdata('paginationArray')) {
        $this->session->unset_userdata('paginationArray');
      }
      $this->session->set_userdata('paginationArray', $paginationArray);
    }
    /*** Remember what was the last page end ***/
    $data['perPageCount'] = $page; 
    $this->load->view('superadmin/menu_list_ajax', $data, false);
  }

  function addMenu() {
    /*echo "<pre>";
    print_r ($this->input->post());
    echo "</pre>";
    exit();*/
    $now = date('Y-m-d H:i:s');
    $restaurant_id          = $this->input->post('restaurant_name');
    $menu_category          = $this->input->post('menu_category');
    $menu_cuisine           = $this->input->post('menu_cuisine');
    $menu_name              = $this->input->post('menu_name');
    $menu_type              = ($this->input->post('menu_type'))!=''?$this->input->post('menu_type'):'none';
    $menu_popular_dish      = ($this->input->post('menu_popular_dish'))!=''?$this->input->post('menu_popular_dish'):'No';
    $menu_nut               = ($this->input->post('menu_nut'))!=''?$this->input->post('menu_nut'):'No';
    $menu_hot               = ($this->input->post('menu_hot'))!=''?$this->input->post('menu_hot'):'none';
    $menu_gluten            = ($this->input->post('menu_gluten'))!=''?$this->input->post('menu_gluten'):'none';
    $menu_spl_instruction   = $this->input->post('menu_spl_instruction');
    $sizeoption             = $this->input->post('sizeoption');
    $menu_addons            = $this->input->post('menu_addons');
    $menu_price             = ($this->input->post('menu_price'))!=''?$this->input->post('menu_price'):'0';
    $sizename               = $this->input->post('sizename');
    $sizevalue              = $this->input->post('sizevalue');
    $menu_description       = $this->input->post('menu_description');
    if ($_FILES['menu_photo']['name'] != '') {
      $menu_photo = $this->do_upload_image('menu_photo');
    }
    else {
      $menu_photo = '';
    }
    $this->db->trans_start();
    $data_menu_in = array(
        'restaurant_id'         =>  $restaurant_id,
        'menu_category'         =>  $menu_category,
        'menu_cuisine'          =>  $menu_cuisine,
        'menu_name'             =>  $menu_name,
        'menu_type'             =>  $menu_type,
        'menu_popular_dish'     =>  $menu_popular_dish,
        'menu_nut'              =>  $menu_nut,
        'menu_hot'              =>  $menu_hot,
        'menu_gluten'           =>  $menu_gluten,
        'menu_spl_instruction'  =>  $menu_spl_instruction,
        'sizeoption'            =>  $sizeoption,
        'menu_addons'           =>  $menu_addons,
        'menu_price'            =>  $menu_price,
        'menu_description'      =>  $menu_description,
        'menu_photo'            =>  $menu_photo,
        'addeddate'             =>  $now
      );
    $this->db->insert('rt_restaurant_menu', $data_menu_in);
    $menuid = $this->db->insert_id();
    /************Adding Slice**************/
    if ($sizeoption == 'size') {
      $data_first_size_in = array(
          'menu_slice_restaurantid'     =>   $restaurant_id,
          'menu_slice_categoryid'       =>   $menu_category,
          'menu_slice_menuid'           =>   $menuid,
          'menu_slice_name'             =>   $sizename,
          'menu_slice_price'            =>   $sizevalue
        );
      $this->db->insert('rt_restaurant_menu_slice', $data_first_size_in);
      if (is_array($this->input->post('menu_size')) && count($this->input->post('menu_size')) > 0) {
        $menu_size = $this->input->post('menu_size');
        foreach ($menu_size as $key => $value) {
          if ($value['sizename'] != '') {
            if ($value['sizevalue'] == '') {
              $value['sizevalue'] = 0;
            }
            $data_other_size_in = array(
              'menu_slice_restaurantid'     =>   $restaurant_id,
              'menu_slice_categoryid'       =>   $menu_category,
              'menu_slice_menuid'           =>   $menuid,
              'menu_slice_name'             =>   $value['sizename'],
              'menu_slice_price'            =>   $value['sizevalue']
            );
            $this->db->insert('rt_restaurant_menu_slice', $data_other_size_in);
          }
        }
      }
    }
    /************Adding Addons*************/
    if (isset($menu_addons) && $menu_addons == 'Yes') {
      $addons_name        = $this->input->post('addons_name');
      $addons_option      = $this->input->post('mainaddonoption');
      $addonstype         = $this->input->post('addonstype');
      $addons_value       = $this->input->post('mainaddonvalue');
      $mainaddoncnt       = $this->input->post('mainaddoncnt');
      /*********Adding Main Addon*********/
      $main_addon_in = array(
          'menuaddons_restaurantid'       =>  $restaurant_id,
          'menuaddons_categoryid'         =>  $menu_category,
          'menuaddons_menuid'             =>  $menuid,
          'menuaddons_addonsname'         =>  $addons_name,
          'menuaddons_price'              =>  $addons_value,
          'menuaddons_addonscount'        =>  $mainaddoncnt,
          'addeddate'                     =>  $now
        );
      $this->db->insert('rt_restaurant_menuaddons', $main_addon_in);
      $resaddonid = $this->db->insert_id();
      /*********Adding Sub Addon of Main Addon*********/
      $is_sub_addon_insert = 0;
      if ($resaddonid) {
        $my_subadd = $this->input->post('subadd');
        if (count($my_subadd) > 0 && is_array($my_subadd)) {
          foreach ($my_subadd as $key => $value) {
            if ($my_subadd[$key]['subaddon'] != '') {
              $sub_addon_in = array(
                  'addonparentid'             =>    $resaddonid,
                  'menuaddons_restaurantid'   =>    $restaurant_id,
                  'menuaddons_categoryid'     =>    $menu_category,
                  'menuaddons_menuid'         =>    $menuid,
                  'menuaddons_addonsname'     =>    $my_subadd[$key]['subaddon'],
                  'menuaddons_price'          =>    $my_subadd[$key]['price'],
                  'addeddate'                 =>    $now
                );
              $this->db->insert('rt_restaurant_menuaddons', $sub_addon_in);
              $is_sub_addon_insert = $this->db->insert_id();
            }
          }
        }
      }
      if ($is_sub_addon_insert == 0) {
        $this->db->where('menuaddons_id', $resaddonid);
        $this->db->delete('rt_restaurant_menuaddons');
      }
      /*********Adding Other Main Addon*********/
      $my_mainaddons = $this->input->post('mainaddons');
      //$my_check_addons = $this->input->post('is_addons_check');
      if (count($my_mainaddons) > 0 && is_array($my_mainaddons)) {
        foreach ($my_mainaddons as $key => $value) {
          if (isset($my_mainaddons[$key]['mainaddons_priceoption']) && $my_mainaddons[$key]['mainaddons_priceoption'] == ''){
              $mainaddons_price = '';
          }
          else if (isset($my_mainaddons[$key]['mainaddons_priceoption']) && $my_mainaddons[$key]['mainaddons_priceoption'] != ''){
            $mainaddons_price = $my_mainaddons[$key]['mainaddons_price'];
          }
          else {
            $mainaddons_price = '';
          }
          if ($my_mainaddons[$key]['mainaddonsname'] != '') {
            $my_mainaddons_key_mainaddonsname = isset($my_mainaddons[$key]['mainaddonsname'])?$my_mainaddons[$key]['mainaddonsname']:'';
            $my_mainaddons_key_mainaddons_priceoption = isset($my_mainaddons[$key]['mainaddons_priceoption'])?$my_mainaddons[$key]['mainaddons_priceoption']:'';
            $my_mainaddons_key_addonstype = isset($my_mainaddons[$key]['addonstype'])?$my_mainaddons[$key]['addonstype']:'single';
            $my_mainaddons_key_mainaddoncnt = isset($my_mainaddons[$key]['mainaddoncnt'])?$my_mainaddons[$key]['mainaddoncnt']:'0';
            $other_main_addon_in = array(
                'addonparentid'             =>    '0',
                'menuaddons_restaurantid'   =>    $restaurant_id,
                'menuaddons_categoryid'     =>    $menu_category,
                'menuaddons_menuid'         =>    $menuid,
                'menuaddons_addonsname'     =>    $my_mainaddons_key_mainaddonsname,
                'menuaddons_priceoption'    =>    $my_mainaddons_key_mainaddons_priceoption,
                'menuaddons_price'          =>    $mainaddons_price,
                'menuaddons_addonscount'    =>    $my_mainaddons_key_mainaddoncnt,
                'addeddate'                 =>    $now
              );
            $this->db->insert('rt_restaurant_menuaddons', $other_main_addon_in);
            $resid = $this->db->insert_id();
            /*********Adding Sub Addon of Other Main Addon*********/
            $is_sub_addon_insert = 0;
            if($resid){
              if(isset($my_mainaddons[$key]['subaddons']) && count($my_mainaddons[$key]['subaddons']) > 0 && is_array($my_mainaddons[$key]['subaddons'])){
                foreach($my_mainaddons[$key]['subaddons'] as $lock  =>  $open){
                  $other_sub_addon_name = isset($my_mainaddons[$key]['subaddons'][$lock]['subaddonsname'])?$my_mainaddons[$key]['subaddons'][$lock]['subaddonsname']:'';
                  $other_sub_addon_price = isset($my_mainaddons[$key]['subaddons'][$lock]['subaddonsprice'])?$my_mainaddons[$key]['subaddons'][$lock]['subaddonsprice']:'0';
                  $other_sub_addon_check = isset($my_mainaddons[$key]['subaddons'][$lock]['subaddonscheck'])?$my_mainaddons[$key]['subaddons'][$lock]['subaddonscheck']:'';
                  $other_sub_addon_id = isset($my_mainaddons[$key]['subaddons'][$lock]['subaddonsid'])?$my_mainaddons[$key]['subaddons'][$lock]['subaddonsid']:'0';
                  if($other_sub_addon_name != '' && isset($other_sub_addon_check) && $other_sub_addon_check == '1'){
                    $other_sub_addon_in = array(
                        'addonparentid'             =>    $resid,
                        'menuaddons_restaurantid'   =>    $restaurant_id,
                        'menuaddons_categoryid'     =>    $menu_category,
                        'menuaddons_menuid'         =>    $menuid,
                        'menuaddons_addonsname'     =>    $other_sub_addon_name,
                        'menuaddons_price'          =>    $other_sub_addon_price,
                        'restaurant_addons_id'      =>    $other_sub_addon_id,
                        'addeddate'                 =>    $now,
                      );
                    $this->db->insert('rt_restaurant_menuaddons', $other_sub_addon_in);
                    $is_sub_addon_insert = $this->db->insert_id();
                  }
                }
              }
              if ($is_sub_addon_insert == 0) {
                $this->db->where('menuaddons_id', $resid);
                $this->db->delete('rt_restaurant_menuaddons');
              }
            }
          }
        }
      }
    }
    $this->db->trans_complete();
    $this->session->set_flashdata('success_msg', $this->lang->line('Menuupdatedsuccessfully'));
    redirect('superadmin/menumanagement');
  }

  function do_upload_image($db_field_name, $old_photo_name = '') {
    $rendid = date('Ymdhis');
    $new_name = $rendid.'_menu_photo.jpg';
    $config1 = array(
          'upload_path' => MENU_IMAGE_PATH,
          'allowed_types' => "gif|jpg|png|jpeg",
          'overwrite' => TRUE,
          'file_name' => $new_name
          );
    $this->load->library('upload', $config1);
    $this->upload->initialize($config1);
    if($this->upload->do_upload($db_field_name))
    {
    $config2['image_library'] = 'gd2';
    $config2['source_image'] = $this->upload->upload_path.$this->upload->file_name;
    $config2['new_image'] = MENU_IMAGE_PATH.'thumbs';
    $config2['maintain_ratio'] = TRUE;
    //$config2['create_thumb'] = TRUE;
    //$config2['thumb_marker'] = '_thumb';
    $config2['width'] = MENU_IMAGE_WIDTH;
    $config2['height'] = MENU_IMAGE_HEIGHT;
    $this->load->library('image_lib',$config2); 
    $this->image_lib->initialize($config2);

    if ( !$this->image_lib->resize()){
      $this->session->set_flashdata('error_msg', $this->image_lib->display_errors('', '')); 
      } 

    unlink(MENU_IMAGE_PATH.$new_name);
    if ($old_photo_name != '' && file_exists(MENU_IMAGE_PATH_THUMBS.$old_photo_name)) {
      unlink(MENU_IMAGE_PATH_THUMBS.$old_photo_name);
    }
    return $new_name;
    }
    else {
    $error = $this->upload->display_errors();
    $this->session->set_flashdata('error_msg',  $error);
    redirect('superadmin/menumanagement');
    }
  }

  function fetchCatAddons() {
    $catid = $this->input->post('catid');
    $menuid = $this->input->post('menuid');
    if (isset($menuid) && !empty($menuid)) {
      $parentAddons = $this->menumanagement_model->fetchCatParentAddons($catid, $menuid);
    }
    else {
      $parentAddons = $this->menumanagement_model->fetchCatParentAddons($catid);
    }
    //$data['parentAddons'] = $parentAddons;
    $myHtml = '';
    if ($parentAddons != false && count($parentAddons) > 0) {
      foreach ($parentAddons as $key => $value) {
        $keyB = $key+100;
        $myHtml .= '<div class="panel panel-default" style="padding:2px;margin-bottom: 15px;">
                      <div class="panel-heading">
                        <h4 class="panel-title pan-title">
                        <a data-toggle="collapse" class="accordion-toggle" data-parent="#accordion" href="#'.$value['id'].'"><i class="fa fa-plus"></i> &nbsp;&nbsp;'.$value['addonsname'].'</a>
                          <input type="hidden" name="mainaddons['.$keyB.'][mainaddonsname]" value="'.$value['addonsname'].'">
                          <input type="hidden" name="mainaddons['.$keyB.'][mainaddoncnt]" value="'.$value['addonscount'].'">
                        </h4>
                      </div>
                      <div id="'.$value['id'].'" class="panel-collapse collapse">
                        <ul class="list-group">';
        $childAddons = $this->menumanagement_model->fetchCatChildAddons($value['id']);
        //$data[$key]['childAddons'] = $childAddons;
        if ($childAddons != false && count($childAddons) > 0) {
          foreach ($childAddons as $keyC => $valueC) {
            $myHtml .=       '<li class="list-group-item">
                                <div class="col-sm-4">
                                  <input name="mainaddons['.$keyB.'][subaddons]['.$keyC.'][subaddonscheck]" type="checkbox" class="minimal paid-click" id="" onclick="" value="1"> '.$valueC['addonsname'].'
                                </div>
                                <input type="hidden" name="mainaddons['.$keyB.'][subaddons]['.$keyC.'][subaddonsname]" value="'.$valueC['addonsname'].'">
                                <input type="hidden" name="mainaddons['.$keyB.'][subaddons]['.$keyC.'][subaddonsid]" value="'.$valueC['id'].'">
                                <div class="col-sm-8">
                                  <input name="mainaddons['.$keyB.'][subaddons]['.$keyC.'][subaddonsprice]" type="text" value="'.$valueC['addonsprice'].'" class="fs_input new_fs"  placeholder="'.$this->lang->line('EnterPrice').'">
                                </div>
                                <div class="clearfix"></div>
                              </li>';
          }
        }
        else {
          $myHtml .= '<li class="list-group-item"><div class="clearfix"></div><div class="col-sm-12">'.$this->lang->line('Norecordfound!').'</div><div class="clearfix"></div></li>';
        }
        $myHtml .=      '</ul>
                      </div>
                    </div>
                    <div class="clearfix"></div>';
      }
    }
    $data['myHtml'] = $myHtml;
    echo json_encode($data);
  }

  function showEditMenu() {
    $menuid = $this->input->post('menuid');
    $data['menuid'] = $menuid;
    $menuDetails = $this->menumanagement_model->showEditMenu($menuid);
    $data['menuDetails'] = $menuDetails;
    if (is_array($menuDetails) && $menuDetails['sizeoption'] == 'size') {
      $menuSizeDetails = $this->menumanagement_model->showEditMenuSize($menuid);
      //$data['menuSizeDetails'] = $menuSizeDetails;
      $sizeHtml = '';
      if (is_array($menuSizeDetails) && count($menuSizeDetails) > 0) {
        foreach ($menuSizeDetails as $key => $value) {
          if ($key == 0) {
            $sizeHtml .= '<tr id="ootY">
                            <td>
                              <div class="form-group float-label-control">
                                <input type="text" class="fs_input new_fs" id="sizename" name="sizename" value="'.htmlentities($value['menu_slice_name']).'" placeholder="'.$this->lang->line('SizeName').'">
                                <input type="hidden" name="edit_first_size" value="'.$value['menu_slice_id'].'">
                              </div>
                            </td>
                            <td>
                              <div class="form-group float-label-control"><span class="dollar-manage">'.SITENAME_CURRENCY.'</span>
                                <input type="text" class="fs_input new_fs width-manage" id="sizevalue" name="sizevalue" value="'.$value['menu_slice_price'].'" placeholder="'.$this->lang->line('SizePrice').'('.SITENAME_CURRENCY.')" onkeypress="return isDecimal(event);">
                              </div>
                            </td>
                            <td class="text-center paddingtop25">
                              
                            </td>
                          </tr>';
          }
          else {
            $sizeHtml .= '<tr id="ootY'.$key.'" class="EditMenuRow"><td><div class="form-group float-label-control"><input value="'.$value['menu_slice_name'].'" class="fs_input new_fs" placeholder="'.$this->lang->line('SizeName').'" name="menu_size['.$key.'][sizename]" type="text"><input type="hidden" name="menu_size['.$key.'][update]" value="'.$value['menu_slice_id'].'"></div></td><td><div class="form-group float-label-control"><span class="dollar-manage">'.SITENAME_CURRENCY.'</span><input value="'.$value['menu_slice_price'].'" class="fs_input new_fs width-manage" placeholder="'.$this->lang->line('SizePrice').'('.SITENAME_CURRENCY.')" name="menu_size['.$key.'][sizevalue]" onkeypress="return isDecimal(event);" type="text"></div></td><td class="text-center paddingtop25"><i class="fa fa-trash fa-fontsize cursor" id="removeY'.$key.'" aria-hidden="true" onclick="removeMenuSize('.$key.', '.$value['menu_slice_id'].');return false;"></i></td></tr>';
          }
        }
        $data['sizeHtml'] = $sizeHtml;
      }
    }
    if (is_array($menuDetails) && $menuDetails['menu_addons'] == 'Yes') {
      $menuParentAddonDetails = $this->menumanagement_model->showEditMenuParentAddon($menuid);
      //$data['menuParentAddonDetails'] = $menuParentAddonDetails;
      $addonHtml = '';
      if (is_array($menuParentAddonDetails) && count($menuParentAddonDetails) > 0) {
        foreach ($menuParentAddonDetails as $key => $value) {
          $menuChildAddonDetails = $this->menumanagement_model->showEditMenuChildAddon($value['menuaddons_id']);
          //$data['menuChildAddonDetails'] = $menuChildAddonDetails;
          if ($key == 0) {
            $addonHtml .= '<div class="col-md-12 col-sm-12 col-xs-12 custom-padding-0 menuBod CheckSubAddon" id="ootZ1">
                            <div id="adddons0" class="col-md-12 col-sm-12 col-xs-12 margintop10 custom-padding-0 mtop15">
                              <div class="col-md-12 col-sm-12 col-xs-12 margintop10 custom-padding-0">
                                <div class="col-md-4 col-sm-4 col-xs-12 margintop10 paddingleft0">
                                  <p>Title Name</p>
                                  <div class="form-group float-label-control">
                                    <input type="text" value="'.$value['menuaddons_addonsname'].'" class="fs_input new_fs" placeholder="'.$this->lang->line('AddSubadd-onList').'" name="addons_name" id="addons_name">
                                    <input type="hidden" name="edit_first_addon" value="'.$value['menuaddons_id'].'">
                                  </div>
                                </div>
                                <div class="col-md-4 col-sm-4 col-xs-12 margintop10 paddingright0">
                                  <div class="form-group float-label-control mct30">
                                    <input onkeypress="return only_num(event, this.value)" type="text" value="'.$value['menuaddons_addonscount'].'" class="fs_input new_fs" placeholder="'.$this->lang->line('Numberallowtochoose').'" name="mainaddoncnt" id="mainaddoncnt">
                                  </div>
                                </div>
                                <div class="col-md-1 col-sm-1 col-xs-12 custom-padding-0 delete_advance">
                                </div>
                                <div class="col-md-2 col-sm-2 col-xs-12 custom-padding-0 add_advance">
                                  <button class="btn btn-info actioncolor borderR" id="addZrowCount" onclick="addMoreMainSubAdd(this.form, 0);return false;"><i class="fa fa-plus"></i> &nbsp;Add Add-on List</button>
                                </div>
                              </div>';
            if (is_array($menuChildAddonDetails) && count($menuChildAddonDetails) > 0) {
              foreach ($menuChildAddonDetails as $keyC => $valueC) {
                $addonHtml .=     '<div id="adddonsX'.$keyC.'_'.$valueC['menuaddons_id'].'" class="col-md-12 col-sm-12 col-xs-12 margintop10 custom-padding-0 EditMenuRow mySubAddOnRow"><div class="col-md-4 col-sm-4 col-xs-12 margintop10 paddingleft0"><div class="form-group float-label-control"><input required="" id="subadd_'.$keyC.'" name="subadd['.$keyC.'][subaddon]" value="'.$valueC['menuaddons_addonsname'].'" class="fs_input new_fs" placeholder="'.$this->lang->line('ListPrice').'" type="text"><input type="hidden" name="subadd['.$keyC.'][update]" value="'.$valueC['menuaddons_id'].'"></div></div><div class="col-md-4 col-sm-4 col-xs-12 margintop10"><div class="form-group float-label-control"><span class="dollar-manage">'.SITENAME_CURRENCY.'</span><input name="subadd['.$keyC.'][price]" value="'.$valueC['menuaddons_price'].'" class="fs_input new_fs width-manage" placeholder="'.$this->lang->line('ListPrice').'" onkeypress="return isDecimal(event);" type="text"></div></div><div class="col-md-1 col-sm-1 col-xs-12 margintop10 paddingleft0 mct10"><i class="fa fa-trash fa-fontsize cursor" id="removeM'.$keyC.'" onclick="removeSubAddon('.$keyC.', '.$valueC['menuaddons_id'].');return false;" aria-hidden="true"></i></div></div>';
              }
            }
            $addonHtml .= '</div>
                        </div>';
          }
          else {
            $addonHtml .= '<div class="col-md-12 col-sm-12 col-xs-12 custom-padding-0 menuBod CheckSubAddon" id="ootZ'.$key.'_'.$value['menuaddons_id'].'">
                            <div id="adddons'.$key.'" class="col-md-12 col-sm-12 col-xs-12 margintop10 custom-padding-0 mtop15">
                              <div class="col-md-12 col-sm-12 col-xs-12 margintop10 custom-padding-0">
                                <div class="col-md-4 col-sm-4 col-xs-12 margintop10 paddingleft0">
                                  <p>Title Name</p>
                                  <div class="form-group float-label-control">
                                    <input required="" type="text" value="'.$value['menuaddons_addonsname'].'" class="fs_input new_fs" placeholder="'.$this->lang->line('AddonsOptionsheading').'" name="mainaddons['.$key.'][mainaddonsname]" id="mainaddons['.$key.'][mainaddonsname]">
                                    <input type="hidden" name="mainaddons['.$key.'][update]" value="'.$value['menuaddons_id'].'">
                                  </div>
                                </div>
                                <div class="col-md-4 col-sm-4 col-xs-12 margintop10 paddingright0">
                                  <div class="form-group float-label-control mct30">
                                    <input onkeypress="return only_num(event, this.value)" type="text" value="'.$value['menuaddons_addonscount'].'" class="fs_input new_fs" placeholder="'.$this->lang->line('Numberallowtochoose').'" name="mainaddons['.$key.'][mainaddoncnt]" id="mainaddons['.$key.'][mainaddoncnt]">
                                  </div>
                                </div>
                                <div class="col-md-1 col-sm-1 col-xs-12 custom-padding-0 delete_advance">
                                  <i class="fa fa-trash fa-fontsize cursor" onclick="removeMainAddon('.$key.', '.$value['menuaddons_id'].');return false;" id="removeZ'.$key.'" aria-hidden="true"></i>
                                </div>
                                <div class="col-md-2 col-sm-2 col-xs-12 custom-padding-0 add_advance">
                                  <button class="btn btn-info actioncolor borderR" id="addZrowCount" onclick="addMoreSubAdd(this.form, '.$key.');return false;"><i class="fa fa-plus"></i> &nbsp;Add Add-on List</button>
                                </div>
                              </div>';
            if (is_array($menuChildAddonDetails) && count($menuChildAddonDetails) > 0) {
              foreach ($menuChildAddonDetails as $keyC => $valueC) {
                $addonHtml .=     '<div id="adddonsX'.$keyC.'_'.$valueC['menuaddons_id'].'" class="col-md-12 col-sm-12 col-xs-12 margintop10 custom-padding-0 EditMenuRow mySubAddOnRow"><div class="col-md-4 col-sm-4 col-xs-12 margintop10 paddingleft0"><div class="form-group float-label-control"><input required="" id="subadd_'.$keyC.'" name="mainaddons['.$key.'][subaddons]['.$keyC.'][subaddonsname]" value="'.$valueC['menuaddons_addonsname'].'" class="fs_input new_fs" placeholder="'.$this->lang->line('ListPrice').'" type="text"><input type="hidden" name="mainaddons['.$key.'][subaddons]['.$keyC.'][update]" value="'.$valueC['menuaddons_id'].'"><input name="mainaddons['.$key.'][subaddons]['.$keyC.'][subaddonscheck]" type="hidden" value="1"></div></div><div class="col-md-4 col-sm-4 col-xs-12 margintop10"><div class="form-group float-label-control"><span class="dollar-manage">'.SITENAME_CURRENCY.'</span><input name="mainaddons['.$key.'][subaddons]['.$keyC.'][subaddonsprice]" value="'.$valueC['menuaddons_price'].'" class="fs_input new_fs width-manage" placeholder="'.$this->lang->line('ListPrice').'" onkeypress="return isDecimal(event);" type="text"></div></div><div class="col-md-1 col-sm-1 col-xs-12 margintop10 paddingleft0 mct10"><i class="fa fa-trash fa-fontsize cursor" id="removeM'.$keyC.'" onclick="removeSubAddon('.$keyC.', '.$valueC['menuaddons_id'].');return false;" aria-hidden="true"></i></div></div>';
              }
            }
            $addonHtml .= '</div>
                        </div>';
            $addonHtml .= '<script>editAddonCount = '.$key.'</script>';
          }
        }
        $data['addonHtml'] = $addonHtml;
      }
    }
    echo json_encode($data);
  }
  function deleteMenuAddons() {
    $id = $this->input->post('id');
    $delete_status = $this->menumanagement_model->deleteMenuAddons($id);
    echo json_encode($delete_status);
  }
  function deleteMenuSize() {
    $id = $this->input->post('id');
    $delete_status = $this->menumanagement_model->deleteMenuSize($id);
    echo json_encode($delete_status);
  }
  function editMenu() {
    /*echo "<pre>";
    print_r ($this->input->post());
    echo "</pre>";
    exit();*/
    $EditId = $this->input->post('EditId');
    $restaurant_id          = $this->input->post('restaurant_name');
    $menu_category          = $this->input->post('menu_category');
    $menu_cuisine           = $this->input->post('menu_cuisine');
    $menu_name              = $this->input->post('menu_name');
    $menu_type              = ($this->input->post('menu_type'))!=''?$this->input->post('menu_type'):'none';
    $menu_popular_dish      = ($this->input->post('menu_popular_dish'))!=''?$this->input->post('menu_popular_dish'):'No';
    $menu_nut               = ($this->input->post('menu_nut'))!=''?$this->input->post('menu_nut'):'No';
    $menu_hot               = ($this->input->post('menu_hot'))!=''?$this->input->post('menu_hot'):'none';
    $menu_gluten            = ($this->input->post('menu_gluten'))!=''?$this->input->post('menu_gluten'):'none';
    $menu_spl_instruction   = $this->input->post('menu_spl_instruction');
    $sizeoption             = $this->input->post('sizeoption');
    $menu_addons            = $this->input->post('menu_addons');
    $menu_price             = ($this->input->post('menu_price'))!=''?$this->input->post('menu_price'):'0';
    $sizename               = $this->input->post('sizename');
    $sizevalue              = $this->input->post('sizevalue');
    $menu_description       = $this->input->post('menu_description');
    if ($_FILES['menu_photo']['name'] != '') {
      $menu_photo = $this->do_upload_image('menu_photo');
      $data_menu_up = array(
          'restaurant_id'         =>  $restaurant_id,
          'menu_category'         =>  $menu_category,
          'menu_cuisine'          =>  $menu_cuisine,
          'menu_name'             =>  $menu_name,
          'menu_type'             =>  $menu_type,
          'menu_popular_dish'     =>  $menu_popular_dish,
          'menu_nut'              =>  $menu_nut,
          'menu_hot'              =>  $menu_hot,
          'menu_gluten'           =>  $menu_gluten,
          'menu_spl_instruction'  =>  $menu_spl_instruction,
          'sizeoption'            =>  $sizeoption,
          'menu_addons'           =>  $menu_addons,
          'menu_price'            =>  $menu_price,
          'menu_description'      =>  $menu_description,
          'menu_photo'            =>  $menu_photo
        );
    }
    else {
      $data_menu_up = array(
          'restaurant_id'         =>  $restaurant_id,
          'menu_category'         =>  $menu_category,
          'menu_cuisine'          =>  $menu_cuisine,
          'menu_name'             =>  $menu_name,
          'menu_type'             =>  $menu_type,
          'menu_popular_dish'     =>  $menu_popular_dish,
          'menu_nut'              =>  $menu_nut,
          'menu_hot'              =>  $menu_hot,
          'menu_gluten'           =>  $menu_gluten,
          'menu_spl_instruction'  =>  $menu_spl_instruction,
          'sizeoption'            =>  $sizeoption,
          'menu_addons'           =>  $menu_addons,
          'menu_price'            =>  $menu_price,
          'menu_description'      =>  $menu_description
        );
    }
    $this->db->trans_start();
    $this->db->where('id', $EditId);
    $this->db->update('rt_restaurant_menu', $data_menu_up);
    $menuid = $EditId;
    /************Adding Slice**************/
    if ($sizeoption == 'size') {
      $data_first_size_in = array(
          'menu_slice_restaurantid'     =>   $restaurant_id,
          'menu_slice_categoryid'       =>   $menu_category,
          'menu_slice_menuid'           =>   $menuid,
          'menu_slice_name'             =>   $sizename,
          'menu_slice_price'            =>   $sizevalue
        );
      if ($this->input->post('edit_first_size') != '') {
        $this->db->where('menu_slice_id', $this->input->post('edit_first_size'));
        $this->db->update('rt_restaurant_menu_slice', $data_first_size_in);
      }
      else {
        $this->db->insert('rt_restaurant_menu_slice', $data_first_size_in);
      }
      if (is_array($this->input->post('menu_size')) && count($this->input->post('menu_size')) > 0) {
        $menu_size = $this->input->post('menu_size');
        foreach ($menu_size as $key => $value) {
          if ($value['sizename'] != '') {
            if ($value['sizevalue'] == '') {
              $value['sizevalue'] = 0;
            }
            $data_other_size_in = array(
              'menu_slice_restaurantid'     =>   $restaurant_id,
              'menu_slice_categoryid'       =>   $menu_category,
              'menu_slice_menuid'           =>   $menuid,
              'menu_slice_name'             =>   $value['sizename'],
              'menu_slice_price'            =>   $value['sizevalue']
            );
            if (isset($value['update']) && $value['update'] != '') {
              $this->db->where('menu_slice_id', $value['update']);
              $this->db->update('rt_restaurant_menu_slice', $data_other_size_in);
            }
            else {
              $this->db->insert('rt_restaurant_menu_slice', $data_other_size_in);
            }
          }
        }
      }
    }
    /************Adding Addons*************/
    if (isset($menu_addons) && $menu_addons == 'Yes') {
      $addons_name        = $this->input->post('addons_name');
      $addons_option      = $this->input->post('mainaddonoption');
      $addonstype         = $this->input->post('addonstype');
      $addons_value       = $this->input->post('mainaddonvalue');
      $mainaddoncnt       = $this->input->post('mainaddoncnt');
      /*********Adding Main Addon*********/
      $main_addon_in = array(
          'menuaddons_restaurantid'       =>  $restaurant_id,
          'menuaddons_categoryid'         =>  $menu_category,
          'menuaddons_menuid'             =>  $menuid,
          'menuaddons_addonsname'         =>  $addons_name,
          'menuaddons_price'              =>  $addons_value,
          'menuaddons_addonscount'        =>  $mainaddoncnt
        );
      
      if ($this->input->post('edit_first_addon') != '') {
        $this->db->where('menuaddons_id', $this->input->post('edit_first_addon'));
        $this->db->update('rt_restaurant_menuaddons', $main_addon_in);
        $resaddonid = $this->input->post('edit_first_addon');
      }
      else {
        $this->db->insert('rt_restaurant_menuaddons', $main_addon_in);
        $resaddonid = $this->db->insert_id();
      }
      /*********Adding Sub Addon of Main Addon*********/
      $is_sub_addon_insert = 0;
      if ($resaddonid) {
        $my_subadd = $this->input->post('subadd');
        if (count($my_subadd) > 0 && is_array($my_subadd)) {
          foreach ($my_subadd as $key => $value) {
            if ($my_subadd[$key]['subaddon'] != '') {
              $sub_addon_in = array(
                  'addonparentid'             =>    $resaddonid,
                  'menuaddons_restaurantid'   =>    $restaurant_id,
                  'menuaddons_categoryid'     =>    $menu_category,
                  'menuaddons_menuid'         =>    $menuid,
                  'menuaddons_addonsname'     =>    $my_subadd[$key]['subaddon'],
                  'menuaddons_price'          =>    $my_subadd[$key]['price']
                );
              if (isset($my_subadd[$key]['update']) && $my_subadd[$key]['update'] != '') {
                $this->db->where('menuaddons_id', $my_subadd[$key]['update']);
                $this->db->update('rt_restaurant_menuaddons', $sub_addon_in);
                $is_sub_addon_insert = 1;
              }
              else {
                $this->db->insert('rt_restaurant_menuaddons', $sub_addon_in);
                $is_sub_addon_insert = $this->db->insert_id();
              }
            }
          }
        }
      }
      if ($is_sub_addon_insert == 0) {
        $this->db->where('menuaddons_id', $resaddonid);
        $this->db->delete('rt_restaurant_menuaddons');
      }
      /*********Adding Other Main Addon*********/
      $my_mainaddons = $this->input->post('mainaddons');
      //$my_check_addons = $this->input->post('is_addons_check');
      if (count($my_mainaddons) > 0 && is_array($my_mainaddons)) {
        foreach ($my_mainaddons as $key => $value) {
          if (isset($my_mainaddons[$key]['mainaddons_priceoption']) && $my_mainaddons[$key]['mainaddons_priceoption'] == ''){
              $mainaddons_price = '';
          }
          else if (isset($my_mainaddons[$key]['mainaddons_priceoption']) && $my_mainaddons[$key]['mainaddons_priceoption'] != ''){
            $mainaddons_price = $my_mainaddons[$key]['mainaddons_price'];
          }
          else {
            $mainaddons_price = '';
          }
          if ($my_mainaddons[$key]['mainaddonsname'] != '') {
            $my_mainaddons_key_mainaddonsname = isset($my_mainaddons[$key]['mainaddonsname'])?$my_mainaddons[$key]['mainaddonsname']:'';
            $my_mainaddons_key_mainaddons_priceoption = isset($my_mainaddons[$key]['mainaddons_priceoption'])?$my_mainaddons[$key]['mainaddons_priceoption']:'';
            $my_mainaddons_key_addonstype = isset($my_mainaddons[$key]['addonstype'])?$my_mainaddons[$key]['addonstype']:'single';
            $my_mainaddons_key_mainaddoncnt = isset($my_mainaddons[$key]['mainaddoncnt'])?$my_mainaddons[$key]['mainaddoncnt']:'0';
            $other_main_addon_in = array(
                'addonparentid'             =>    '0',
                'menuaddons_restaurantid'   =>    $restaurant_id,
                'menuaddons_categoryid'     =>    $menu_category,
                'menuaddons_menuid'         =>    $menuid,
                'menuaddons_addonsname'     =>    $my_mainaddons_key_mainaddonsname,
                'menuaddons_priceoption'    =>    $my_mainaddons_key_mainaddons_priceoption,
                'menuaddons_price'          =>    $mainaddons_price,
                'menuaddons_addonscount'    =>    $my_mainaddons_key_mainaddoncnt
              );
            if (isset($my_mainaddons[$key]['update']) && $my_mainaddons[$key]['update'] != '') {
              $this->db->where('menuaddons_id', $my_mainaddons[$key]['update']);
              $this->db->update('rt_restaurant_menuaddons', $other_main_addon_in);
              $resid = $my_mainaddons[$key]['update'];
            }
            else {
              $this->db->insert('rt_restaurant_menuaddons', $other_main_addon_in);
              $resid = $this->db->insert_id();
            }
            /*********Adding Sub Addon of Other Main Addon*********/
            $is_sub_addon_insert = 0;
            if($resid){
              if(isset($my_mainaddons[$key]['subaddons']) && count($my_mainaddons[$key]['subaddons']) > 0 && is_array($my_mainaddons[$key]['subaddons'])){
                foreach($my_mainaddons[$key]['subaddons'] as $lock  =>  $open){
                  $other_sub_addon_name = isset($my_mainaddons[$key]['subaddons'][$lock]['subaddonsname'])?$my_mainaddons[$key]['subaddons'][$lock]['subaddonsname']:'';
                  $other_sub_addon_price = isset($my_mainaddons[$key]['subaddons'][$lock]['subaddonsprice'])?$my_mainaddons[$key]['subaddons'][$lock]['subaddonsprice']:'0';
                  $other_sub_addon_check = isset($my_mainaddons[$key]['subaddons'][$lock]['subaddonscheck'])?$my_mainaddons[$key]['subaddons'][$lock]['subaddonscheck']:'';
                  $other_sub_addon_id = isset($my_mainaddons[$key]['subaddons'][$lock]['subaddonsid'])?$my_mainaddons[$key]['subaddons'][$lock]['subaddonsid']:'0';
                  if($other_sub_addon_name != '' && isset($other_sub_addon_check) && $other_sub_addon_check == '1'){
                    $other_sub_addon_in = array(
                        'addonparentid'             =>    $resid,
                        'menuaddons_restaurantid'   =>    $restaurant_id,
                        'menuaddons_categoryid'     =>    $menu_category,
                        'menuaddons_menuid'         =>    $menuid,
                        'menuaddons_addonsname'     =>    $other_sub_addon_name,
                        'menuaddons_price'          =>    $other_sub_addon_price,
                        'restaurant_addons_id'      =>    $other_sub_addon_id
                      );
                    if (isset($my_mainaddons[$key]['subaddons'][$lock]['update']) && $my_mainaddons[$key]['subaddons'][$lock]['update'] != '') {
                      $this->db->where('menuaddons_id', $my_mainaddons[$key]['subaddons'][$lock]['update']);
                      $this->db->update('rt_restaurant_menuaddons', $other_sub_addon_in);
                      $is_sub_addon_insert = 1;
                    }
                    else {
                      $this->db->insert('rt_restaurant_menuaddons', $other_sub_addon_in);
                      $is_sub_addon_insert = 1;
                    }
                  }
                }
              }
              if ($is_sub_addon_insert == 0) {
                $this->db->where('menuaddons_id', $resid);
                $this->db->delete('rt_restaurant_menuaddons');
              }
            }
          }
        }
      }
    }
    $this->db->trans_complete();
    $this->session->set_flashdata('success_msg', $this->lang->line('Menuupdatedsuccessfully'));
    redirect('superadmin/menumanagement');
  }

}

Anon7 - 2022
AnonSec Team