<?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. |
| |
/**
*
* @package CRM
- * @copyright CiviCRM LLC (c) 2004-2013
+ * @copyright CiviCRM LLC (c) 2004-2014
* $Id: $
*
*/
/**
* Function to build the form
*
+ * @param bool $check
+ *
* @return void
* @access public
*/
$attributes['api_action'], TRUE
);
- $this->add('select', 'run_frequency', ts('Run frequency'),
- array('Daily' => ts('Daily'), 'Hourly' => ts('Hourly'), 'Always' => ts('Every time cron job is run'))
- );
-
+ $this->add('select', 'run_frequency', ts('Run frequency'), CRM_Core_SelectValues::getJobFrequency());
$this->add('textarea', 'parameters', ts('Command parameters'),
"cols=50 rows=6"
$this->addFormRule(array('CRM_Admin_Form_Job', 'formRule'));
}
+ /**
+ * @param $fields
+ *
+ * @return array|bool
+ * @throws API_Exception
+ */
static function formRule($fields) {
$errors = array();
require_once 'api/api.php';
- $apiRequest = array();
- $apiRequest['entity'] = CRM_Utils_String::munge($fields['api_entity']);
- $apiRequest['action'] = CRM_Utils_String::munge($fields['api_action']);
- $apiRequest['version'] = 3;
- $apiRequest += _civicrm_api_resolve($apiRequest); // look up function, file, is_generic
-
- if( !$apiRequest['function'] ) {
+ /** @var \Civi\API\Kernel $apiKernel */
+ $apiKernel = \Civi\Core\Container::singleton()->get('civi_api_kernel');
+ $apiRequest = \Civi\API\Request::create($fields['api_entity'], $fields['api_action'], array('version' => 3), NULL);
+ try {
+ $apiKernel->resolve($apiRequest);
+ } catch (\Civi\API\Exception\NotImplementedException $e) {
$errors['api_action'] = ts('Given API command is not defined.');
}
return empty($errors) ? TRUE : $errors;
}
+ /**
+ * @return array
+ */
function setDefaultValues() {
$defaults = array();
// CRM-10708
// job entity thats shipped with core is all lower case.
// this makes sure camel casing is followed for proper working of default population.
- if (CRM_Utils_Array::value('api_entity', $defaults)) {
+ if (!empty($defaults['api_entity'])) {
$defaults['api_entity'] = ucfirst($defaults['api_entity']);
}