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

Tuesday 27 April 2021

Canada’s newest unicorn: Clio raises $110M at a $1.6B valuation for legal tech

Clio, a software company that helps law practices run more efficiently with its cloud-based technology, announced Tuesday it has raised a $110 million Series E round co-led by T. Rowe Price Associates Inc. and OMERS Growth Equity.

The round propels the Vancouver, British Columbia-based company to unicorn status, valuing it at $1.6 billion. Clio last raised in September of 2019 when it brought in $250 million in a Series D financing. With the latest funding, Clio claims that it’s the “first legal practice management unicorn” globally. The investment also brings its total capital raised since its 2008 inception to $386 million.

Founder and CEO Jack Newton says he and Rian Gauvreau launched Clio during the 2008 recession after seeing the struggles solo lawyers and small firms faced when running a business. Historically, legal practice management software was limited to server-based solutions designed for enterprise businesses — not small law firms, Newton said. Clio was formed to change that.

Clio co-founders Jack Newton and Rian Gauvreau; Image courtesy of Clio

“Much like how Microsoft Windows defined the operating system for personal computers decades ago, Clio has developed a software platform for law firms and their clients that is cloud-based and client-centric by design,” Newton said.

The company’s platform aims to serve as “an operating system” for lawyers, offering cloud-based legal practice management, client intake and legal CRM software. Clio has more than 150,000 customers across 100 countries. Many of the lawyers using Clio are smaller and solo practitioners, but the company also serves larger firms such as Locks Law and King Law.

Newton said his vertical SaaS company helps legal professionals be more productive, grow their firms and “make legal services more accessible.” It also aims to help clients find lawyers more easily and vice versa.

Image Credits: Clio

Newton was tight-lipped about the company’s financials, saying only that since its 2019 raise, the company has seen “explosive” growth. That growth was only fueled by the COVID-19 pandemic and its push toward all things digital. He added that its current valuation was “fair,” and achieved through a “thorough” vetting process.

Clio has focused on building out its core technology to an industry that has historically relied on pen and paper in many cases. It has also aimed to make legal technology more affordable for lawyers to use.

While change has been gradual, COVID-19 forced lawyers to fundamentally reevaluate how they run their law firms and how they deliver legal services to their clients, Newton said.

“Many firms realized that storing client data at the office was no longer an option as teams became distributed during COVID-19,” he added. “Lawyers and legal professionals who had hesitated to adopt technology in the past were suddenly forced to rapidly adapt to this new reality. While this technological change is in response to the crisis, it’s an enduring change.”

In 2018, Clio made its first acquisition with its buy of Lexicata, a Los Angeles-based legal tech startup. The company plans to do more acquisitions with the capital, according to Newton. The company plans to use its new capital to continue investing in its platform as well as toward strategic partnerships. (Clio currently has partnered with over 150 apps.)

Clio also plans to, naturally, do some hiring. Specifically, it plans to boost its headcount by 40%, or 250 employees, with a focus on bolstering its product and engineering teams. (Clio currently has 600 employees.)

“Over the next few years we intend to completely redefine the way legal services are delivered and democratize access to legal aid by way of the cloud,” Newton told TechCrunch. “This investment allows us to expedite our plans and offer even more to our existing customers.”

Clio in particular is growing in the EMEA markets with a current focus on the United Kingdom and Ireland.

In a written statement, OMERS Growth Equity managing director Mark Shulgan said his firm has been following Clio for a number of years.

“We believe Clio has clearly established itself as a market-leading legal tech firm, and will deliver growth for decades to come,” he said.



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

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support