Sindbad~EG File Manager

Current Path : /home/numerotech/www/livemt2023.aios-scientificcommittee.org/app/controllers/
Upload File :
Current File : //home/numerotech/www/livemt2023.aios-scientificcommittee.org/app/controllers/ARCInnController.php

<?php

class ARCInnController extends BaseController {


    //IF id is null then create empty fp and redeirect to edit fp page
    //if id is not null then fp can edit 
    public function getARCInn($id = null){ 
        
        $step = Input::get('step');
        $categories = array('' => '--select--') + Category::AppleTree();       
        $pres_types = array('' => '--select--') + PresType::getPresType(CustomClass::getUserId());

        $membership = CustomClass::GetMembership();    

        $pres_auth_id = 0;

        try {
            if($id != null)
                $id = intval(urldecode(Helper::decrypt($id)));
        } catch (Exception $e) {
            return Redirect::to('dashboard');
        } 
        
        if($id>0)
        {
            $appletree = Abstracts::find($id);
            
            if($appletree != null)
            {
                if($appletree->user_id != CustomClass::getUserId())
                {
                     return Redirect::to('dashboard');
                }
                else if($appletree->status_id ==CustomClass::$Submitted)
                {
                   return Redirect::to('dashboard');
                } 

                $pa_author = Authors::where('abs_id',$appletree->abs_id)->where('role_id',CustomClass::$PresentingAuthor)->first(); 
                if($pa_author !=null)
                {
                    $pres_auth_id =  $pa_author->user_id;
                }
            }
            else
            {
                return Redirect::to('dashboard');
            }
        }
        else
        {

            if($this->is_closed())
            {
                return Redirect::to('abstracts?type=ARCInn');
            }         
            else
            {

                 //dump creat table after step new fp
                $appletree = new Abstracts();
                $appletree->user_id    = CustomClass::getUserId();  
                $appletree->abs_type   = CustomClass::$ARCInn;      
                $appletree->save();
                return Redirect::to('arcinn/'.urlencode(Helper::encrypt($appletree->abs_id)));
            }
           // if($this->is_closed())
           // {
           //  return Redirect::to('dashboard');
           // }
        }

        return View::make('arcinn.arcinn')
                    ->with('appletree',$appletree) 
                    ->with('pres_auth_id',$pres_auth_id)                   
                    ->with('categories',$categories)
                    ->with('pres_types',$pres_types)
                    ->with('membership',$membership)
                    ->with('step',$step);
    }

    //if FP count =< count 4 then close 
    public function is_closed()
    {
        $appletrees = Abstracts::where('abs_type','ARCInn')->where('user_id',CustomClass::getUserId())->get();
        if(!(CustomClass::$AppleTree_Count > count($appletrees)))
        {
            return true;
        }  
        else
        {
            return false;
        } 
    }

    //FP view
    public function view($id){      
        $categories = array('' => '--select--') + Category::lists('name','Category_id');        
        $pres_types = array('' => '--select--') + PresType::lists('type','presentation_type_id');

        if($id != null )
            $id = intval(urldecode(Helper::decrypt($id)));

        $appletree = null;

        if($id>0)
        {
            $appletree         = Abstracts::find($id);
            

            if(isset($pa[0]))
            {
                $pa =  $pa[0];
            }

            //$pa         = App::make('UserController')->getUserDetails($fp->pres_auth_id);
            $user       = App::make('UserController')->getUserDetails($appletree->user_id); 

            return View::make('arcinn.view')->with('appletree',$appletree)
                                    ->with('categories',$categories)
                                    ->with('pres_types',$pres_types)
                                    ->with('user',$user);
        }
                 
    }

  
    

    //FP Store
    public function store()
    {
        try {

            //for Response
            $arr = [];
            $code = 0;
            $msg = "";
            $data = "";
            
            $appletree_id      = intval(Input::get('hdnId'));
            $pa_id      = intval(Input::get('hdnPAId'));
            $is_next    = intval(Input::get('hdnIsNext'));
            $step       = intval(Input::get("hdnStep"));


            //for first step only 
            $categories = array('' => '--select--') + Category::AppleTree();        
            $pres_types = array('' => '--select--') + PresType::lists('type','presentation_type_id');
            $membership = CustomClass::GetMembership();  

            $is_edit = true;

            $pres_auth_id = 0;

            $abs_upload = [];

            if($appletree_id >0)
            {
                $appletree = Abstracts::find($appletree_id); 
                $abs_upload = AbsUpload::where('abs_id',$appletree_id)->get(); 
                // $appletree_upload = AbsUpload::where('abs_id',$appletree_id)->get();    
            }    
            else
                $appletree = new Abstracts(); 

            if($appletree != null)
            {
               $pa_author = Authors::where('abs_id',$appletree->abs_id)->where('role_id',CustomClass::$PresentingAuthor)->first(); 
               if($pa_author !=null)
               {
                    $pres_auth_id =  $pa_author->user_id;
               } 
            }

            if($is_next == 1)
            {
                if($step ==1)
                {   

                    if($appletree->status_id ==CustomClass::$Submitted)
                    {
                        $code   = 0;
                        $msg    = AppMessage::$ARCInn_ALREADY_SUBMIT ." <a href=". url('/dashboard'). " >Please, check the status in Dashboard</a>";    
                        $data   = "";

                    }
                    else
                    {

                        $appletree->abs_type               = CustomClass::$ARCInn;
                        //$fp->pres_auth_id   = $pa_id;                   
                        $appletree->category_id            = Input::get('ddlSection');                    
                        $appletree->original_category_id   = Input::get('ddlSection');
                        // $arc->presentation_type_id   = Input::get('ddlType');       
                        $appletree->user_id                = CustomClass::getUserId();                                                               
                        $appletree->save();

                        //check and save chief instructor in author table 
                        $author = Authors::where('abs_id',$appletree->abs_id)->where('role_id',CustomClass::$ChiefAuthor)->first();
                        if($author == null)
                        {
                            $author = new Authors();
                            $author->user_id = CustomClass::getUserId();   
                            $author->abs_id  = $appletree->abs_id;
                            $author->role_id = CustomClass::$ChiefAuthor;
                            $author->consent_status_id = CustomClass::$Selected;
                            $author->save();
                        }   

                        //chief Author same PresentingAuthor
                        $author = Authors::where('abs_id',$appletree->abs_id)->where('role_id',CustomClass::$PresentingAuthor)->first();
                        if($author == null)
                        {
                            $author = new Authors();
                            $author->user_id = CustomClass::getUserId();   
                            $author->abs_id  = $appletree->abs_id;
                            $author->role_id = CustomClass::$PresentingAuthor;
                            $author->consent_status_id = CustomClass::$Selected;
                            $author->save();
                        }                   

                        $count = $this->get_AppleTreePA_Count($pres_auth_id);

                        if($count >= CustomClass::$AppleTree_Count)
                        {
                            $code   = 0;
                            $msg    = AppMessage::$AppleTree_PA_Count;    
                            $data   = "";
                        }
                        else
                        {
                            $code = 1;
                            $data = View::make('arcinn.step2')->with('appletree',$appletree)->render();     
                        }
                    }
                }                 

                if($step ==2)
                {   
                    if($appletree->status_id ==CustomClass::$Submitted)
                    {
                        $code   = 0;
                        $msg    = AppMessage::$AppleTree_ALREADY_SUBMIT ." <a href=". url('/dashboard'). " >Please, check the status in Dashboard</a>";    
                        $data   = "";

                    }
                    else
                    {
                        $appletree->user_id              = CustomClass::getUserId();
                        $appletree->institution          = Helper::trimAndTruncate(Input::get('txtInstitute'),200);  
                        $appletree->university           = Helper::trimAndTruncate(Input::get('txtUniversity'),200);  
                        $appletree->mci_status           = Helper::trimAndTruncate(Input::get('txtMCIstate'),200);   
                        $appletree->year_of_passing      = Helper::trimAndTruncate(Input::get('txtYearOfPassing'),200);  
                        $appletree->guide                = Helper::trimAndTruncate(Input::get('txtGuide'),200);  
                        $appletree->co_guide             = Helper::trimAndTruncate(Input::get('txtCoGuide'),200);  
                        $appletree->hod                  = Helper::trimAndTruncate(Input::get('txtDepartment'),200);  
                        // $arc->arc_no               = $this->GetMaxARCNoPlusOne();  
                        $appletree->submitted_on         = date('Y-m-d H:i:s');
                        $appletree->title                = Helper::trimAndTruncate(Input::get('txtTitle'),200);  
                        $appletree->synopsis             = Helper::trimAndTruncate(Input::get('txtSynopsis'),2000);                                       
                        $appletree->save();

                        // $arr    = $this->get_AppleTreeCOA_Count($arc_id);  
                        // $arr    = $this->get_AppleTreeGUIDE_Count($arc_id);                          

                        $code   = 1;
                        // $data   = View::make('arcinn.step')->with('appletree',$appletree)
                                    // ->with('abs_upload',$abs_upload)->render();
                                    
                        $code   = 1;
                        $data   = View::make('arcinn.step5')->with('appletree',$appletree)
                                        ->with('abs_upload',$abs_upload)
                                        ->with('categories',$categories)
                                        ->with('membership',$membership)->render();    
                    }
                }      
                if($step ==3)
                {   
                    if($appletree->status_id ==CustomClass::$Submitted)
                    {
                        $code   = 0;
                        $msg    = AppMessage::$AppleTree_ALREADY_SUBMIT ." <a href=". url('/dashboard'). " >Please, check the status in Dashboard</a>";    
                        $data   = "";

                    }
                    else
                    {

                        // if($this->IsRatifiedMembers($arc))
                        // {                         
                            $code   = 1;
                            $data   = View::make('arcinn.step5')->with('appletree',$appletree)
                                        ->with('abs_upload',$abs_upload)
                                        ->with('categories',$categories)
                                        ->with('membership',$membership)->render();     
                        // }
                        // else
                        // {
                        //     $code   = 0;
                        //     $msg    = AppMessage::$ARC_RATIFIED_MEMBER;    
                        //     $data   = "";
                        // }
                    }

               }     
               if($step ==4)
                {   
                    if($appletree->status_id ==CustomClass::$Submitted)
                    {
                        $code   = 0;
                        $msg    = AppMessage::$AppleTree_ALREADY_SUBMIT ." <a href=". url('/dashboard'). " >Please, check the status in Dashboard</a>";    
                        $data   = "";

                    }
                    else
                    {

                        $appletree->is_in_india             = Input::get('rbtnIndia'); 
                        $appletree->is_already_published    = Input::get('rbtnIsAlreadyPublished');   
                        $appletree->lab_research            = Input::get('rbtnlab_research');   
                        if($appletree->presentation_type_id == CustomClass::$Paper_or_EPoster || $appletree->presentation_type_id == CustomClass::$EPoster_only)
                        {
                            $appletree->is_consider_hp     = Input::get('rbtnIsConsiderhP');  
                        }
                        $appletree->save();

                        // $arr    = $this->get_AppleTreeCOA_Count($arc_id);  
                        // $arr    = $this->get_AppleTreeGUIDE_Count($arc_id);

                        $pa         = Abstracts::usp_get_authors(null,CustomClass::$AppleTree,CustomClass::$PresentingAuthor,$appletree_id,null,null); 
                        if(isset($pa[0]))
                        {
                            $pa =  $pa[0];
                        }
                        $code   = 1;
                        $data   = View::make('arcinn.step5')->with('appletree',$appletree)
                                    ->with('categories',$categories)
                                    ->with('pres_types',$pres_types)
                                    ->with('membership',$membership)
                                    ->with('isMaxCount',$arr["isMaxCount"])
                                    ->with('abs_upload',$abs_upload)->render();   
                    }
                }                
               if($step == 5)
               {

                    if($appletree->status_id ==CustomClass::$Submitted)
                    {
                        $code   = 0;
                        $msg    = AppMessage::$AppleTree_ALREADY_SUBMIT ." <a href=". url('/dashboard'). " >Please, check the status in Dashboard</a>";    
                        $data   = "";

                    }
                    else
                    {

                        
                        if(!($appletree->abs_no >0))
                        {
                            $is_edit                    = false;                        
                            $appletree->submitted_at           = date('Y-m-d H:i:s');
                            $appletree->status_id      = CustomClass::$Submitted;                        
                            $result =    Abstracts::usp_generate_abs_no(CustomClass::$ARCInn,$appletree->abs_id);
                            $appletree->abs_no = $result[0]->abs_no;
                        }
                        
                        $appletree->save();

                       

                        //FP mail    
                        $user = App::make('UserController')->getUserDetails($appletree->user_id);
                        $pa         = Abstracts::usp_get_authors(null,CustomClass::$AppleTree,CustomClass::$PresentingAuthor,$appletree->abs_id,null,null); 
                        if(isset($pa[0]))
                        {
                            $pa =  $pa[0];
                        }

                        

                         if($is_edit)
                        {
                            $this->arcinn_mail_data($user,$appletree,$categories,$pres_types);       
                        }
                        else
                        {
                            $this->arcinn_mail($user,$appletree,$categories,$pres_types);
                        }

                        

                        $code = 1;
                        $data = View::make('arcinn.success')->with('appletree',$appletree)->render();
                        
                   }
                }
            }
            else 
            {
                if($step == 2)
                {   
                    $code = 1;
                    $data = View::make('arcinn.step1')
                                ->with('appletree',$appletree)
                                ->with('abs_upload',$abs_upload)
                                ->with('pres_auth_id',$pres_auth_id)
                                ->with('categories',$categories)
                                ->with('pres_types',$pres_types)
                                ->with('membership',$membership)->render();
                }   
                if($step == 3)
                {   
                    $code = 1;
                    $data = View::make('arcinn.step2')
                                ->with('appletree',$appletree)
                                ->with('abs_upload',$abs_upload)->render();
                }   
                if($step == 4)
                {   
                    // $arr    = $this->get_AppleTreeCOA_Count($arc_id);  
                                 

                    $code   = 1;
                    $data   = View::make('arcinn.step3')->with('appletree',$appletree)
                                ->with('abs_upload',$abs_upload)->render();
                }  
                if($step == 5)
                {   
                    $code   = 1;
                    $data   = View::make('arcinn.step3')->with('appletree',$appletree)
                                                     ->with('abs_upload',$abs_upload)
                                                     ->render();    
                }                
            }
            
        } catch (Exception $e) {
            Log::error('ARCInnController - store :'.$e->getMessage());          
            $msg =AppMessage::$GENERAL_ERROR;
        }

        $arr = ['data' => $data, 'code' => $code, 'msg' => $msg];
        return Response::json($arr); 
    }

    //PA Store
    public function storePA()
    {
        try {

            //for Response
            $arr = [];
            $code = 0;
            $msg = "";
            $data = "";
            
            $appletree_id         = intval(Input::get('appletree_id'));
            $pa_user_id    = intval(Input::get('pa_user_id')); 

            $paauthor = Authors::where('abs_id',$appletree_id)->where('role_id',CustomClass::$PresentingAuthor)->first();
            if($paauthor == null)
            {
                //presenting author            
                $pa_author = new Authors();
                $pa_author->user_id = $pa_user_id;   
                $pa_author->abs_id  = $appletree_id;
                $pa_author->role_id = CustomClass::$PresentingAuthor;
                $pa_author->consent_status_id = CustomClass::$Selected;
                //$pa_author->save();            
                //$code = 1;

                //use for validation
                $count = $this->get_AppleTreePA_Count($pa_user_id);
                
                if($count >= CustomClass::$AppleTree_Count)
                {
                    $code = 0;
                    $msg  = AppMessage::$AppleTree_PA_Count;
                }             
                else 
                {
                    $code = 1;
                    $pa_author->save();
                }
            }
            else
            {
                 $code = 1; 
            }
            
        } catch (Exception $e) {
            Log::error('ARCInnController - storePA :'.$e->getMessage());          
            $msg =AppMessage::$GENERAL_ERROR;
        }

        $arr = ['data' => $data, 'code' => $code, 'msg' => $msg];
        return Response::json($arr);
    }


    public function storeGuide()
    {
        try {

            //for Response
            // $arr = [];
            $code = 0;
            $msg = "";
            $data = "";
            
            $appletree_id          = intval(Input::get('appletree_id'));
            $guide_user_id         = intval(Input::get('guide_user_id')); 


            $au_guide = new Authors();
            $au_guide->role_id       =     CustomClass::$Guide;
            $au_guide->abs_id        =     $appletree_id;
            $au_guide->user_id       =     $guide_user_id;   
            $au_guide->consent_status_id = CustomClass::$Selected;                     
            $au_guide->is_present    =     1;

            $appletree = Abstracts::find($appletree_id);   

            //use for validation
            // $arr = $this->get_AppleTreeCOA_Count($arc_id,$coa_user_id);
            // $arr    = $this->get_AppleTreeGUIDE_Count($arc_id,$guide_user_id);

            // if($arr["isDuplicate"])
            // {
            //     $code = 0;
            //     $msg  = AppMessage::$ARC_GUIDE_Duplicate;
            // }
            // else if($arr["isMaxCount"])
            // {
            //     $code = 0;
            //     $msg  = AppMessage::$ARC_GUIDE_Count;
            // }             
            // else 
            // {
                $code = 1;
                $au_guide->save();
            // }


           $au_guide =  Authors::where('abs_id',$appletree_id)->where('user_id',$guide_user_id)->where('role_id',CustomClass::$Guide)->first(); 

            //use for get coi list
            // $arr = $this->get_AppleTreeCOA_Count($arc_id);
            // $arr    = $this->get_AppleTreeGUIDE_Count($arc_id);
            
            $data = View::make('arcinn.step3')
                                ->with('appletree',$appletree)
                                ->with('au_guide',$au_guide)
                                ->with('guides',$arr["guides"])
                                ->with('isMaxCount',$arr["isMaxCount"])
                                ->with('abs_upload',$abs_upload)->render();
            
        } catch (Exception $e) {
            Log::error('ARCInnController - storeGuide :'.$e->getMessage());          
            $msg =AppMessage::$GENERAL_ERROR;
        }

        $arr = ['data' => $data, 'code' => $code, 'msg' => $msg];
        return Response::json($arr);
    }

    //COA Store
    public function storeCOA()
    {
        try {

            //for Response
            $arr = [];
            $code = 0;
            $msg = "";
            $data = "";
            
            $appletree_id          = intval(Input::get('appletree_id'));
            $coa_user_id    = intval(Input::get('coa_user_id')); 


            $coa = new Authors();
            $coa->role_id       =     CustomClass::$CoAuthor;
            $coa->abs_id        =     $appletree_id;
            $coa->user_id       =     $coa_user_id;   
            $coa->consent_status_id = CustomClass::$Selected;                     
            $coa->is_present    =     1;

            $appletree = Abstracts::find($appletree_id);   

            //use for validation
            // $arr = $this->get_AppleTreeCOA_Count($arc_id,$coa_user_id);
            $arr    = $this->get_AppleTreeGUIDE_Count($appletree_id,$guide_user_id);

            if($arr["isDuplicate"])
            {
                $code = 0;
                $msg  = AppMessage::$AppleTree_COA_Duplicate;
            }
            else if($arr["isMaxCount"])
            {
                $code = 0;
                $msg  = AppMessage::$AppleTree_COA_Count;
            }             
            else 
            {
                $code = 1;
                $coa->save();
            }
           

            //use for get coi list
            // $arr = $this->get_AppleTreeCOA_Count($arc_id);
            $arr    = $this->get_AppleTreeGUIDE_Count($appletree_id);
            
            $data = View::make('arcinn.step3')
                                ->with('appletree',$appletree)
                                ->with('abs_upload',$abs_upload)->render();
            
        } catch (Exception $e) {
            Log::error('ARCInnController - storeCOA :'.$e->getMessage());          
            $msg =AppMessage::$GENERAL_ERROR;
        }

        $arr = ['data' => $data, 'code' => $code, 'msg' => $msg];
        return Response::json($arr);
    }


    //FP Get Max FPNo Plus  one
    // public function GetMaxARCNoPlusOne()
    // {
    //      $arcno = ARC::max('arc_no');
    //      return (intval($arcno) + 1); 
    // }

    //COA Remove
    public function removePA()
    {
        try {

            //for Response
            $arr    = [];
            $code   = 0;
            $msg    = "";
            $data   = "";

            $appletree_id = intval(Input::get('appletree_id'));
            $pa_id = intval(Input::get('pa_id'));
            
            $pa =  Authors::where('abs_id',$appletree_id)->where('user_id',$pa_id)->where('role_id',CustomClass::$PresentingAuthor)->first();

            $pa->delete();
            $code = 1;            

            // $fp = Abstracts::find($fp_id);         

            // $arr = $this->get_AppleTreeCOA_Count($fp_id);

            // $code = 1;
            // $data = View::make('fp.step3')
            //                     ->with('fp',$fp)
            //                     ->with('coas',$arr["coas"])
            //                     ->with('isMaxCount',$arr["isMaxCount"])->render();
            
            
        } catch (Exception $e) {
            Log::error('ARCInnController - removeCOA :'.$e->getMessage());          
            $msg =AppMessage::$GENERAL_ERROR;            
        }

        $arr = ['data' => $data, 'code' => $code, 'msg' => $msg];
        return Response::json($arr); 

    }


    //COA Remove
    public function removeCOA()
    {
        try {

            //for Response
            $arr    = [];
            $code   = 0;
            $msg    = "";
            $data   = "";

            $appletree_id = intval(Input::get('appletree_id'));
            $coa_id = intval(Input::get('coa_id'));
            
            $coa =  Authors::find($coa_id);

            $coa->delete();
            
            $appletree = Abstracts::find($appletree_id);         

            $arr = $this->get_AppleTreeCOA_Count($appletree_id);

            $code = 1;
            $data = View::make('arcinn.step3')
                                ->with('appletree',$appletree)
                                ->with('coas',$arr["coas"])
                                ->with('isMaxCount',$arr["isMaxCount"])
                                ->with('abs_upload',$abs_upload)->render();
            
            
        } catch (Exception $e) {
            Log::error('ARCInnController - removeCOA :'.$e->getMessage());          
            $msg =AppMessage::$GENERAL_ERROR;
        }

        $arr = ['data' => $data, 'code' => $code, 'msg' => $msg];
        return Response::json($arr); 

    }

    
    //Get PA Count for validation 
    public function get_AppleTreePA_Count($pa_uid)
    {           

        try {
                $isMaxCount     = false;

                $users   = null;
                $users   = Abstracts::usp_get_abstracts(null,null,null,null,null,null,null,$pa_uid,null,null,null,null); 
                $pa_count  = 0;
                foreach ($users["engaged"] as $key => $value) {
                    if($value->abs_type==CustomClass::$AppleTree && $value->role_id==CustomClass::$PresentingAuthor && $value->status_id == CustomClass::$Submitted)
                    {
                        $pa_count++;
                    }
                }

        } catch (Exception $e) {
            Log::error('ARCInnController - get_AppleTreePA_Count :'.$e->getMessage());    
        }
                     
        return $pa_count;
    }

    //Guide count for validation 
     public function get_AppleTreeGUIDE_Count($appletree_id,$guide_uid = null)
    {           

        try {
                $isMaxCount     = false;
                $isDuplicate    = false; 

                //ToDo: call sp from new version 
                //$coas           = DB::select('call usp_getCOAByFPId('.$fp_id.')');                            
                $coas = null;
                $coas   = Abstracts::usp_get_authors(null,CustomClass::$AppleTree,CustomClass::$Guide,$appletree_id,CustomClass::$UserType_AppleTree_Guide,null); 

                

                $guide_uids       = [];                

                if(isset($guides) &&  count($guides) >0)
                {
                    foreach ($guides as $key => $value) {  
                        if($guide_uid == $value->user_id)              
                        {
                            $isDuplicate =true;
                        }
                        
                        array_push($guide_uids, $value->user_id);    
                    }    
                }
                else
                {
                    $guides = [];                
                }

                if(count(array_unique($guide_uids)) >=  CustomClass::$AppleTree_GUIDE_Count)
                {
                  $isMaxCount = true;
                }    
        } catch (Exception $e) {
            Log::error('ARCInnController - get_AppleTreeGUIDE_Count :'.$e->getMessage());    
        }
                     

            return ["isMaxCount" => $isMaxCount,"isDuplicate" => $isDuplicate ,"guides" => $guides];

    }

    //Get COA and COA Count for validation 
    public function get_AppleTreeCOA_Count($appletree_id,$coa_uid = null)
    {           

        try {
                $isMaxCount     = false;
                $isDuplicate    = false; 

                //ToDo: call sp from new version 
                //$coas           = DB::select('call usp_getCOAByFPId('.$fp_id.')');                            
                $coas = null;
                $coas   = Abstracts::usp_get_authors(null,CustomClass::$AppleTree,CustomClass::$CoAuthor,$appletree_id,CustomClass::$UserType_AppleTree_COA,null); 

                

                $coa_uids       = [];                

                if(isset($coas) &&  count($coas) >0)
                {
                    foreach ($coas as $key => $value) {  
                        if($coa_uid == $value->user_id)              
                        {
                            $isDuplicate =true;
                        }
                        
                        array_push($coa_uids, $value->user_id);    
                    }    
                }
                else
                {
                    $coas = [];                
                }

                if(count(array_unique($coa_uids)) >=  CustomClass::$AppleTree_COA_Count)
                {
                  $isMaxCount = true;
                }    
        } catch (Exception $e) {
            Log::error('ARCInnController - get_AppleTreeCOA_Count :'.$e->getMessage());    
        }
                     

            return ["isMaxCount" => $isMaxCount,"isDuplicate" => $isDuplicate ,"coas" => $coas];

    }

    //RATIFIED MEMBER Check for fp
    public function IsRatifiedMembers($appletree)
    {
        $isretified = false;

        $ca  = App::make('UserController')->getUserDetails($appletree->user_id);

        if($ca->user_type_id==CustomClass::$Ratified_Member)
        {
            $isretified = true;             
        }        

        // $pa  = App::make('UserController')->getUserDetails($fp->pres_auth_id); 
        // if(!empty($pa->membership_no))
        // {
        //     $isretified = true; 
        // }            

            $pa         = Abstracts::usp_get_authors(null,CustomClass::$AppleTree,CustomClass::$PresentingAuthor,$appletree->appletree_id,null,null); 
            if(isset($pa[0]))
            {
                $pa =  $pa[0];
                if($pa->user_type_id==CustomClass::$Ratified_Member)
                {
                    $isretified = true;                     
                }            
            }


        $arr = $this->get_AppleTreeCOA_Count($appletree->abs_id);
      //  var_dump($arr['coas']);
        foreach ($arr['coas'] as $key => $value) {
            if($value->user_type_id==CustomClass::$Ratified_Member)
            {
                $isretified = true;                 
            }
        }



        return $isretified;

    }


    //FP Mail Send add cc COA
    public function arcinn_mail($user,$appletree,$categories,$pres_types)
    {
        if(empty($user->email))
        {
            return;
        }
        if(CustomClass::$IsEmailEnabled)
        {
             $isMailSend  =  Mail::send('emails.arcinn.chiefauthor', array('user' => $user,'appletree' =>$appletree,'categories'=>$categories,'pres_types' =>$pres_types), function($message) use ($appletree,$user)
                                {       
                                    $message->subject(sprintf(Subject::$arcinn_ca,$appletree->abs_no)); 
                                    if(CustomClass::$IsEmailTest)
                                    {
                                        $message->to(CustomClass::$TestMailId);   
                                    }
                                    else
                                    {

                                        $message->to($user->email);                                             
                                        // if(isset($coa) && count($coa)>0)                        
                                        // {
                                            // foreach ($coa as $value) {           
                                                // if(!empty($user->email))                                     
                                                //     $message->cc($user->email);
                                            // }    
                                        // }                                    
                                        // if(isset($pa) && !empty($pa))
                                        // {
                                        //     if(!empty($pa->email))
                                        //         $message->cc($pa->email);
                                        // }
                                        $message->cc(CustomClass::$BackupId);
                                    }
                                });  
        }
    }


    //FP Mail Send add cc COA
    public function arcinn_mail_data($user,$appletree,$categories,$pres_types)
    {
        if(empty($user->email))
        {
            return;
        }
        if(CustomClass::$IsEmailEnabled)
        {
             $isMailSend  =  Mail::send('emails.arcinn.chiefauthor', array('user' => $user,'appletree' =>$appletree,'categories' => $categories ,'pres_types' =>$pres_types), function($message) use ($appletree,$user)
                                {   

                                    $message->subject(sprintf(Subject::$arcinn_ca,$appletree->abs_no)); 
                                    if(CustomClass::$IsEmailTest)
                                    {
                                        $message->to(CustomClass::$TestMailId);   
                                    }                          
                                    else
                                    {
                                        $message->to($user->email);                                                                                 
                                        // if(isset($coa) && count($coa)>0)                        
                                        // {                                            
                                            // foreach ($coa as $value) {
                                                // if(!empty($user->email))
                                                //     $message->cc($value->email);
                                            // }    
                                        // }                                    
                                        // if(isset($pa) && !empty($pa))
                                        // {
                                        //     if(!empty($pa->email))
                                        //         $message->cc($pa->email);
                                        // }
                                        $message->cc(CustomClass::$BackupId);
                                    }                                
                                    

                                });  
        }
    }



  




}


Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists