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 25 March 2021

Brazil’s iFood launches outlines sustainability initiatives aiming to reduce its carbon footprint

The Brazilian-based pan-Latin American food delivery startup iFood has announced a series of initiatives designed to reduce the company’s environmental impact as consumers push companies to focus more on sustainability.

The program has two main components — one focused on plastic pollution and waste and another aiming to become carbon neutral in its operations by 2025.

Perhaps the most ambitious, and surely the most capital intensive of the company’s waste reduction initiatives is the development of a semi-automated recycling facility in Sao Paulo.

“We want to transform the entire supply chain for plastic-free packaging in Brazil. By controlling the national supply chain, from production to marketing and logistics, we can offer more competitive pricing for packaging to industries that already exist but do not have a scale of production and demand today,” said  Gustavo Vitti, the chief people and sustainability officer at iFood. 

 The company has also created an in-app option that allows customers to decline plastic cutlery when they’re getting their food delivered. 

“These initiatives will contribute to reducing the consumption of plastic items, which are often sent without being requested and end up going unused into the garbage bin,” said Vitti. “In the first tests that we did, 90 percent of consumers used the resource, which resulted in the reduction of tens of thousands of plastic cutlery and shows our consumers’ desire to receive less waste in their homes.”

On the emissions front, the company will work with Moss.Earth, a technology company in the carbon market, which developed the GHG inventory to offset its emissions by buying credits tied to environmental preservation and reforestation projects. 

But the company is also working Tembici, a provider of electric bikes in Brazil to move its delivery fleet off of internal combustion powered mopeds or scooters.

“We know that compensation alone is not enough. It is necessary to think of innovative ways to reduce CO2 emissions. In October last year, we launched the iFood Pedal program, in partnership with Tembici, a project developed exclusively for couriers that offers affordable plans for renting electric bikes,” said Vitti. “Currently, more than 2,000 couriers are registered and are sharing 1,000 electric bikes in São Paulo and Rio de Janeiro in addition to the educational aspect of program that we have contemplated. With good adherence indicators, our plan is to gradually expand the project, taking it to other cities and, thus, increase our percentage of clean deliveries.”

The Brazilian electric motorcycle company, Voltz Motors is also working with iFood, which ordered 30 electric motorcycles for use by some of its delivery partners. The company hopes to roll out more than 10,000 motorcycles over the next 12 months. 

Coupled with internal facing initiatives to improve water reuse, deploy renewable energy and develop a green roof at its Osasco headquarters, iFood is hoping to hit sustainability goals that can improve the environment across Brazil and beyond. 

“We know that we have a long way to go, but we trust that together with important partners and this set of initiatives, in addition to others that are under development, it will be possible to reduce plastic generation and CO2 emissions impact on the environment. Our relevance and presence in the lives of Brazilian families further reinforces the importance of these environmental commitments for the planet,” said Vitti.



from TechCrunch https://ift.tt/3rjpglC
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support