コード例 #1
0
 /**
  * 
  *
  * @dataProvider provider
  *
  */
 public function testImportAttachmentsFromCSVFile($test_filename, $expected_result, $update, $dry_run)
 {
     $path = dirname(__FILE__) . '/' . $test_filename;
     // Open the CSV file
     $result = AttachmentsImport::importAttachmentsFromCSVFile($path, $verify_parent = true, $update, $dry_run);
     if (is_numeric($expected_result) && is_numeric($result)) {
         $this->assertEquals((int) $expected_result, (int) $result);
     } elseif (is_array($result)) {
         $this->assertEquals((int) $expected_result, count($result));
     } else {
         // Cut off the error number for comparison
         $errmsg = substr($result, 0, strpos($result, ' (ERR'));
         $this->assertEquals($expected_result, $errmsg);
     }
     // Delete the attachments
     if (!$update) {
         $db = JFactory::getDBO();
         if (is_array($result)) {
             $query = $db->getQuery(true);
             $ids = implode(',', $result);
             $query->delete('#__attachments')->where("id IN ( {$ids} )");
             $db->setQuery($query);
             if (!$db->query()) {
                 $this->assertTrue(false, 'ERROR deleting new test attachments' . $db->getErrorMsg());
             }
         }
     }
 }
コード例 #2
0
ファイル: utils.php プロジェクト: site4com/prometheus
 /**
  * Install attachments data from CSV file
  */
 public function installAttachmentsFromCsvFile()
 {
     // Access check.
     if (!JFactory::getUser()->authorise('core.admin', 'com_attachments')) {
         return JError::raiseError(404, JText::_('JERROR_ALERTNOAUTHOR') . ' (ERR 160)');
     }
     require_once JPATH_ADMINISTRATOR . '/components/com_attachments/import.php';
     $filename = JRequest::getString('filename', null);
     if ($filename == null) {
         $errmsg = JText::_('ATTACH_ERROR_MUST_ADD_FILENAME_TO_URL') . ' (ERR 161)';
         return JError::raiseError(500, $errmsg);
     }
     $verify_parent = JRequest::getBool('verify_parent', true);
     $update = JRequest::getBool('update', false);
     $dry_run = JRequest::getBool('dry_run', false);
     $status = AttachmentsImport::importAttachmentsFromCSVFile($filename, $verify_parent, $update, $dry_run);
     // Abort if it is an error message
     if (is_string($status)) {
         return JError::raiseError(500, $status);
     }
     // Otherwise, report the results
     if (is_array($status)) {
         $msg = JText::sprintf('ATTACH_ADDED_DATA_FOR_N_ATTACHMENTS', count($status));
         $this->setRedirect('index.php?option=com_attachments', $msg);
     } else {
         if ($dry_run) {
             $msg = JText::sprintf('ATTACH_DATA_FOR_N_ATTACHMENTS_OK', $status) . ' (ERR 162)';
             return JError::raiseNotice(200, $msg);
         } else {
             $errmsg = JText::sprintf('ATTACH_ERROR_IMPORTING_ATTACHMENTS_S', $status) . ' (ERR 163)';
             return JError::raiseError(500, $errmsg);
         }
     }
 }