*
*/
-$G_curl_de_sac_version = "0.1";
+define('CURL_DE_SAC_VERS', '0.1');
+$G_curl_de_sac_vers = CURL_DE_SAC_VERS;
class CDS_cmd {
var $cmd_cls;
$this->cds = $cds;
}
- static function pre_create($cds, $url)
+ static function pre_create($cds, $url, $opts=NULL)
{
if ($cds->dbg_get() > 2) { printf("CURL: curl_init\n"); }
if (($ch = curl_init()) == FALSE)
return FALSE;
curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_HEADER, 0);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($ch, CURLOPT_FORBID_REUSE, true);
- curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: close'));
+ if ($opts == NULL) {
+ curl_setopt($ch, CURLOPT_HEADER, 0);
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+ curl_setopt($ch, CURLOPT_FORBID_REUSE, true);
+ curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: close'));
+ }
+ else {
+ foreach($opts as $opt => $value) {
+ curl_setopt($ch, $opt, $value);
+ }
+ }
return ($ch);
}
$cmd_cls = $this->cmd_cls[$name];
- if (($inst = call_user_func_array(array($cmd_cls, "create"), $args)) == FALSE)
+ // custom create now can return synchronously returning true instead of a
+ // "command instance class" instance or false if any error occurs
+ $inst = call_user_func_array(array($cmd_cls, "create"), $args);
+ if (is_bool($inst))
break;
-
array_push($this->cmd, $inst);
if ($this->dbg > 1) { printf("CDS_cmd_cls::process - execute push cmd\n"); }
if (($this->dbg & 1) == 1) { print_r($this); }
return TRUE;
} while (FALSE);
- return FALSE;
+ return $inst;
}
function process($curtime=0)