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, 3 June 2021

In-person work is back, and New Stand just raised $40M to help ease the transition

As more people return to the office over the next few months, companies will have to work harder than ever to make sure the environment is comfortable and inviting.

One company that is out to ease the pain of millions of employees leaving the comfy confines of their homes and losing the convenience of conducting meetings in nice tops and sweatpants has just raised new funding to help it advance on its goals.

New York-based New Stand announced it has raised $40 million in a Series B funding round led by Brookfield Property Group, one of the largest commercial real estate owners in the United States. Existing backers Maywic, Fantail Ventures and Raga Partners also participated in the financing, which brings the company’s total raised to just over $56 million since its 2015 inception.  

New Stand is a clever take on the “newsstand” concept. The startup has built a modern-looking smart vending physical product that can be set up in all sorts of different spots –– from office lobbies to floors of companies within an office building to hotels to college campuses to airports. The company’s first location was at the Union Square subway station in New York City. Over time, New Stand has combined that physical presence with an app that is designed to give people convenience in getting basics (think snacks, books and personal care items such as umbrellas or pain relievers, for example) as well as access to “location-based media.”

On top of that, it wants to partner with companies to offer its platform as a way to communicate internal news in a more fun and engaging manner. The company is making a big push in the office vertical with the launch of its New Stand at Work, a workplace amenity.

So it’s not entirely surprising that Brookfield, one of the biggest commercial landlords in the country, would want to back a company that aims to make tenants and their employees happier.

TechCrunch talked with co-founder and CEO Andrew Deitchman about the new raise and plans for the capital. He earnestly describes New Stand as a “day improvement company” that aims to make people’s days easier and more interesting.

“And we do it by making sure we have basic stuff that people need, but also curating things that we think they would like,” he said. “We have little shops or touch points that are like convenience stores, and we combine that with an app that introduces people to content, and also allows them to interact in other ways to accumulate points and rewards.”

“So what New Stand really is building is a media and technology company, using convenience points as a means of accessing people’s lives and making their days a little bit better,” Deitchman added.

New Stand is working to evolve from being primarily a consumer business to an enterprise one.

“We can take care of basic needs but also engage people in a deeper relationship,” Deitchman said. “If you’re an employer who wants to relate to an employee or if you are a landlord who wants to relate better to your tenants, we can help make that happen.”

The company is planning to use its new capital primarily toward expanding into new spaces, office and otherwise. Currently, it’s in about 20 locations. 

It’s also planning to create “new engaging services and formats” and “grow and densify its distribution.”

In line with its investment, Brookfield Properties said it plans to “further activate” its properties in New York and, ultimately beyond, with New Stand’s offering.

Ben Brown, managing partner and head of the U.S. office in Brookfield’s Real Estate group, notes that prior to this investment, Brookfield had already partnered with New Stand at its flagship property, Brookfield Place New York — both as an amenity for its tenants and as an offering in its own office space for employees.

“On both fronts, New Stand has provided an elevated experience with tangible benefits,” he told TechCrunch. “As one of the largest — if not the largest — commercial real estate owners in the country and world, we have a particular interest in investing in enterprises we ourselves use, see the value in, and can help scale over time.”

Brown said the combination of New Stand’s physical assets and media platform has given Brookfield the opportunity to boost engagement with its tenants’ employees as well as its own, something “all landlords are trying to do.”

“Helping the world’s leading companies attract, retain and motivate their workforces has long been job one for us, and that has only intensified today as firms increasingly look for ways to have the office compete with the home,” he added.



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

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support