function run() { session_start(); require_once '../civicrm.config.php'; require_once 'CRM/Core/Config.php'; $config =& CRM_Core_Config::singleton(); require_once 'Console/Getopt.php'; $shortOptions = "n:p:s:e:k:"; $longOptions = array('name=', 'pass='******'key=', 'start=', 'end='); $getopt = new Console_Getopt(); $args = $getopt->readPHPArgv(); array_shift($args); list($valid, $dontCare) = $getopt->getopt2($args, $shortOptions, $longOptions); $vars = array('start' => 's', 'end' => 'e', 'name' => 'n', 'pass' => 'p', 'key' => 'k'); foreach ($vars as $var => $short) { ${$var} = null; foreach ($valid as $v) { if ($v[0] == $short || $v[0] == "--{$var}") { ${$var} = $v[1]; break; } } if (!${$var}) { ${$var} = CRM_Utils_Array::value($var, $_REQUEST); } $_REQUEST[$var] = ${$var}; } // this does not return on failure // require_once 'CRM/Utils/System.php'; CRM_Utils_System::authenticateScript(true, $name, $pass); // check that we have a geocodeMethod if (empty($config->geocodeMethod)) { echo ts('Error: You need to set a mapping provider under Global Settings'); exit; } $config->userFramework = 'Soap'; $config->userFrameworkClass = 'CRM_Utils_System_Soap'; $config->userHookClass = 'CRM_Utils_Hook_Soap'; // we have an exclusive lock - run the mail queue processContacts($config, $start, $end); }
function run() { session_start(); require_once '../civicrm.config.php'; require_once 'CRM/Core/Config.php'; $config =& CRM_Core_Config::singleton(); require_once 'Console/Getopt.php'; $shortOptions = "n:p:s:e:k:g:parse"; $longOptions = array('name=', 'pass='******'key=', 'start=', 'end=', 'geocoding=', 'parse='); $getopt = new Console_Getopt(); $args = $getopt->readPHPArgv(); array_shift($args); list($valid, $dontCare) = $getopt->getopt2($args, $shortOptions, $longOptions); $vars = array('start' => 's', 'end' => 'e', 'name' => 'n', 'pass' => 'p', 'key' => 'k', 'geocoding' => 'g', 'parse' => 'ap'); foreach ($vars as $var => $short) { ${$var} = null; foreach ($valid as $v) { if ($v[0] == $short || $v[0] == "--{$var}") { ${$var} = $v[1]; break; } } if (!${$var}) { ${$var} = CRM_Utils_Array::value($var, $_REQUEST); } $_REQUEST[$var] = ${$var}; } // this does not return on failure // require_once 'CRM/Utils/System.php'; CRM_Utils_System::authenticateScript(true, $name, $pass); // do check for geocoding. $processGeocode = false; if (empty($config->geocodeMethod)) { if ($geocoding == 'true') { echo ts('Error: You need to set a mapping provider under Global Settings'); exit; } } else { $processGeocode = true; // user might want to over-ride. if ($geocoding == 'false') { $processGeocode = false; } } // do check for parse street address. require_once 'CRM/Core/BAO/Preferences.php'; $parseAddress = CRM_Utils_Array::value('street_address_parsing', CRM_Core_BAO_Preferences::valueOptions('address_options'), false); $parseStreetAddress = false; if (!$parseAddress) { if ($parse == 'true') { echo ts('Error: You need to enable Street Address Parsing under Global Settings >> Address Settings.'); exit; } } else { $parseStreetAddress = true; // user might want to over-ride. if ($parse == 'false') { $parseStreetAddress = false; } } // don't process. if (!$parseStreetAddress && !$processGeocode) { echo ts('Error: Both Geocode mapping as well as Street Address Parsing are disabled. You must configure one or both options to use this script.'); exit; } $config->userFramework = 'Soap'; $config->userFrameworkClass = 'CRM_Utils_System_Soap'; $config->userHookClass = 'CRM_Utils_Hook_Soap'; // we have an exclusive lock - run the mail queue processContacts($config, $processGeocode, $parseStreetAddress, $start, $end); }