コード例 #1
0
ファイル: View.php プロジェクト: jstacoder/brushfire
 function load()
 {
     foreach ($_ENV['aliasesFiles'] as $file) {
         $extract = Files::inc($file, null, null, array('aliases'));
         $this->aliases = Arrays::merge($this->aliases, $extract['aliases']);
     }
 }
コード例 #2
0
ファイル: Db.php プロジェクト: jstacoder/brushfire
 /**
 @param	additional	additional fields to merge with where on insert
 */
 protected function id($table, $where, $additional = null)
 {
     $sql = $this->select($table, $where, 'id');
     $id = $this->row($sql);
     if (!$id) {
         if ($additional) {
             $where = Arrays::merge($where, $additional);
         }
         $id = $this->insert($table, $where);
     }
     return $id;
 }
コード例 #3
0
ファイル: Control.php プロジェクト: jstacoder/brushfire
 function validate($fields, $options = null)
 {
     if ($this->fieldValidaters) {
         $fields = Arrays::merge($this->fieldValidaters, $fields);
     }
     return $this->filterAndValidate($fields, $options);
 }
コード例 #4
0
ファイル: Curl.php プロジェクト: jstacoder/brushfire
 protected function setRequestOptions($url, $method, $vars, $files = null)
 {
     $purl = parse_url($url);
     if ($purl['scheme'] == 'https') {
         curl_setopt($this->request, CURLOPT_PORT, empty($purl['port']) ? 443 : $purl['port']);
         if ($this->validate_ssl) {
             curl_setopt($this->request, CURLOPT_SSL_VERIFYPEER, true);
             curl_setopt($this->request, CURLOPT_CAINFO, dirname(__FILE__) . '/cacert.pem');
         } elseif ($this->ignore_ssl) {
             curl_setopt($this->request, CURLOPT_SSL_VERIFYPEER, false);
             curl_setopt($this->request, CURLOPT_SSL_VERIFYHOST, 0);
         } else {
             curl_setopt($this->request, CURLOPT_SSL_VERIFYPEER, false);
             curl_setopt($this->request, CURLOPT_SSL_VERIFYHOST, 2);
         }
     }
     $method = strtoupper($method);
     switch ($method) {
         case 'HEAD':
             curl_setopt($this->request, CURLOPT_NOBODY, true);
             break;
         case 'GET':
             curl_setopt($this->request, CURLOPT_HTTPGET, true);
             break;
         case 'PUT':
             curl_setopt($this->request, CURLOPT_CUSTOMREQUEST, "PUT");
             $toPost = true;
             break;
         case 'POST':
             curl_setopt($this->request, CURLOPT_POST, true);
             $toPost = true;
             break;
         default:
             curl_setopt($this->request, CURLOPT_CUSTOMREQUEST, $method);
     }
     curl_setopt($this->request, CURLOPT_URL, $url);
     if ($files || !empty($vars)) {
         if (!$toPost) {
             throw new InvalidArgumentException('POST-vars may only be set for a POST or PUT Request.');
         }
         if (!is_array($vars)) {
             curl_setopt($this->request, CURLOPT_POSTFIELDS, $vars);
         } elseif ($files) {
             foreach ($files as &$file) {
                 if ($file[0] != '@') {
                     $file = '@' . $file;
                 }
             }
             unset($file);
             curl_setopt($this->request, CURLOPT_POSTFIELDS, Arrays::merge($files, $vars));
         } else {
             curl_setopt($this->request, CURLOPT_POSTFIELDS, Http::buildQuery($vars));
         }
     } elseif ($toPost) {
         throw new InvalidArgumentException('POST-vars must be set for a POST-Request.');
     }
     # Set some default CURL options
     curl_setopt($this->request, CURLOPT_HEADER, true);
     curl_setopt($this->request, CURLOPT_RETURNTRANSFER, true);
     curl_setopt($this->request, CURLOPT_USERAGENT, $this->user_agent);
     curl_setopt($this->request, CURLOPT_TIMEOUT, $this->timeout);
     if ($this->cookie_file) {
         curl_setopt($this->request, CURLOPT_COOKIEFILE, $this->cookie_file);
         curl_setopt($this->request, CURLOPT_COOKIEJAR, $this->cookie_file);
     }
     /* relative paths fix, see requestFix
     		if ($this->follow_redirects){
     			curl_setopt($this->request, CURLOPT_FOLLOWLOCATION, true);
     		}
     		*/
     if ($this->referrer) {
         curl_setopt($this->request, CURLOPT_REFERER, $this->referrer);
     }
     # Set any custom CURL options
     foreach ($this->options as $option => $value) {
         curl_setopt($this->request, $option, $value);
     }
 }
コード例 #5
0
ファイル: CrudPage.php プロジェクト: jstacoder/brushfire
 function append($part, $concern, $crudType = null)
 {
     $crudType = $this->getCrudType($crudType);
     $concernData =& $this->crud[$crudType][$concern];
     if ($concernData) {
         $part = $this->standardizeConcernData($part);
         $concernData = $this->standardizeConcernData($concernData);
         $concernData = Arrays::merge($concernData, $part);
     } else {
         $concernData = $part;
     }
     return $concernData;
 }