<?php

class AjaxController extends Zend_Controller_Action
{
    
    private $imgFolder ="/pics/";
    private $fileFolder="/games/";
    
	
    public function init()
    {
        $this->_helper->viewRenderer->setNoRender();
            $this->_helper->layout->disableLayout();
    }
    public function deletegameimageAction(){
        $id = $this->getRequest()->getParam('image_id');
        if($id>0){
        $imagesDb = new Model_DbTable_gameImages;
        $id_delete = $imagesDb->fetchRow("id ='".$id."'");
        $file_name = $id_delete->file;
        if(file_exists(UPLOADS_PATH.$this->imgFolder.$file_name)){
                unlink(UPLOADS_PATH.$this->imgFolder.$file_name);
                $imagesDb->delete("id ='".$id."'");
            }else{
                $imagesDb->delete("id ='".$id."'");
            }
        }
         
    }
     public function deletepowerupAction(){
        $id = $this->getRequest()->getParam('image_id');
        if($id>0){
        $power_Db = new Model_DbTable_Powerups;
        $id_delete = $power_Db->fetchRow("id ='".$id."'");
        $file_name = $id_delete->file;
        if(file_exists(UPLOADS_PATH.$this->fileFolder.$file_name)){
                unlink(UPLOADS_PATH.$this->fileFolder.$file_name);
                $power_Db->delete("id ='".$id."'");
            }else{
                $power_Db->delete("id ='".$id."'");
            }
        }
         
    }
 public function savegameimageAction(){
       $imagesDb = new Model_DbTable_gameImages;
       $game_img   =  $this->getRequest()->getParam('image');
       echo $id   =  $this->getRequest()->getParam('id');
                      
                    if($game_img)
                    {
                        $imgdata = array(
                                        'game_id' =>$id, 
                                        'game_image_category_id' =>1, 
                                        'file' => $game_img
                            );
                       $imagesDb->insert($imgdata);
                    }  
         
    }
    public function savegameimagecatAction(){
       $imagesDb = new Model_DbTable_gameImages;
       $cat_id   =  $this->getRequest()->getParam('cat_id');
       $id   =  $this->getRequest()->getParam('id');
                      
                    if($cat_id)
                    {
                        $imgdata = array( 
                                        'game_image_category_id' =>$cat_id, 
                            );
                       $imagesDb->update($imgdata,"id ='".$id."'");
                    }  
         
    } 
    
    public function insertpowerupAction(){
        $name   =  $this->getRequest()->getParam('name');
        $desc  =  $this->getRequest()->getParam('desc');
        $file   =  $this->getRequest()->getParam('file');
        $game_id   =  $this->getRequest()->getParam('game_id');
          if($game_id)
                {
                   $power_Db = new Model_DbTable_Powerups;
                  
                        $pwrdata = array(
                                        'game_id' =>$game_id, 
                                        'name' =>$name,
                                        'description' => $desc,
                                        'file' => $file
                            );
                       $power_Db->insert($pwrdata);
                    
                   
                }
    }
#################################################################################    
     // this function allows you to add images asyc via ajax
##################################################################################        
    public function uploadfileAction()
            {
          // add new game
          
              $plugin = new PG_Controller_Plugin_UploadloadFile;
           if(!$file = $plugin->uploadFile('Filedata','pics'))
		{
			echo implode('<br />', $plugin->errors);
		} else {
			//echo $file;
			$info =  pathinfo($file);
	
			if($info['extension'] =='zip'){
				$this->unzipfile($file);
			}else{
				echo $file;
			}
		}
			 
    
	}
	
	
	// upload images
	   public function uploadthemebgAction()
  {
         $plugin = new PG_Controller_Plugin_UploadloadFile;
           if(!$file = $plugin->uploadFile('Filedata','pics'))
		{
			echo implode('<br />', $plugin->errors);
		} else {
			 $userInfo = Zend_Auth::getInstance()->getStorage()->read();
			$db = new Model_DbTable_ThemesBackground;
			$upload = $db->insert(array(
			'file'=>$file,
			'publiserid'=>$userInfo->publisher_id,
			'categoryid'=>0,
			'dateCreated'=>date('Y-m-d H:i:s'),
			));
				echo $file;
		}
			 
    
	}
			
			
	// upload images
	   public function uploadbennerAction()
  {
            $plugin = new PG_Controller_Plugin_UploadloadFile;
            
        if(isset($GLOBALS['HTTP_RAW_POST_DATA']) && !empty($GLOBALS['HTTP_RAW_POST_DATA']))
		{
			$ext = 'jpg';
			if(isset($_SERVER['HTTP_X_FILE_TYPE']) && !empty($_SERVER['HTTP_X_FILE_TYPE']))
			{
				switch($_SERVER['HTTP_X_FILE_TYPE'])
				{
					case 'images/png':
						$ext = 'png';
					break;
					case 'images/gif':
						$ext = 'gif';
					break;
					case 'images/jpg':
					case 'images/jpeg':
						$ext = 'jpg';
					break;
				}
			}
			$name = uniqid().'.'.$ext;
			$path = UPLOADS_PATH;

			if(file_put_contents($path."\banners\\".$name, $GLOBALS['HTTP_RAW_POST_DATA']))
			{
				echo json_encode(array('status' => 'success', 'name' => $name));
			}else{
				echo json_encode(array('status'=>'error'));
			}
		} else {
            if(!$file = $plugin->uploadFile('Filedata','pics'))
    		{
    			echo implode('<br />', $plugin->errors);
    		} else {
    			echo $file;
				$data = array(
				'file'=>$file,
				'campaign_id'=>$this->getRequest()->getParam('campaignid'),
				);
				
				
				$db = new Model_DbTable_Banners;
				$db->insert($data);
				
    		}
		}
			 
    
	}		
			
			
	public function uploadbadgesAction()
            {
          // add new game
          
              $plugin = new PG_Controller_Plugin_UploadloadFile;
           if(!$file = $plugin->uploadFile('Filedata','badges'))
		{
			echo implode('<br />', $plugin->errors);
		} else {
			//echo $file;
			$info =  pathinfo($file);
	
			if($info['extension'] =='zip'){
				$this->unzipfile($file);
			}else{
				echo $file;
			}
		}
			 
    
	}		
		
		public function uploadvirtualgiftsAction()
            {
          // add new game
          
              $plugin = new PG_Controller_Plugin_UploadloadFile;
           if(!$file = $plugin->uploadFile('Filedata','virtualgift'))
		{
			echo implode('<br />', $plugin->errors);
		} else {
			//echo $file;
			$info =  pathinfo($file);
	
			if($info['extension'] =='zip'){
				$this->unzipfile($file);
			}else{
				echo $file;
			}
		}
			 
    
	}		
		
			
	public function uploadimgAction()
    {
          // add new game
          
              $plugin = new PG_Controller_Plugin_UploadloadFile;
           if(!$file = $plugin->uploadFile('Filedata','pics'))
		{
			echo implode('<br />', $plugin->errors);
		} else {
			echo $file;
		}
			 
    
	}		
			
    public function uploadimageAction()
            {
          
            $plugin = new PG_Controller_Plugin_UploadloadFile;
            
        if(isset($GLOBALS['HTTP_RAW_POST_DATA']) && !empty($GLOBALS['HTTP_RAW_POST_DATA']))
		{
			$ext = 'jpg';
			if(isset($_SERVER['HTTP_X_FILE_TYPE']) && !empty($_SERVER['HTTP_X_FILE_TYPE']))
			{
				switch($_SERVER['HTTP_X_FILE_TYPE'])
				{
					case 'images/png':
						$ext = 'png';
					break;
					case 'images/gif':
						$ext = 'gif';
					break;
					case 'images/jpg':
					case 'images/jpeg':
						$ext = 'jpg';
					break;
				}
			}
			$name = uniqid().'.'.$ext;
			$path = UPLOADS_PATH;

			if(file_put_contents($path."\pics\\".$name, $GLOBALS['HTTP_RAW_POST_DATA']))
			{
				echo json_encode(array('status' => 'success', 'name' => $name));
			}else{
				echo json_encode(array('status'=>'error'));
			}
		} else {
            if(!$file = $plugin->uploadFile('Filedata','pics'))
    		{
    			echo implode('<br />', $plugin->errors);
    		} else {
    			echo $file;
    		}
		}
         }
    public function deletefileAction()
            {
          // add new game
            
            $file_name = $this->getRequest()->getParam('file_name');
            
            if(file_exists(UPLOADS_PATH.$this->imgFolder.$file_name)){
                unlink(UPLOADS_PATH.$this->imgFolder.$file_name);
            }
	}
        
        public function deletegamefileAction(){
            $file_name = $this->getRequest()->getParam('file_name');
            if(file_exists(UPLOADS_PATH.$this->fileFolder.$file_name)){
                unlink(UPLOADS_PATH.$this->fileFolder.$file_name);
            }
        }
        public function gamecatoryAction()  
            {
            
            $geData = new Model_DbTable_gameImageCategories;
            $result = $geData->fetchAll();
            $i =0;
            $uniID = uniqid();
            echo '
		<select id="" name="data[GameImage][234599.'.$uniID.'][game_image_category_id]" class="change_cat">
		<option value="">-select-</option>
		';
			    foreach($result as $v)
			    {
			    echo '<option value="'.$v->id.'">'.$v->name.'</option>';
			    $i++;
			    }
	    echo"</select>
		";
        }  
        
	// GET GAME DETAISL BY ID
	 public function getgamebyidAction()
	{
	    $id=  $this->getRequest()->getParam('id');
	    $array = array();
	    $db = new Model_DbTable_Games;
	    $game = $db->fetchRow("id ='".$id."'");
	    $array['name'] = $game->name;
	    $array['description'] = $game->description;
	    $array['gamehelp'] = $game->gamehelp;
	   
	    echo json_encode($array);
	}
	
	
	// Get Games Category
        public function getgamecategoryAction()
	{
         
          $db = new Model_DbTable_GameCategory;
          
          print_r($file);
	}
    public function testAction()
	{
      
	}
        
       public function setmylangAction(){
	    $id = $this->getRequest()->getParam('id');

	    if($id){
		$db = new  Model_DbTable_Users;
		$db->set_user_lang($id);

		}


	}
	public function chartsAction(){
	}
	
	
	// unzip file
	private function unzipfile($file){
		
		$path =UPLOADS_PATH."/games/".$file;
		
		if(file_exists($path)){
				$zip = new ZipArchive;
     $res = $zip->open($path);
	 $info =  explode('.zip',$file);
     if ($res === TRUE) {
         $zip->extractTo(UPLOADS_PATH."/games/");
         
		// unlink($path);
         echo $info[0]."/";
         $zip->close();
     } else {
         echo 'failed';
     }
	 	
		}else{
			echo "No file Found";
		}
		
	}
	
	
}

