Advertisement
Guest User

CRED media handler

a guest
Aug 9th, 2013
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.25 KB | None | 0 0
  1. public function uploadAttachments($post_id, &$fields, &$files, &$extra_files, $track=false)
  2.     {
  3.         // dependencies
  4.         require_once(ABSPATH.'/wp-admin/includes/file.php');
  5.         //CRED_Loader::loadThe('wp_handle_upload');
  6.        
  7.         // get ref here
  8.         $form=&$this->friendGet($this->_formBuilder, '&_formData');
  9.         // get ref here
  10.         $out_=&$this->friendGet($this->_formBuilder, '&out_');
  11.         $_form_fields=$out_['form_fields'];
  12.         $zebraForm=$this->friendGet($this->_formBuilder, '_zebraForm');
  13.        
  14.         // upload data
  15.         $all_ok=true;
  16.         // set featured image only if uploaded
  17.         $fkey='_featured_image';
  18.         $extra_files=array();
  19.         if (
  20.             array_key_exists($fkey, $_form_fields) &&
  21.             array_key_exists($fkey, $_FILES) &&
  22.             isset($_FILES[$fkey]['name']) &&
  23.             ''!=$_FILES[$fkey]['name']
  24.         )
  25.         {
  26.             $upload = wp_handle_upload($_FILES[$fkey], array('test_form'=>false, 'test_upload'=>false));
  27.             if(!isset($upload['error']) && isset($upload['file']))
  28.             {
  29.                 $extra_files[$fkey]['wp_upload']=$upload;
  30.                 if ($track) $tmp_data=$upload['url'];
  31.                 $zebraForm->controls[$_form_fields[$fkey][0]]->set_values(array('value'=>''));
  32.             }
  33.             else
  34.             {
  35.                 $all_ok=false;
  36.                 if ($track) $tmp_data=$this->getLocalisedMessage('upload_failed');
  37.                 $fields[$fkey]='';
  38.                 $extra_files[$fkey]['upload_fail']=true;
  39.                 $zebraForm->controls[$_form_fields[$fkey][0]]->set_values(array('value'=>''));
  40.                 $zebraForm->controls[$_form_fields[$fkey][0]]->addError($upload['error']);
  41.             }
  42.             if ($track)
  43.             {
  44.                 $this->trackData(array(__('Featured Image')=>$tmp_data));
  45.                 unset($tmp_data);
  46.             }
  47.         }
  48.        
  49.         foreach ($files as $fkey=>$fdata)
  50.         {
  51.             if ($fdata['repetitive'])
  52.             {
  53.                 if ($track) $tmp_data=array();
  54.                 //cred_log($fdata);
  55.                 foreach ($fdata as $ii=>$fdata2)
  56.                 {
  57.                     if (!isset($fdata2['file_data'][$fkey]) || !is_array($fdata2['file_data'][$fkey])) continue;
  58.                     $file_data=$fdata2['file_data'][$fkey];
  59.                     $upload = wp_handle_upload($file_data, array('test_form' => false,'test_upload'=>false));
  60.                     if(!isset($upload['error']) && isset($upload['file']))
  61.                     {
  62.                         $files[$fkey][$ii]['wp_upload']=$upload;
  63.                         $fields[$fkey][$ii]=$upload['url'];
  64.                         if ($track) $tmp_data[]=$upload['url'];
  65.                         $zebraForm->controls[$_form_fields[$files[$fkey]['name_orig']][0]]->set_values(array($ii=>array('value'=>$upload['url'])));
  66.                     }
  67.                     else
  68.                     {
  69.                         $all_ok=false;
  70.                         $files[$fkey]['upload_fail']=true;
  71.                         if ($track) $tmp_data[]=$this->getLocalisedMessage('upload_failed');
  72.                         $fields[$fkey][$ii]='';
  73.                         $files[$fkey][$ii]['upload_fail']=true;
  74.                         $zebraForm->controls[$_form_fields[$files[$fkey]['name_orig']][0]]->set_values(array($ii=>array('value'=>'')));
  75.                         $zebraForm->controls[$_form_fields[$files[$fkey]['name_orig']][0]]->addError(array($ii=>$upload['error']));
  76.                     }
  77.                 }
  78.                 if ($track)
  79.                 {
  80.                     $this->trackData(array($files[$fkey]['label']=>$tmp_data));
  81.                     unset($tmp_data);
  82.                 }
  83.             }
  84.             else
  85.             {
  86.                 if (!isset($fdata['file_data'][$fkey]) || !is_array($fdata['file_data'][$fkey])) continue;
  87.                
  88.                 $file_data=$fdata['file_data'][$fkey];
  89.                 $upload = wp_handle_upload($file_data, array('test_form' => false,'test_upload'=>false));
  90.                 if(!isset($upload['error']) && isset($upload['file']))
  91.                 {
  92.                     $files[$fkey]['wp_upload']=$upload;
  93.                     $fields[$fkey]=$upload['url'];
  94.                     if ($track) $tmp_data=$upload['url'];
  95.                     $zebraForm->controls[$_form_fields[$files[$fkey]['name_orig']][0]]->set_values(array('value'=>$upload['url']));
  96.                 }
  97.                 else
  98.                 {
  99.                     $all_ok=false;
  100.                     if ($track) $tmp_data=$this->getLocalisedMessage('upload_failed');
  101.                     $fields[$fkey]='';
  102.                     $files[$fkey]['upload_fail']=true;
  103.                     $zebraForm->controls[$_form_fields[$files[$fkey]['name_orig']][0]]->set_values(array('value'=>''));
  104.                     $zebraForm->controls[$_form_fields[$files[$fkey]['name_orig']][0]]->addError($upload['error']);
  105.                 }
  106.                 if ($track)
  107.                 {
  108.                     $this->trackData(array($files[$fkey]['label']=>$tmp_data));
  109.                     unset($tmp_data);
  110.                 }
  111.             }
  112.         }
  113.         return $all_ok;
  114.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement