Merge remote-tracking branch 'upstream/4.4' into 4.4-4.5-2014-10-14-11-16-10
[civicrm-core.git] / CRM / Import / DataSource / CSV.php
index 7e6e1881ece1bc74ee11ddd920a597e8e22dda63..60e90b77d945c67d8e81b89681d302d8f4d65342 100644 (file)
@@ -1,9 +1,9 @@
 <?php
 /*
  +--------------------------------------------------------------------+
- | CiviCRM version 4.4                                                |
+ | CiviCRM version 4.5                                                |
  +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2013                                |
+ | Copyright CiviCRM LLC (c) 2004-2014                                |
  +--------------------------------------------------------------------+
  | This file is a part of CiviCRM.                                    |
  |                                                                    |
@@ -28,7 +28,7 @@
 /**
  *
  * @package CRM
- * @copyright CiviCRM LLC (c) 2004-2013
+ * @copyright CiviCRM LLC (c) 2004-2014
  * $Id$
  *
  */
@@ -36,23 +36,44 @@ class CRM_Import_DataSource_CSV extends CRM_Import_DataSource {
   CONST
     NUM_ROWS_TO_INSERT = 100;
 
+  /**
+   * Provides information about the data source
+   *
+   * @return array collection of info about this data source
+   *
+   * @access public
+   *
+   */
   function getInfo() {
     return array('title' => ts('Comma-Separated Values (CSV)'));
   }
 
+  /**
+   * Function to set variables up before form is built
+   *
+   * @access public
+   */
   function preProcess(&$form) {}
 
+  /**
+   * This is function is called by the form object to get the DataSource's
+   * form snippet. It should add all fields necesarry to get the data
+   * uploaded to the temporary table in the DB.
+   *
+   * @param $form
+   *
+   * @return void (operates directly on form argument)
+   * @access public
+   */
   function buildQuickForm(&$form) {
     $form->add('hidden', 'hidden_dataSource', 'CRM_Import_DataSource_CSV');
 
     $config = CRM_Core_Config::singleton();
 
-    // FIXME: why do we limit the file size to 8 MiB if it's larger in config?
-    $uploadFileSize = $config->maxImportFileSize >= 8388608 ? 8388608 : $config->maxImportFileSize;
+    $uploadFileSize = CRM_Core_Config_Defaults::formatUnitSize($config->maxFileSize.'m');
     $uploadSize = round(($uploadFileSize / (1024 * 1024)), 2);
     $form->assign('uploadSize', $uploadSize);
-    $form->add('file', 'uploadFile', ts('Import Data File'), 'size=30 maxlength=255', TRUE);
-
+    $form->add('File', 'uploadFile', ts('Import Data File'), 'size=30 maxlength=255', TRUE);
     $form->setMaxFileSize($uploadFileSize);
     $form->addRule('uploadFile', ts('File size should be less than %1 MBytes (%2 bytes)', array(1 => $uploadSize, 2 => $uploadFileSize)), 'maxfilesize', $uploadFileSize);
     $form->addRule('uploadFile', ts('Input file must be in CSV format'), 'utf8File');
@@ -61,9 +82,13 @@ class CRM_Import_DataSource_CSV extends CRM_Import_DataSource {
     $form->addElement('checkbox', 'skipColumnHeader', ts('First row contains column headers'));
   }
 
+  /**
+   * Function to process the form
+   *
+   * @access public
+   */
   function postProcess(&$params, &$db, &$form) {
     $file = $params['uploadFile']['name'];
-
     $result = self::_CsvToTable($db,
       $file,
       CRM_Utils_Array::value('skipColumnHeader', $params, FALSE),
@@ -219,6 +244,11 @@ class CRM_Import_DataSource_CSV extends CRM_Import_DataSource {
   }
 }
 
+/**
+ * @param $string
+ *
+ * @return string
+ */
 function civicrm_mysql_real_escape_string($string) {
   static $dao = NULL;
   if (!$dao) {