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();

Saturday, 1 February 2020

Report: WeWork has a new CEO and he’s a real estate — not a tech — exec

If WeWork wanted to cement the impression that it no longer strives to be viewed as a tech company but rather as a real estate giant focused on leasing space to millennials and enterprise customers, it would probably choose a veteran from the real estate world.

That’s just what it has done, too, according to a new story from the WSJ that say the company, which was famously forced to pull its initial public offering last fall, has settled on Sandeep Mathrani as its new top banana.

Mathrani, has spent the last 1.5 years as the CEO of Brookfield Properties’ retail group and as a vice chairman of Brookfield Properties. Before joining the Chicago-based company, he spent eight years as the CEO of General Growth Properties. It was one of the largest mall operators in the U.S. until Brookfield acquired it for $9.25 billion in cash in 2018.

Mathrani also spent eight years as an executive vice president with Vornado Realty Trust, a publicly traded real estate company with a market cap of $12.5 billion. (Brookfield is slightly smaller, with a market cap of roughly $8 billion.)

Mathrani will reportedly relocate to New York from Miami, where according to public records, he owns at least one high-rise apartment that he acquired last year.

He’ll be reporting to Marcelo Claure, the SoftBank operating chief who was appointed executive chairman of WeWork in October in order to help salvage what Claure has himself said is at least an $18.5 billion bet on WeWork at this point by SoftBank.

Specifically, Claure told nervous employees at an all-hands meeting shortly after his appointment, “The size of the commitment that SoftBank has made to this company in the past and now is $18.5 billion. To put the things in context, that is bigger than the GDP of my country where I came from [Bolivia]. That’s a country where there’s 11 million people.”

Claure — who earlier spent four years as the CEO of SoftBank-backed Sprint —  was reportedly trying to hire T-Mobile CEO John Legere for the CEO’s post. Legere later communicated through sources that he had no plans to leave T-Mobile, yet just days later, in mid-November, Legere, who joined T-Mobile in 2012, announced that he’s stepping down as CEO after all, though he will remain chairman of the company. (According to the Verge, his contract is up April 30.)

Sprint and T-Mobile were expected to merge, though 13 states, led by the attorneys general of New York and California, are suing to block the deal.

Either way, Mathrani is a stark contrast to WeWork’s cofounder and longtime CEO Adam Neumann, who was pressure to resign from the company after his sweeping vision for it as a tech company that would enable customers to seamlessly shift from one WeWork location to another — paying for ever increasing software and services as monthly or yearly subscribers — was met with extreme skepticism by public market investors.

Indeed, though SoftBank marked up the company’s value over a number of private funding rounds to a brow-raising $47 billion, public investors began raising questions about its real value — and WeWork’s governance — as soon as WeWork publicly released the paperwork for its initial public offering.

Between the in-depth look its S-1 provided into the company’s spiraling losses, the degree of control held by Neumann (not fully understood previously), and a series of unflattering reports about his leadership style, including beginning with the WSJ, it didn’t take long before the company was forced to abandon its IPO dreams.

No doubt it’s now Mathrani’s job to eventually resuscitate those.

According to the WSJ, SoftBank has already established a five-year business plan that it expects will get the company to profitability and allow it to be cash-flow positive by some time next year. Part of that plan clearly involved layoffs; it cut 2,400 employees in late November, shortly before the Thanksgiving holiday in the U.S. It has also been selling off companies that were acquired at Neumann’s direction but are seen as non-core assets. What WeWork does not intend to curtail, reportedly, are its efforts to open new locations, even if it acquires them at a slower pace than in previous years.



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

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support