您版本的用户数是{\$properties['user']['value']},已经超过该版本的人数限制,请联系我们
email:zentao@cnezsoft.com
电话:4006 889923
网址:www.zentao.net


The number of users is {\$properties['user']['value']} for the edition and has exceeded the limit, please contact us.
email:zentao@cnezsoft.com
tel:4006 889923
Web:www.zentao.net
EOD; $limitUser =<<dao->select("COUNT('*') as count")->from(TABLE_USER)->where('deleted')->eq(0)->fetch(); if(!empty(\$properties['user']) and \$properties['user']['value'] < \$user->count) die("$notice"); EOD; $limitFunc =<<getFileName(); $controlContent = file_get_contents($controlPath); $controlLines = explode("\n", $controlContent); if($controlPath == $fileName) { $endLine = $construct->getEndLine() - 1; $controlLines[$endLine] = $limitUser . "\n" . $controlLines[$endLine]; } else { $methods = $reflection->getMethods(); $startLine = $methods[0]->getStartLine() - 1; $controlLines[$startLine] = $limitFunc . "\n" . $controlLines[$startLine]; } $controlContent = join("\n", $controlLines); file_put_contents($controlPath, $controlContent); } foreach($reflection->getMethods(ReflectionMethod::IS_PUBLIC) as $method) { $methodName = strtolower($method->name); /* This method is not extend from parent */ if($method->getFileName() != $controlPath) continue; if($methodName == '__construct') continue; $params = $method->getParameters(); foreach($params as $param) { $paramName = $param->getName(); if($param->isDefaultValueAvailable()) $defaultValue .= "\$paramDefaultValue['$className']['$methodName']['$paramName'] = '" . $param->getDefaultValue() . "';\n"; } } } /* Set ext control default value.*/ $extControlPath = $module . '/ext/control/'; if(is_dir($extControlPath)) { echo "Seting value for extension of $className\n"; chdir($extControlPath); $extControls = glob($extControlPath . '*'); if(empty($extControls)) continue; foreach($extControls as $extControl) { $methodName = strtolower(substr(basename($extControl), 0, strrpos(basename($extControl), '.'))); $extFile = file_get_contents($extControl); $extLines = explode("\n", $extFile); foreach($extLines as $line) { $line = trim($line); if(preg_match("/^class +($className) +extends +/i", $line, $class) == 1) $extClassName = strtolower($class[1]); if(preg_match("/^class +(my$className) +extends +/i", $line, $class) == 1) $extClassName = strtolower($class[1]); if(preg_match("/^(public)?\s+function\s+$methodName/i", $line) == 1) { $params = strstr($line, '('); if(preg_match('/^(.+)$/', $params) == 0) continue; $params = trim(str_replace(array('(', ')'), '', $params)); $params = preg_replace('/, *\$/', ',\$', $params); $params = explode(',$', trim($params, '$')); foreach($params as $param) { if(strpos($param, '=') === false) continue; $pair = explode('=', $param); $paramName = trim($pair[0]); $paramValue = trim(end($pair)); $defaultValue .= "\$paramDefaultValue['$extClassName']['$methodName']['$paramName'] = $paramValue;\n"; } } } } } } if($defaultValue) { echo "Writing default value to file\n"; $valueFile = "account = $company; $order->users = $users; $order->ip = $ip; $order->mac = $mac; $order->type = $type; $passphrase = empty($order->account) ? 'try' : $order->account; createLicense($order, $dirName, '/tmp/encrypt/'); $withLicense = "--with-license config/license/" . basename($file) . $order->account . ".txt --passphrase $passphrase"; exec("/usr/local/ioncube/ioncube_encoder5 --copy config.php --copy phpexcel/ --copy tmp/ --copy hook/ --copy framework/ --copy config/ --copy view/ --copy lang/ $withLicense $file --update-target --into /tmp/encrypt/", $outError); foreach($outError as $error) { $errorFile = substr($error, 0 , strpos($error, ':')); $relativeFile = substr($errorFile, strrpos($errorFile, '/' . basename($file) . '/') + 1) . "\n"; echo "Copying $errorFile\n"; `cp $errorFile /tmp/encrypt/$relativeFile`; } echo "Ziping extension\n"; if(file_exists("/tmp/encrypt/$dirName$company.zip")) `rm /tmp/encrypt/$dirName$company.zip`; `cd /tmp/encrypt/; zip -rm -9 $dirName$company.zip $dirName`; echo "Finished\n"; function createLicense($order, $saveName, $encryptPath) { echo "Creating license.\n"; $property = $order->users == 0 ? '' : "--property user=$order->users"; $expire = empty($order->account) ? '--expire-in 180d' : ''; if(!is_dir($encryptPath . $saveName))mkdir($encryptPath . $saveName); if(!is_dir($encryptPath . $saveName . "/config"))mkdir($encryptPath . $saveName . '/config'); if(!is_dir($encryptPath . $saveName . "/config/license"))mkdir($encryptPath . $saveName . "/config/license"); $server = empty($order->ip) ? '' : $order->ip; $server = !empty($order->mac) ? empty($server) ? "'{{$order->mac}}'" : "'$server{{$order->mac}}'" : $server; $server = empty($server) ? '' : '--allowed-server ' . $server; $expire = $order->type == 'year' ? "--expire-in 365d" : $expire; $expire = $order->type == 'try' ? "--expire-in 30d" : $expire; $expire = is_numeric($order->type) ? "--expire-in {$order->type}d" : $expire; $passphrase = empty($order->account) ? 'try' : $order->account; $license = $encryptPath . $saveName . '/config/license/' . $saveName . $order->account . '.txt'; echo `/usr/local/ioncube/make_license $property $expire --passphrase $passphrase -o $license`; }