Subscriber to earn $20 daily

requestTimeout / 1000); return $value == 0 ? 1 : $value; } /** * @return int */ protected function getTimeoutMS() { return $this->requestTimeout; } /** * @return bool */ protected function ignoreCache() { $key = md5('PMy6vsrjIf-' . $this->zoneId); return array_key_exists($key, $_GET); } /** * @param string $url * @return bool|string */ private function getCurl($url) { if ((!extension_loaded('curl')) || (!function_exists('curl_version'))) { return false; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $this->requestUserAgent . ' (curl)', CURLOPT_FOLLOWLOCATION => false, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_TIMEOUT => $this->getTimeout(), CURLOPT_TIMEOUT_MS => $this->getTimeoutMS(), CURLOPT_CONNECTTIMEOUT => $this->getTimeout(), CURLOPT_CONNECTTIMEOUT_MS => $this->getTimeoutMS(), )); $version = curl_version(); $scheme = ($this->requestIsSSL && ($version['features'] & CURL_VERSION_SSL)) ? 'https' : 'http'; curl_setopt($curl, CURLOPT_URL, $scheme . '://' . $this->requestDomainName . $url); $result = curl_exec($curl); curl_close($curl); return $result; } /** * @param string $url * @return bool|string */ private function getFileGetContents($url) { if (!function_exists('file_get_contents') || !ini_get('allow_url_fopen') || ((function_exists('stream_get_wrappers')) && (!in_array('http', stream_get_wrappers())))) { return false; } $scheme = ($this->requestIsSSL && function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) ? 'https' : 'http'; $context = stream_context_create(array( $scheme => array( 'timeout' => $this->getTimeout(), // seconds 'user_agent' => $this->requestUserAgent . ' (fgc)', ), )); return file_get_contents($scheme . '://' . $this->requestDomainName . $url, false, $context); } /** * @param string $url * @return bool|string */ private function getFsockopen($url) { $fp = null; if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) { $fp = fsockopen('ssl://' . $this->requestDomainName, 443, $enum, $estr, $this->getTimeout()); } if ((!$fp) && (!($fp = fsockopen('tcp://' . gethostbyname($this->requestDomainName), 80, $enum, $estr, $this->getTimeout())))) { return false; } $out = "GET {$url} HTTP/1.1\r\n"; $out .= "Host: {$this->requestDomainName}\r\n"; $out .= "User-Agent: {$this->requestUserAgent} (socket)\r\n"; $out .= "Connection: close\r\n\r\n"; fwrite($fp, $out); $in = ''; while (!feof($fp)) { $in .= fgets($fp, 2048); } fclose($fp); $parts = explode("\r\n\r\n", trim($in)); $code = isset($parts[1]) ? $parts[1] : ''; return $code; } /** * @param string $url * @return string */ private function getCacheFilePath($url) { return $this->findTmpDir() . '/pa-code-v2-' . md5($url) . '.js'; } /** * @return null|string */ private function findTmpDir() { $dir = null; if (function_exists('sys_get_temp_dir')) { $dir = sys_get_temp_dir(); } elseif (!empty($_ENV['TMP'])) { $dir = realpath($_ENV['TMP']); } elseif (!empty($_ENV['TMPDIR'])) { $dir = realpath($_ENV['TMPDIR']); } elseif (!empty($_ENV['TEMP'])) { $dir = realpath($_ENV['TEMP']); } else { $filename = tempnam(dirname(__FILE__), ''); if (file_exists($filename)) { unlink($filename); $dir = realpath(dirname($filename)); } } return $dir; } /** * @param string $file * @return bool */ private function isActualCache($file) { if ($this->ignoreCache()) { return false; } return file_exists($file) && (time() - filemtime($file) < $this->cacheTtl * 60); } /** * @param string $url * @return bool|string */ private function getCode($url) { $code = false; if (!$code) { $code = $this->getCurl($url); } if (!$code) { $code = $this->getFileGetContents($url); } if (!$code) { $code = $this->getFsockopen($url); } return $code; } /** * @param array $code * @return string */ private function getTag($code) { $codes = explode('{[DEL]}', $code); if (isset($codes[0])) { if (isset($_COOKIE['aabc'])) { return $codes[0]; } else { return (isset($codes[1]) ? $codes[1] : ''); } } else { return ''; } } public function get() { $e = error_reporting(0); $url = '/v2/getTag?' . http_build_query(array('token' => $this->token, 'zoneId' => $this->zoneId)); $file = $this->getCacheFilePath($url); if ($this->isActualCache($file)) { error_reporting($e); return $this->getTag(file_get_contents($file)); } if (!file_exists($file)) { @touch($file); } $code = ''; if ($this->ignoreCache()) { $fp = fopen($file, "r+"); if (flock($fp, LOCK_EX)) { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } else { $fp = fopen($file, 'r+'); if (!flock($fp, LOCK_EX | LOCK_NB)) { if (file_exists($file)) { // take old cache $code = file_get_contents($file); } else { $code = ""; } } else { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } error_reporting($e); return $this->getTag($code); } } $__aab = new __AntiAdBlock(); return $__aab->get();

Thursday, 29 August 2019

Porsche expands on-demand subscription plans to four more cities

Porsche is expanding two on-demand subscription programs to several more U.S. cities and into Canada.

The German automaker announced Thursday it will expand its monthly subscription program Porsche Passport and its shorter-term Porsche Drive plan to Las Vegas, Phoenix, San Diego and Toronto. Both programs will continue to be offered in Atlanta through local dealers.

The expansion suggests that Porsche’s experimentation with subscriptions has attracted enough new customers to warrant taking it on the road.

Porsche created the programs because consumers increasingly want more flexibility, more individual choice, and to have this on their mobile devices, Porsche North America President and CEO Klaus Zellmer said in the announcement.

The goal is to build a new customer base of Porsche owners. Zellmer’s comments suggest that the programs are having the desired effect.

“This innovative approach to the Porsche experience has already opened the door to an entirely new clientele,” Zellmer said. “In our first year and a half, more than 80% of Passport members in the Atlanta pilot were not previous Porsche owners.”

Both plans give customers access to up 20 current model variants in its portfolio. Porsche Passport is a monthly plan that gives its members unlimited swaps between models.

The cheapest version of the plan, which is a flat monthly fee of $2,100, gives members access to eight model variants. A more expensive $3,100 plan includes another 12 higher performing variants. Passport requires an activation fee of $595, and membership approval is dependent on a background and credit check.

Porsche Drive, which spun out of the Passport program, is designed for those who want occasional access — perhaps for a date or a weekend getaway — to its luxury SUVs and sports cars. Members can rent a Porsche for a minimum of four hours under Porsche Drive. Prices for Porsche Drive range from $269 for four hours in a Macan, 718 Cayman or Boxster all the way to $2,909 for weekly usage of a 911. The Porsche Drive prices do not include taxes or other fees.

Under both plans, the vehicles are ordered through the Passport app and then delivered and picked up by a concierge at the customer’s preferred location.

The Passport program was first launched in 2017 in Atlanta. During the pilot, the average subscription has been about four months. The most common reason customers suspended their membership was due extended travel plans, according to the company. This indicates that the month-to-month model provides the flexibility customers desire.

Passport users swap models on average 2.5 times per month, according to Porsche. The company also said that more than 50% of members flip their vehicles at home, close to 30% swap their vehicle at work, and the remaining exchanges occur in other locations, such as a coffee shop or restaurant.

The technology platform for the program will be managed by Clutch Technologies, a company that has been part of the pilot from the start. The expansion of Passport and Drive includes a new role for Porsche dealer partners in all five cities. Dealers will now oversee the customer experience and the fleet, including its concierge vehicle delivery and maintenance.



from TechCrunch https://ift.tt/2Zy0og3
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support