Пример #1
0
 private function putfile()
 {
     require_once JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_onepage' . DS . 'assets' . DS . 'export_helper.php';
     $ehelper = new OnepageTemplateHelper();
     // no direct access
     // POST: tid, localid, file, hash,
     $tid = JRequest::getVar('tid');
     $localid = JRequest::getVar('localid');
     //$ehelper->setStatus($tid, $localid, 'RECEIVING');
     $hash = JRequest::getVar('hash');
     $hash2 = $ehelper->getFileHash($tid);
     $eitem = $ehelper->getExportItem($tid, $localid);
     $tt = $ehelper->getTemplate($tid);
     jimport('joomla.filesystem.file');
     $tname = $tid;
     $tname = JFile::makesafe($tname);
     $ex = JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_onepage' . DS . 'export' . DS;
     $exf = $ex . $tname;
     if (empty($_FILES)) {
         JFactory::getApplication()->close();
     }
     if (strtolower($hash) == $hash2 && is_numeric($tid)) {
         $ehelper->prepareDirectory($tid);
         // here we should have autoincrement value instead of order id=local id
         $fileName = $_FILES['file_contents']['name'];
         $fileTemp = $_FILES['file_contents']['tmp_name'];
         $num = $eitem['ai'];
         if (!isset($num)) {
             $num = $localid;
         } else {
             $num = $num;
         }
         if (is_numeric($num)) {
             $num = $ehelper->addZeros($num, 4);
         }
         $tn = JFile::makesafe($tt['tid_name']);
         $path = $exf . DS . $num . '_' . $tn . '.pdf';
         $path = $ehelper->getFileName2Save($tid, $localid);
         if (file_exists($path)) {
             $xt = rand();
             JFile::move($path, $path . '_history_' . $xt . '.bck');
             //JFile::delete($path);
         }
         if (!JFile::upload($fileTemp, $path)) {
             $ehelper->setStatus($tid, $localid, 'ERROR');
             echo 'Error saving file!';
             //JFile::write($exf.DS.'log'.DS.'log.txt', var_export($fileTemp, true));
         } else {
             //echo 'Saving data: '.$tid.' '.$localid.' '.$path;
             // here we can send it to a customer
             $tt = $ehelper->getTemplate($tid);
             if ($ehelper->getStatus($tid, $localid) == 'AUTOPROCESSING') {
                 if (!empty($tt['tid_autocreate']) && !empty($tt['tid_email'])) {
                     $ehelper->setStatus($tid, $localid, 'CREATED', urlencode($path));
                     ob_start();
                     $ehelper->sendMail($tid, $localid, false);
                     $x = ob_get_clean();
                     //JFile::write($exf.DS.'log'.DS.'log.txt', 'sending mail'.$x);
                     //$ehelper->syntaxError();
                 }
             }
             $ehelper->setStatus($tid, $localid, 'CREATED', urlencode($path));
             echo 'File Saved OK!';
         }
         //file_put_contents($exf.DS.$localid.'_'.$tname.'.pdf', $file);
         /*
         else
         {
          echo 'ERROR: Nothing to save!';
         }
         */
         JFactory::getApplication()->close();
     } else {
         JFile::write($exf . DS . 'log' . DS . 'log.txt', 'secret not equal');
         $ehelper->setStatus($tid, $localid, 'ERROR');
         echo 'Secret not equal !';
         JFactory::getApplication()->close();
     }
 }
Пример #2
0
 function sendXmlMulti()
 {
     //echo 'Sending Multi Order Request... <br />';
     $tid = JRequest::getVar('tid');
     if (!is_numeric($tid)) {
         die;
     }
     $data = JRequest::get('post');
     $enum = 0;
     require_once JPATH_COMPONENT . DS . 'assets' . DS . 'export_helper.php';
     $ehelper = new OnepageTemplateHelper();
     $tt = $ehelper->getTemplate($tid);
     $ra = array();
     $localid = '';
     if ($tt['tid_type'] == 'ORDERS') {
         foreach ($data as $k => $v) {
             //echo '<br />'.$k.' '.$v;
             if (strpos($k, 'selectedorder') !== false) {
                 //echo 'Order: '.$v.'<br />';
                 $ra[] = $ehelper->getOrderDataEx($tid, $v, null, $enum);
                 $enum++;
                 //$ra = array_merge($ra, $arr);
                 if (!empty($localid)) {
                     $localid .= '_' . $v;
                 } else {
                     $localid .= $v;
                 }
             }
         }
         $oa = array();
         foreach ($ra as $va) {
             foreach ($va as $key => $val) {
                 $oa[$key] = $val;
             }
         }
         $ehelper->setStatus($tid, $localid, 'PROCESSING');
         $xml = $ehelper->getXml($tid, $localid, $oa);
         $hash = $ehelper->getFileHash($tid);
         $XPost = '&xml=' . urlencode((string) $xml);
         $ehelper->sendData($XPost);
         //file_put_contents(JPATH_ROOT.DS.'temp.xml', $xml);
     } else {
         if ($tt['tid_type'] == 'ORDER_DATA') {
             foreach ($data as $k => $v) {
                 //echo '<br />'.$k.' '.$v;
                 if (strpos($k, 'selectedorder') !== false) {
                     //echo 'Order: '.$v.'<br />';
                     $ra[] = $ehelper->getOrderDataEx($tid, $v);
                     $localid = $v;
                     $ehelper->setStatus($tid, $localid, 'PROCESSING');
                     $xml = $ehelper->getXml($tid, $localid);
                     $hash = $ehelper->getFileHash($tid);
                     $XPost = '&xml=' . urlencode((string) $xml);
                     $ehelper->sendData($XPost);
                     //file_put_contents(JPATH_ROOT.DS.'temp.xml', $xml);
                 }
             }
         } else {
             if ($tt['tid_type'] == 'ORDER_DATA_TXT') {
                 foreach ($data as $k => $v) {
                     //echo '<br />'.$k.' '.$v;
                     if (strpos($k, 'selectedorder') !== false) {
                         var_dump($v);
                         echo '<br />';
                         //echo 'Order: '.$v.'<br />';
                         $ra = $ehelper->getOrderDataEx($tid, $v);
                         $localid = $v;
                         $ehelper->processTxtTemplate($tid, $v, $ra);
                         //echo 'som tu';
                     }
                 }
             }
         }
     }
     echo $tt['tid_type'];
     $mainframe = JFactory::getApplication();
     $mainframe->close();
 }