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, 26 March 2020

Delivery Hero urges users to go cashless, no contact for food deliveries

Delivery Hero has switched to cash-less, non-contact for deliveries in areas it defines as “high risk” for the transmission of the SARS-CoV-2 virus to reduce personal contact between couriers and customers during the coronavirus pandemic. But it’s encouraging all customers to make the switch.

“By introducing contactless delivery, we can ensure that our service is safe and convenient for customers, riders and restaurants,” said CEO, Niklas Östberg, in a press release. “We now encourage customers to pay without cash everywhere, and decide when and how they want their order to be delivered. These are options designed to reduce interpersonal contact and make our customer journey even more secure.”

It has also implemented no-contact drop-offs in high risk areas and is asking restaurants to sanitize packages to further shrink the risk of spreading the virus.

While there is no evidence that people have become infected by eating food contaminated with the microscopic agent — SARS-CoV-2 is a respiratory virus; the primary transition route for infection appears to be via close contact with an infected person, when you might be more likely to breathe in tiny droplets that contain the virus, such as those expelled when someone coughs or sneezes — there could be a small risk posed by contaminated food packaging.

If, for example, an infected person, who had coughed into their hand, then touched a package which they gave to an uninfected person — who then touched their face without first washing their hands. Studies suggest the virus that causes COVID-19 can remain infectious for between several hours or days on certain surfaces.

To shrink the risk of such a scenario, Delivery Hero said it’s working closely with restaurant partners to ensure “the highest hygiene standards”.

The risk of infection via contaminated surfaces is reduced by everyone observing good hand hygiene — i.e. washing hands regularly and directly after touching things others may have touched — and by not touching their own face with unclean hands.

“Official health authorities around the world agree that there is a very limited chance of contracting COVID-19 through food,” said Delivery Hero today. “Neither the European Centre for Disease Prevention and Control (ECDC), nor the U.S. Food and Drug Administration (FDA), have any reports of Coronavirus COVID-19 transmitted via food or food packaging. However, we are working closely with our restaurant partners to ensure that they continue to operate in a secure kitchen environment and carry out food preparation and packaging according to the highest hygiene standards.”

The company is also providing riders in “high risk” zones with hand sanitisers, masks and other safety materials — “where and when it is locally and culturally accepted”.

The Berlin-based takeaway platform operates across 44 markets in Europe, Asia, LatAm and the Middle East, operating under a variety of brand names.

We’ve asked which areas it’s defining as “high risk”.

In recent weeks a number of US and European food delivery startups have turned on a contactless delivery option to shrink the risks around COVID-19 during the epidemic. Delivery Hero said it started taking precautionary measures “as soon as the situation started to evolve in January”.

The company is using its rider app to communicate updates and “instruct on hygiene requirements, especially for pick-up and drop-off”. “By having direct access to new information, our riders can make informed decisions when on the road,” it added.

While many startups face a demand crunch during the epidemic as people dial back some of their regular activities, the opposite looks to be true for food delivery — as large-scale quarantine measures mean many people are eating more meals at home. Food delivery is also being actively being encouraged by some governments, such as the UK, as a convenient lever to keep more citizens locked down at home where they can’t spread the virus or increase their chance of exposure.

Delivery Hero said it’s responded to growing demand by implementing free delivery options in the majority of its markets — “to make online ordering accessible to as many people as possible”, as it puts it.

It said “several” of these options are “focused on when ordering from restaurants nearby” — in what looks like an attempt to streamline demand for restaurants and delivery workers by incentivizing local food orders.

In another support step for restaurants it’s offering more frequent payment cycles for some partners — “according to local need”. “For new restaurants joining our platform, we aim to onboard as fast as possible, in order to support them in maintaining order levels as well as provide more choice for our customers,” it added.

Zooming out, Delivery Hero said it’s closely liaising with local governments — and continuing to follow official health and safety guidelines provided in its different markets. And it gave examples of how some of its different brands are working on relief efforts related to COVID-19 around the world.

“Our brand HungerStation in Saudi Arabia is partnering with the Saudi Ministry of Health and Saudi Food & Drug Authority to provide hand sanitizers for people in need,” it said. “In the Czech Republic, our brand Damejidlo has also been selected as one of the Red Cross’ official partners, bringing food to senior citizens. As a part of a broader initiative to support their communities, our Latin American brand PedidosYa is giving up to 1,000 free lunches per day to people who are at the forefront of fighting the virus, such as employees in the health sector.”

Another area the company is ramping up to meet demand for food delivery in the time of the coronavirus is grocery store onboarding. Currently, customers across 21 markets in the MENA region, Asia-Pacific and Latin America can order groceries from supermarkets via the company’s local delivery apps, in addition to takeout meals.

“We have seen an increase in demand from our global customer community and to meet the growing need, we have accelerated the onboarding of grocery stores,” Delivery Hero said. “We have also increased delivery through our cloud stores, another way to secure that our customers have access to everyday necessities.”

It’s not clear what — if any — financial provision the company is making to support delivery riders who do not have a contract that includes sick pay.

We’ve asked and will update this report with any response.

“During these turbulent times, our immediate efforts go into securing the wellbeing of all Delivery Hero customers, riders and employees,” the company said. “We are monitoring the development of COVID-19 minute by minute and will implement further measures as necessary. Our thoughts are with everyone who has been affected by the spread of the virus and to all who go the extra mile to keep our communities safe, healthy and fed.”



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

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support