function addToQueue($event) { if ($event) { $properties['owa_event'] = base64_encode(serialize($event)); //$properties = array_map('urlencode', $properties); $properties = owa_lib::implode_assoc('=', '&', $properties); //print_r($properties); //return; } else { return; } $parts = parse_url($this->endpoint); $fp = fsockopen($parts['host'], isset($parts['port']) ? $parts['port'] : 80, $errno, $errstr, 30); if (!$fp) { return false; } else { $out = "POST " . $parts['path'] . " HTTP/1.1\r\n"; $out .= "Host: " . $parts['host'] . "\r\n"; $out .= "Content-Type: application/x-www-form-urlencoded\r\n"; $out .= "Content-Length: " . strlen($properties) . "\r\n"; $out .= "Connection: Close\r\n\r\n"; $out .= $properties; owa_coreAPI::debug("out: {$out}"); fwrite($fp, $out); fclose($fp); return true; } }
function makeParamString($params = array(), $add_state = false, $format = 'query', $namespace = true) { $all_params = array(); // merge in state params if ($add_state) { $all_params = array_merge($all_params, $this->getAllStateParams()); } //merge in params $all_params = array_merge($all_params, $params); switch ($format) { case 'query': $get = ''; $count = count($all_params); $i = 0; foreach ($all_params as $n => $v) { $get .= owa_coreAPI::getSetting('base', 'ns') . $n . '=' . $v; $i++; if ($i < $count) { $get .= "&"; } } $string = $get; break; case 'cookie': $string = owa_lib::implode_assoc('=>', '|||', $all_params); break; } return $string; }
public static function createCookie($cookie_name, $cookie_value, $expires = 0, $path = '/', $domain = '') { if ($domain) { // sanitizes the domain $domain = owa_lib::sanitizeCookieDomain($domain); } else { $domain = owa_coreAPI::getSetting('base', 'cookie_domain'); } if (is_array($cookie_value)) { $cookie_value = owa_lib::implode_assoc('=>', '|||', $cookie_value); } // add namespace $cookie_name = sprintf('%s%s', owa_coreAPI::getSetting('base', 'ns'), $cookie_name); // debug owa_coreAPI::debug(sprintf('Setting cookie %s with values: %s under domain: %s', $cookie_name, $cookie_value, $domain)); // set compact privacy header header(sprintf('P3P: CP="%s"', owa_coreAPI::getSetting('base', 'p3p_policy'))); //owa_coreAPI::debug('time: '.$expires); setcookie($cookie_name, $cookie_value, $expires, $path, $domain); return; }
function persistState($store) { //check to see that store exists. if (isset($this->stores[$store])) { owa_coreAPI::debug('Persisting state store: ' . $store . ' with: ' . print_r($this->stores[$store], true)); // transform state array into a string using proper format if (is_array($this->stores[$store])) { switch ($this->stores_meta[$store]['type']) { case 'cookie': // check for old style assoc format if ($this->stores_meta[$store]['format'] === 'assoc') { $cookie_value = owa_lib::implode_assoc('=>', '|||', $this->stores[$store]); } else { $cookie_value = json_encode($this->stores[$store]); } break; default: } } else { $cookie_value = $this->stores[$store]; } // get expiration time $time = $this->stores_meta[$store]['expiration']; //set cookie owa_coreAPI::createCookie($store, $cookie_value, $time, "/", owa_coreAPI::getSetting('base', 'cookie_domain')); } else { owa_coreAPI::debug("Cannot persist state. No store registered with name {$store}"); } }