$value){ if(is_array($value)) $value = serialize($value); define($key,$value); } return $config; } public static function showErrors(){ error_reporting(E_ALL); ini_set('display_errors',1); } public static function includeJs($plugin,$action,$forcereload=false){ if($action=='') $action='main'; if($action=='new') $action='edit'; $specificjs = 'js/plugin/plugin_'.$plugin.'_'.$action.'.js'; if(file_exists($specificjs)){ if($forcereload) $specificjs .= '?'.uniqid(); echo ''; } } public static function mail($to,$fromname,$fromaddr,$replytoname=false,$replytoaddr=false,$subject,$htmlmessage,$bccaddr=false){ $message = ''.PHP_EOL; $message .= $htmlmessage.PHP_EOL; $message .= ""; $headers = "From: ".$fromname." <".$fromaddr.">\n"; if($replytoaddr && !$replytoname) $headers .= "Reply-To: ".$replytoaddr . "\n"; if($replytoname&&$replytoaddr) $headers .= "Reply-To: " . $replytoname . " " . "<" . $replytoaddr . ">\n"; if($bccaddr) $headers .= "Bcc: ". $bccaddr . "\n"; $headers .= "X-Priority: 3\n"; $headers .= "X-Mailer: PHP". phpversion() ."\n"; $headers .= "MIME-Version: 1.0\n"; $headers .= "Content-Type: text/html; charset=\"utf-8\"\n"; $headers .= "Content-Transfer-Encoding: 8bit\n"; #$headers .= $message; $additional_parameters = "-f ".$fromaddr; $s= mail($to, $subject, $message, $headers, $additional_parameters); return $s; } public static function httpGet($url){ $curl = curl_init(); curl_setopt($curl, CURLOPT_VERBOSE, TRUE); curl_setopt ($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_TIMEOUT, 30); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl,CURLOPT_IPRESOLVE,CURL_IPRESOLVE_V4); #curl_setopt($curl,CURLOPT_FRESH_CONNECT,true); $result = curl_exec ($curl); return $result; } public function findAddress($postcode,$huisnummer=false){ #if($huisnummer==false) return false; $headers = array(); $headers[] = 'X-Api-Key: '.POSTCODE_API_KEY; // De URL naar de API call $postcode = strtoupper(str_replace(' ','',$postcode)); $url = 'https://postcode-api.apiwise.nl/v2/addresses/?postcode='.$postcode; if($huisnummer){ $huisnummer = strtoupper(str_replace(' ','',$huisnummer)); $url .= '&number='.$huisnummer.''; } $curl = curl_init($url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); // De ruwe JSON response $response = curl_exec($curl); if(!$response){ $this->error = curl_error($curl); curl_close($curl); return false; } // Gebruik json_decode() om de response naar een PHP array te converteren $data = json_decode($response,true); if(!isset($data['_embedded'])) return false; if(!isset($data['_embedded']['addresses'])) return false; if(!isset($data['_embedded']['addresses'][0])) return false; $adrdata = $data['_embedded']['addresses'][0]; $sdata = array(); $sdata['street'] = $adrdata['street']; $sdata['house_number'] = $adrdata['number']; $sdata['postcode'] = $adrdata['postcode']; $sdata['town'] = $adrdata['city']['label']; $sdata['municipality'] = $adrdata['municipality']['label']; $sdata['province'] = $adrdata['province']['label']; $sdata['latitude'] = $adrdata['geo']['center']['wgs84']['coordinates'][1]; $sdata['longitude'] = $adrdata['geo']['center']['wgs84']['coordinates'][0]; $sdata['x'] = $adrdata['geo']['center']['rd']['coordinates'][0]; $sdata['y'] = $adrdata['geo']['center']['rd']['coordinates'][1]; return $sdata; } public function getError(){ return $this->error; } /** aanmelden mailstage * * @param $email * @return bool */ public static function subscribeMailstage($email) { /* mailstage v1 $api_url = "http://mailstage.cybox.nl/API/subscribe.php"; $argumenten = "syscode=".MAILSTAGE_SYSCODE."&clientid=".MAILSTAGE_CLIENT_ID."&address=".$email."&name=".$name; if(defined('MAILSTAGE_GROUP_ID')) $argumenten .= "&mailing_group_id=".MAILSTAGE_GROUP_ID; $request_url = $api_url."?".$argumenten; $result = Control::httpGet($request_url); return ($result=='0'); */ //Deze zet voor nu gewoon de addressen in db! if($email = filter_var($email,FILTER_VALIDATE_EMAIL)){ //$s = $this->db->insertRow('nieuwsbrief',array('address'=>$email)); //Nieuwe mailstage!! $params = array('username'=>'maasvalleiwonen','key'=>'Lk8xTn6I','group_id'=>436,'address'=>$email); $request = urlencode(base64_encode(json_encode($params,JSON_UNESCAPED_UNICODE + JSON_UNESCAPED_SLASHES))); $fullurl = 'http://www.mailstage.nl/act/subscribe/'.$request; $s = file_get_contents($fullurl); return ($s!=0); } else return false; } public static function mailstageArchive() { global $settings; $api_url = "http://mailstage.cybox.nl/API/archief.php"; $argumenten = "token=".$settings->ms_token."&client=".$settings->ms_clientid; $request_url = $api_url."?".$argumenten; $result = Control::httpGet($request_url); if ($result == "0" || $result == "1") return false; return unserialize($result); } public static function HTTPAuth($users,$realm='Backstage preview'){ if (isset($_SERVER['PHP_AUTH_USER'])) { if(isset($users[$_SERVER['PHP_AUTH_USER']]) && $users[$_SERVER['PHP_AUTH_USER']] == $_SERVER['PHP_AUTH_PW']) { return true; } } header('WWW-Authenticate: Basic realm="'.$realm.'"'); header('HTTP/1.0 401 Unauthorized'); header('Content-type: text/plain'); echo 'Invalid credentials'; exit; } }