fileupload.blade.php 4.12 KB
<?php
function mkdir_r ($dir)
{
  if (strlen($dir) == 0)return 0;
  if (is_dir($dir))return 1;
  elseif (dirname($dir) == $dir)return 1;
  return (mkdir_r(dirname($dir)) and mkdir($dir,0777));
}
$themehome=$wakka->GetThemePath('/');
$maxfilesize=3*1024*1024;$maxfilemsg='2MB';

  $error = "";
  $msg = "";
  $fileElementName = $_POST['name'];
  //if($fileElementName=="photograph"){$maxfilesize=30*1024;$maxfilemsg='30KB';}

  //Allow onle one instance of File Upload
  if(false)$error="Other File Uploads are Running, Please Wait for them to finish..";

  else if(!empty($_FILES[$fileElementName]['error']))
  {
    switch($_FILES[$fileElementName]['error'])
    {

      case '1':
	      $error = 'The uploaded file exceeds the upload_max_filesize directive in php.ini';
	      break;
      case '2':
	      $error = 'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form';
	      break;
      case '3':
	      $error = 'The uploaded file was only partially uploaded';
	      break;
      case '4':
	      $error = 'No file was uploaded.';
	      break;

      case '6':
	      $error = 'Missing a temporary folder';
	      break;
      case '7':
	      $error = 'Failed to write file to disk';
	      break;
      case '8':
	      $error = 'File upload stopped by extension';
	      break;
      case '999':
      default:
	      $error = 'No error code avaiable';
    }
  }
  else if(empty($_FILES[$fileElementName]['tmp_name']) || $_FILES[$fileElementName]['tmp_name'] == 'none')
  {
    $error = 'No file was uploaded..';
  }
  else if($_FILES[$fileElementName]["size"]>$maxfilesize)
  {
    $error="Please Upload file smaller then $maxfilemsg";
  }
  else 
  {
    $msg .= " File Name= " . $_FILES[$fileElementName]['name'] . "| ";
    $msg .= " File Size= " . @filesize($_FILES[$fileElementName]['tmp_name']);
    //for security reason, we force to remove all uploaded file
    
    $varid=$_POST['varid'];
    $filename=explode(".",$_FILES[$fileElementName]['name']);

    $filenameNew=$varid."_".$fileElementName.".".$filename[(sizeof($filename)-1)];
    $filenamePdf=$varid."_".$fileElementName.".pdf";
    if($fileElementName=="genericfileselect")
    {
      $filenameNew=$varid."_G_".str_replace(" ","_",$_POST['gr']).".".$filename[(sizeof($filename)-1)];
      $filenamePdf=$varid."_G_".str_replace(" ","_",$_POST['gr']).".pdf";
    }
    $destfile = "$themehome/recruits/$varid/$filenameNew";
    $destfilepdf ="$themehome/recruits/$varid/$filenamePdf";

    if (!is_dir("$themehome/recruits/$varid"))mkdir_r("$themehome/recruits/$varid");
    if (!is_dir("$themehome/thumbs/$varid"))mkdir_r("$themehome/thumbs/$varid");

    //rename if exists
    if(file_exists($destfilepdf))rename($destfilepdf, "$themehome/recruits/$varid/OLD__$filenamePdf");


    if(!move_uploaded_file($_FILES[$fileElementName]['tmp_name'], $destfile))$error="File cannot be uploaded to folder: $varid";
    if($error=="")
    {
      if(strtolower($filename[(sizeof($filename)-1)])=="pdf")rename("$destfile","$destfile.pdf");
      else if(strtolower($filename[(sizeof($filename)-1)])=="txt")exec("convert -quality 200% -compress zip \"$destfile\" \"$destfile.pdf\"");
      else exec("convert -quality 100% -units PixelsPerInch -density 200 -resize 200% -compress zip \"$destfile\" \"$destfile.pdf\"");

      exec("convert -adjoin -quality 100% -units PixelsPerInch -density 100 -resize 100% -compress zip \"$themehome/recruits/$varid/OLD__$filenamePdf\" \"$destfile.pdf\" \"$destfilepdf\"");
      exec("convert -quality 100% -delay 100 -thumbnail x400 \"$destfilepdf\" \"$themehome/thumbs/$varid/$filenamePdf.gif\"");
    }


    @unlink($_FILES[$fileElementName]);
    if($filename[(sizeof($filename)-1)]!="pdf")@unlink("$destfile.pdf");	
    else rename("$destfile.pdf","$destfile");
    if($filename[(sizeof($filename)-1)]!="pdf")if(file_exists($destfilepdf))@unlink($destfile);


    $personarr=$wakka->getPerson($varid);
    $personarr['peopledata'][$fileElementName].=" ".$wakka->safeString($_FILES[$fileElementName]['name']."~".$wakka->GetUserName()."~".date("Y-m-d H:i:s"));
    $wakka->setPerson($varid,$personarr);

  }
  echo '{"error":"'.$error.'","msg":"'.$msg.'"}';
?>