<?php
/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.5 |
+ | CiviCRM version 4.6 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2014 |
+--------------------------------------------------------------------+
*/
class CRM_Import_DataSource_SQL extends CRM_Import_DataSource {
+ /**
+ * Provides information about the data source
+ *
+ * @return array collection of info about this data source
+ *
+ *
+ */
public function getInfo() {
return array('title' => ts('SQL Query'));
}
+ /**
+ * Set variables up before form is built
+ *
+ */
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 CRM_Core_Form $form
+ *
+ * @return void (operates directly on form argument)
+ */
public function buildQuickForm(&$form) {
$form->add('hidden', 'hidden_dataSource', 'CRM_Import_DataSource_SQL');
$form->add('textarea', 'sqlQuery', ts('Specify SQL Query'), 'rows=10 cols=45', TRUE);
$form->addFormRule(array('CRM_Import_DataSource_SQL', 'formRule'), $form);
}
- static function formRule($fields, $files, $form) {
+ /**
+ * @param $fields
+ * @param $files
+ * @param CRM_Core_Form $form
+ *
+ * @return array|bool
+ */
+ public static function formRule($fields, $files, $form) {
$errors = array();
// poor man's query validation (case-insensitive regex matching on word boundaries)
return $errors ? $errors : TRUE;
}
+ /**
+ * Process the form submission
+ *
+ */
public function postProcess(&$params, &$db, &$form) {
$importJob = new CRM_Contact_Import_ImportJob(
CRM_Utils_Array::value( 'import_table_name', $params ),
$form->set('importTableName', $importJob->getTableName());
}
}
-