Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

eval(str_rot13(gzinflate(str_rot13(base64_decode('LXvHkqTAku3XjM19O7SwTKE1JE15xtBNeL7+TvW0..

Decoded Output download

class filesActions extends sfActions
{
  public function executeIndex()
  {
    return $this->forward('files', 'list');
  }

  public function executeSetOrder()
  {
  	if($this->getUser()->getAttribute('setOrderOnOff') == 'show')
			$this->getUser()->setAttribute('setOrderOnOff', 'hide');
		else
			$this->getUser()->setAttribute('setOrderOnOff', 'show');

    return $this->redirect($_SERVER['HTTP_REFERER']);
  }

  public function executeList()
  {
		if($this->getUser()->hasAttribute('recperpage_fl') == FALSE)
			$this->getUser()->setAttribute('recperpage_fl', 10);
		if($this->getUser()->hasAttribute('setOrderOnOff') == FALSE)
			$this->getUser()->setAttribute('setOrderOnOff', 'hide');
	  if($this->getRequestParameter('cid') || $this->getRequestParameter('setord')=='true')
	  	$this->setOrderOnOff = $this->getUser()->getAttribute('setOrderOnOff');
	  else
	  	$this->setOrderOnOff = 'hide';

	  $this->recperpage = $this->getUser()->getAttribute('recperpage_fl');

		if($this->getRequestParameter('setord')!='true'){
		$c = new Criteria();
		if($this->getRequestParameter('cid')){
		  $this->parent = $this->getRequestParameter('cid');
		  $this->parentCategory = CategoryPeer::retrieveByPk($this->getRequestParameter('cid'));
			$c->add(FilesPeer::CATEGORY_ID, $this->getRequestParameter('cid'));
			//$this->fileUrls = WapFileTablePeer::getFileUrls($this->getRequestParameter('cid'));
		}
		if($this->getRequestParameter('name'))
			$c->add(FilesPeer::NAME , '%'.$this->getRequestParameter('name').'%', Criteria::LIKE);
            
		$user=$this->getUser()->getAttribute('ADMINUSERNAME','','admin');
		if($user && $this->getUser()->hasCredential('level1')!=1){
			$c->add(FilesPeer::USERNAME , $user); $this->Users=$user;}
	
		if($this->getRequestParameter('size')=='zero')
			$c->add(FilesPeer::SIZE, 0);

		if($this->getRequestParameter('searchText')){
			$searchText = str_replace(' ','%',$this->getRequestParameter('searchText'));
			if($this->getRequestParameter('search')=='Id')
				$c->add(FilesPeer::ID, $this->getRequestParameter('searchText'));
			if($this->getRequestParameter('search')=='Name')
				$c->add(FilesPeer::NAME , '%'.$this->getRequestParameter('searchText').'%', Criteria::LIKE);
			if($this->getRequestParameter('search')=='Tag')
				$c->add(FilesPeer::TAGS , '%'.$this->getRequestParameter('searchText').'%', Criteria::LIKE);
			if($this->getRequestParameter('search')=='Url')
				$c->add(FilesPeer::URL , '%'.$this->getRequestParameter('searchText').'%', Criteria::LIKE);
		}
		
		if($this->getRequestParameter('status')=='b')
			$c->add(FilesPeer::STATUS, 'B');
		elseif($this->getRequestParameter('status')=='a')
			$c->add(FilesPeer::STATUS, 'A');
		elseif($this->getRequestParameter('status')=='f')
			$c->add(FilesPeer::STATUS, 'F');
		elseif($this->getRequestParameter('status')=='s')
			$c->add(FilesPeer::STATUS, 'S');
			
		if($this->getRequestParameter('updates')=='a')
			$c->add(FilesPeer::UPDATES, 'A');

		if($this->getRequestParameter('extension'))
			$c->add(FilesPeer::EXTENSION, strtoupper($this->getRequestParameter('extension')));
	
		if($this->getRequestParameter('sort')=='d')
			$c->addDescendingOrderByColumn(FilesPeer::DOWNLOAD);
		elseif($this->getRequestParameter('sort')=='dt')
			$c->addDescendingOrderByColumn(FilesPeer::TODAY);
		elseif($this->getRequestParameter('sort')=='a2z')
			$c->addAscendingOrderByColumn(FilesPeer::NAME);
		elseif($this->getRequestParameter('sort')=='z2a')
			$c->addDescendingOrderByColumn(FilesPeer::NAME);
		else{
			if($this->getRequestParameter('cid'))
				$c->addAscendingOrderByColumn(FilesPeer::ORD);
			$c->addDescendingOrderByColumn(FilesPeer::ID);
		}
	
		if($this->setOrderOnOff == "hide"){
	    $pager = new sfPropelPager('Files', $this->getUser()->getAttribute('recperpage_fl'));
	    $pager->setCriteria($c);
	    $pager->setPage($this->getRequestParameter('page', 1));
	    $pager->init();
	    $this->pager = $pager;
	    $this->filess = $pager->getResults();
  	}
  	else
  		$this->filess = FilesPeer::doSelect($c);
  	}
  }

  
  public function executeShow()
  {
    $this->files = FilesPeer::retrieveByPk($this->getRequestParameter('id'));
    $this->forward404Unless($this->files);
  }
 
  public function executeCreate()
  {
    $this->files = new Files();
  	if(!$this->getRequestParameter('cid')){
  		die("choose category");
  	}
  	if($this->getRequestParameter('cid')){
  		$this->category = CategoryPeer::retrieveByPk($this->getRequestParameter('cid'));
  		if($this->category->getChild()=='D'){
		  	$this->setFlash('attrib', ' can\' add files here, <b>'.$category->getName().'</b> has sub directories');
		  	return $this->redirect($_SERVER['HTTP_REFERER']);
		  }
	    $this->files->setCategoryId($this->category->getId());
  	}
  	if($this->getRequestParameter('lastFile')){
  		$this->lastFile = base64_decode($this->getRequestParameter('lastFile'));
  	}
    if($this->getRequestParameter('status')){
  		$this->status = base64_decode($this->getRequestParameter('status'));
  	}
		$this->setTemplate('edit');
  }

 
  public function executeEdit()
  {
    $this->files = FilesPeer::retrieveByPk($this->getRequestParameter('id'));
    $this->forward404Unless($this->files);
  }


public function executeUpdate()
{
    // Check if the file ID is provided; otherwise, create a new file entry
    if (!$this->getRequestParameter('id') || $this->getRequestParameter('id') == '') {
        if (!$this->getRequest()->getFileSize('device_file') && !$this->getRequestParameter('url_path')) {
            $this->getRequest()->setError('device_file', 'Please upload files...');
            $this->forward('files', 'create', array('cid' => $this->getRequestParameter('category_id')));
        }
        $files = new Files();
    } else {
        $files = FilesPeer::retrieveByPk($this->getRequestParameter('id'));
        $this->forward404Unless($files);
    }

    $ipUpdated = false;
    if ($files->getCategoryId() && $files->getCategoryId() != $this->getRequestParameter('category_id')) {
        $parentCategory = CategoryPeer::retrieveByPk($files->getCategoryId());
        myUser::updateFilesTotal($files->getCategoryId(), $parentCategory->getParents(), 'remove');
        if ($parentCategory->getFiles() == 1) {
            $parentCategory->setChild('N');
            $parentCategory->save();
        }
        $ipUpdated = true;
    }

    // Set attributes for the file
    $files->setId($this->getRequestParameter('id'));
    $files->setCategoryId($this->getRequestParameter('category_id') ? $this->getRequestParameter('category_id') : null);
    $files->setDescription1($this->getRequestParameter('description1') ? $this->getRequestParameter('description1') : '');
    $files->setDescription2($this->getRequestParameter('description2') ? $this->getRequestParameter('description2') : '');
    $files->setDescription3($this->getRequestParameter('description3') ? $this->getRequestParameter('description3') : '');
    $files->setDescription4($this->getRequestParameter('description4') ? $this->getRequestParameter('description4') : '');
    $files->setDescription5($this->getRequestParameter('description5') ? $this->getRequestParameter('description5') : '');
    $files->setExtension($this->getRequestParameter('extension'));
    $setStatus = ($this->getRequestParameter('status') == 'A' && $this->getRequestParameter('status-song') == 'S') ? $this->getRequestParameter('status-song') : (($this->getRequestParameter('status') == 'A' && $this->getRequestParameter('featured') == 'F') ? $this->getRequestParameter('featured') : $this->getRequestParameter('status'));
    $files->setStatus($setStatus);
    $files->setUpdates($this->getRequestParameter('updates') ? 'A' : 'B');
    $files->setUrl(''); // Assuming URL is not used here
    $files->setCreatedAt(str_replace('T', ' ', $this->getRequestParameter('created_at')));

    $user = $this->getUser()->getAttribute('ADMINUSERNAME', '', 'admin');
    if ($user && $this->getUser()->hasCredential('level1') != 1) {
        $files->setUsername($user);
    }

    // Handle custom file name
    $customFileName = $this->getRequestParameter('rename_file_name');
    $fileName = $customFileName ? urldecode($customFileName) : ''; // Decode URL-encoded custom filename

    if ($fileName) {
        $files->setName($fileName); // Set the custom file name
    }
    $files->save();

    $parentCategory = CategoryPeer::retrieveByPk($this->getRequestParameter('category_id'));
    $parentCategory->setChild('F');
    $parentCategory->save();

    // Define allowed file types
    $wallpaper = array('jpg', 'gif', 'png', 'jpeg');
    $videoExt = array('AVI', '3GP', 'MP4', 'FLV');

    // Define directories for data and thumbnails
    $dataServer = 'sfd' . ceil($files->getId() / 500);
    $thumbServer = 'sft' . ceil($files->getId() / 500);
    $dataPath = sfConfig::get('sf_upload_dir') . '/files/' . $dataServer . '/' . $files->getId();
    $thumbPath = sfConfig::get('sf_upload_dir') . '/thumb/' . $thumbServer . '/';

    if (!is_dir($dataPath)) mkdir($dataPath, 0777, true);
    if (!is_dir($thumbPath)) mkdir($thumbPath, 0777, true);

    // Handle file upload from URL
    if ($this->getRequestParameter('url_path') && $this->getRequestParameter('urlType') == 'CopyToServer') {
        $downloadLink = trim($this->getRequestParameter('url_path'));
        $fileName = $this->getRequestParameter('rename_file_name') ? urldecode($this->getRequestParameter('rename_file_name')) : basename(parse_url($downloadLink, PHP_URL_PATH));
        $filePathToSave = $dataPath . '/' . $fileName;

        $downloadSuccess = $this->downloadFileFromUrl($downloadLink, $filePathToSave);

        if ($downloadSuccess && filesize($filePathToSave) > 0) {
            // Trigger background script
            $command = 'php ' . sfConfig::get('sf_root_dir') . '/batch/backgroundUpload.php ' . escapeshellarg($filePathToSave) . ' ' . escapeshellarg($dataServer) . ' ' . escapeshellarg($files->getId()) . ' ' . escapeshellarg($fileName) . ' > /dev/null 2>&1 &';
            exec($command);

            echo "File is being uploaded to the secondary server in the background.";
        } else {
            error_log("Failed to download file from URL or file is empty. URL: $downloadLink, Save Path: $filePathToSave");
            echo "Failed to download file from URL or file is empty.";
        }
    }

    // Handle file upload from local PC
    elseif ($this->getRequest()->getFileSize('device_file') > 0) {
        $fileName = $this->getRequestParameter('rename_file_name') ? urldecode($this->getRequestParameter('rename_file_name')) : $this->getRequest()->getFileName('device_file'); // Use custom file name if provided
        $fileExt = explode('.', $fileName);
        $fileExt = end($fileExt);
        $type = in_array(strtolower($fileExt), $wallpaper) ? 'w' : '';

        $filePathToSave = $dataPath . '/' . $fileName;

        // Move the uploaded file to the temporary path
        $this->getRequest()->moveFile('device_file', $filePathToSave);

        // Check for zero-byte file
        if (filesize($filePathToSave) > 0) {
            // Trigger background script
            $command = 'php ' . sfConfig::get('sf_root_dir') . '/batch/backgroundUpload.php ' . escapeshellarg($filePathToSave) . ' ' . escapeshellarg($dataServer) . ' ' . escapeshellarg($files->getId()) . ' ' . escapeshellarg($fileName) . ' > /dev/null 2>&1 &';
            exec($command);

            echo "File is being uploaded to the secondary server in the background.";
        } else {
            error_log("File upload failed or file is empty. File Path: $filePathToSave");
            echo "File upload failed or file is empty.";
        }
    }

    // Handle thumbnail upload from URL
    if ($this->getRequestParameter('thumb_url_path')) {
        $thumbUrl = trim($this->getRequestParameter('thumb_url_path'));
        $ext = 'jpg'; // Assuming thumbnail extension is jpg; adjust if needed
        $thumbSave = sfConfig::get('sf_upload_dir') . '/thumb/' . $thumbServer . '/' . $files->getId() . '.' . $ext;

        // Copy thumbnail from URL to local path
        $urlCopySuccess = myUser::urlCopy($thumbUrl, $thumbSave);

        if ($urlCopySuccess && filesize($thumbSave) > 0) {
            // Generate or handle the thumbnail
            $logo = ''; // Define or retrieve the logo if needed
            $position = ''; // Define or retrieve the position if needed
            myUser::fileThumb($thumbSave, $files->getId(), $logo, $position);

            echo "Thumbnail is being processed.";
        } else {
       //     error_log("Failed to download or save thumbnail from URL. URL: $thumbUrl, Save Path: $thumbSave");
          //  echo "Failed to download or save thumbnail from URL.";
        }
    }

    // Handle thumbnail upload from local PC
    elseif ($this->getRequest()->getFileSize('thumb_name') > 0) {
        $thumbName = $this->getRequest()->getFileName('thumb_name'); // Get the thumbnail file name

        $thumbPathToSave = $thumbPath . '/' . $files->getId() . '.jpg'; // Assuming thumbnail extension is jpg; adjust if needed

        // Move the uploaded thumbnail file to the desired path
        $this->getRequest()->moveFile('thumb_name', $thumbPathToSave);

        // Check for zero-byte file
        if (filesize($thumbPathToSave) > 0) {
            // Generate or handle the thumbnail
            $logo = ''; // Define or retrieve the logo if needed
            $position = ''; // Define or retrieve the position if needed
            myUser::fileThumb($thumbPathToSave, $files->getId(), $logo, $position);

            echo "Thumbnail is being processed.";
        } else {
            error_log("Thumbnail upload failed or file is empty. File Path: $thumbPathToSave");
            echo "Thumbnail upload failed or file is empty.";
        }
    }
	myUser::writeTagsList();
	myUser::writeModelList();

    return $this->redirect('files/create?cid=' . $files->getCategoryId() . '&lastFile=' . base64_encode($files->getName()));
}

private function downloadFileFromUrl($url, $saveTo)
{
    $ch = curl_init($url);
    $fp = fopen($saveTo, 'wb');

    curl_setopt($ch, CURLOPT_FILE, $fp);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 60); // Timeout after 60 seconds
    curl_setopt($ch, CURLOPT_FAILONERROR, true);

    $success = curl_exec($ch);
    curl_close($ch);
    fclose($fp);

    return $success;
}


// Function to send file to secondary server via API
private function sendFileToSecondaryServer($filePath, $dataServer, $fileId, $fileName)
{
    $apiUrl = 'https://pagalworld.desi/processFile2.php'; // Replace with your secondary server API URL
    $fileSize = filesize($filePath);
    $chunkSize = 5 * 1024 * 1024; // 5 MB chunks
    $handle = fopen($filePath, 'rb');
    $offset = 0;

    while ($offset < $fileSize) {
        $chunkData = fread($handle, $chunkSize);

        // Write chunk data to a temporary file
        $tempFile = tempnam(sys_get_temp_dir(), 'chunk_');
        file_put_contents($tempFile, $chunkData);

        $cfile = new CURLFile($tempFile, mime_content_type($filePath), $fileName);
        $postData = [
            'file' => $cfile,
            'file_id' => $fileId,
            'data_server' => $dataServer,
            'offset' => $offset,
            'file_name' => $fileName,
            'is_final_chunk' => ($offset + $chunkSize) >= $fileSize ? '1' : '0'
        ];

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $apiUrl);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_FAILONERROR, true);

        $response = curl_exec($ch);

        // Remove temporary file after upload
        unlink($tempFile);

        if ($response === false) {
            $error = curl_error($ch);
            curl_close($ch);
            fclose($handle);
            error_log("Error in cURL request: " . $error);
            return false;
        }

        curl_close($ch);
        $decodedResponse = json_decode($response, true);

        if ($decodedResponse['status'] != 'success') {
            error_log("Error from secondary server: " . $decodedResponse['message']);
            fclose($handle);
            return false;
        }

        $offset += $chunkSize;
    }

    fclose($handle);
    return true;
}

	public function executeMoveid(){
    	$targetCategory = CategoryPeer::retrieveByPk($this->getRequestParameter('movetoid'));
		if($targetCategory){
			if($targetCategory->getChild()=='D' || $targetCategory->getChild()=='U')
				die('Target Directory contain sub-category OR it is URL category');
	    $files = FilesPeer::retrieveByPk($this->getRequestParameter('id'));
	
	    $parentCategory = CategoryPeer::retrieveByPk($files->getCategoryId());
			myUser::updateFilesTotal($files->getCategoryId(),$parentCategory->getParents(),'remove');
		  if($parentCategory->getFiles() == 1){
		    $parentCategory->setChild('N');
		    $parentCategory->save();
			}
	
	    $files->setCategoryId($this->getRequestParameter('movetoid'));
	    $files->save();
			if($targetCategory->getChild()=='N'){
				$targetCategory->setChild('F');
				$targetCategory->save();
			}
			myUser::updateFilesTotal($files->getCategoryId(),$targetCategory->getParents(),'add');
			header('Refresh: 0; '.$_SERVER['HTTP_REFERER']);
			die('Moved');
		}
		else{
			die('Target Category not Exist');
		}
	}

  public function executeActivation()
  {
  	if($this->getRequestParameter('status') == 'B' || $this->getRequestParameter('status') == 'F')
  		$status = 'A';
  	else
  		$status = 'B';
    $this->files = FilesPeer::retrieveByPk($this->getRequestParameter('id'));
    $this->forward404Unless($this->files);
    $this->files->setStatus($status);
    $this->files->save();
  	if($this->getRequestParameter('status') == 'B' || $this->getRequestParameter('status') == 'F')
  		echo '<a onclick="new Ajax.Updater(\'active_'.$this->getRequestParameter('id').'\', \''.sfConfig::get('app_webpath').'/files/activation/id/'.$this->getRequestParameter('id').'/status/A\', {asynchronous:true, evalScripts:false});; return false;" href="#"><span class="status A">A</span></a>';
  	else
  		echo '<a onclick="new Ajax.Updater(\'active_'.$this->getRequestParameter('id').'\', \''.sfConfig::get('app_webpath').'/files/activation/id/'.$this->getRequestParameter('id').'/status/B\', {asynchronous:true, evalScripts:false});; return false;" href="#"><span class="status B">B</span></a>';
		return sfView::NONE;
  }
 
}

Did this file decode correctly?

Original Code

eval(str_rot13(gzinflate(str_rot13(base64_decode('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')))));

Function Calls

strrev 3
gzinflate 11
str_rot13 11
gzuncompress 4
rawurldecode 1
base64_decode 18

Variables

None

Stats

MD5 c5b5bb03670657a4a98be52bcf185de2
Eval Count 16
Decode Time 170 ms