function __construct($url) { if (config::has('lepton.services.thumbalizer.apikey')) { $this->apikey = config::get('lepton.services.thumbalizer.apikey'); } $this->cachedir = config::get('lepton.services.thumbalizer.cachedir', base::basePath() . 'cache'); if (!file_exists($this->cachedir)) { throw new ConfigurationException("Thumbalizer cache directory not found, define with lepton.services.thumbalizer.cachedir"); } }
/** * Constructor, attempts to load the font from the paths defined in the * lepton.graphics.fontpaths key or the default locations. * * @param string $fontname The font name * @param int $fontsize The size */ function __construct($fontname, $fontsize) { $fullname = null; $p = config::get('lepton.graphics.fontpaths', array('./', base::appPath() . '/fonts', base::appPath(), '/usr/share/fonts/truetype/', base::basePath())); foreach ($p as $fp) { $ff = file_find($fp, $fontname); if ($ff != null) { $fullname = $ff; break; } } if ($fullname) { $this->font = array('fontname' => $fullname, 'fontsize' => $fontsize, 'angle' => 0); } else { throw new GraphicsException("Font " . $fontname . " not found", GraphicsException::ERR_BAD_FONT); } }
public function php() { $info = array('php_uname()' => php_uname('a'), 'phpversion()' => phpversion(), 'php_sapi_name()' => php_sapi_name(), 'PHP_OS' => PHP_OS, 'DIRECTORY_SEPARATOR' => DIRECTORY_SEPARATOR, 'PATH_SEPARATOR' => PATH_SEPARATOR, 'PHP_SHLIB_SUFFIX' => PHP_SHLIB_SUFFIX, 'sys_get_temp_dir()' => sys_get_temp_dir(), 'Platform' => LEPTON_PLATFORM_ID); $comp = array('COMPAT_GETOPT_LONGOPTS' => PHP_VERSION >= "5.3" ? 'Supported' : 'Emulated (PHP >= 5.3)', 'COMPAT_SOCKET_BACKLOG' => PHP_VERSION >= "5.3.3" ? 'Supported' : 'Missing (PHP >= 5.3.3)', 'COMPAT_HOST_VALIDATION' => PHP_VERSION >= "5.2.13" ? 'Supported' : 'Emulated (PHP >= 5.2.13)', 'COMPAT_NAMESPACES' => PHP_VERSION >= "5.3.0" ? 'Supported' : 'Missing (PHP >= 5.3.0)', 'COMPAT_INPUT_BROKEN' => PHP_VERSION >= "5" && PHP_VERSION < "5.3.1" ? 'php://input possibly broken (PHP >= 5, PHP < 5.3.1)' : 'Functional', 'COMPAT_CALLSTATIC' => PHP_VERSION >= "5.3.0" ? 'Supported' : 'Missing (PHP >= 5.3.0)', 'COMPAT_CRYPT_BLOWFISH' => PHP_VERSION >= "5.3.0" ? 'Supported' : 'Missing (PHP >= 5.3.0)', 'COMPAT_PHP_FNMATCH' => PHP_OS == "Linux" || PHP_OS == "Windows" && PHP_VERSION >= "5.3" ? 'Native' : 'Emulated (WIN + PHP >= 5.3.0)'); $opts = array('base::basePath()' => base::basePath(), 'base::appPath()' => base::appPath(), 'base::sysPath()' => base::sysPath(), 'TMP_PATH' => TMP_PATH); Console::writeLn(__astr("\\b{Lepton Overview:}")); foreach ($opts as $key => $val) { Console::writeLn(" %-25s : %s", $key, $val); } Console::writeLn(); Console::writeLn(__astr("\\b{PHP Overview:}")); foreach ($info as $key => $val) { Console::writeLn(" %-25s : %s", $key, $val); } Console::writeLn(); Console::writeLn(__astr("\\b{Compatibility layer overview:}")); foreach ($comp as $key => $val) { Console::writeLn(" %-25s : %s", $key, $val); } Console::writeLn(); }
function initCache() { Console::write("Initializing database ... "); $files = array(); $base = base::basePath(); $iter = new RecursiveDirectoryIterator($base); foreach (new RecursiveIteratorIterator($iter) as $p) { $rfp = str_replace($base, '', $p->getRealpath()); if (strpos($rfp, '/.')) { $rfp = null; } if ($rfp) { $files[] = array('file' => $rfp, 'package' => null); } } $this->cache['special:files'] = $files; $this->cache['special:installed'] = array(); $this->cache['special:available'] = array(); console::write("(%d files, %d packages) ", count($this->cache['special:files']), count($this->cache['special:installed'])); Console::writeLn("Done"); }
static function getDebugInformation() { if (self::isSecure()) { $ssl = 'Yes (' . $_SERVER['SSL_TLS_SNI'] . ')'; } else { $ssl = 'No'; } return join("\n", array("Request time: " . date(DATE_RFC822, $_SERVER['REQUEST_TIME']), "Base path: " . base::basePath(), "App path: " . base::appPath(), "Sys path: " . base::sysPath(), "User-agent: " . $_SERVER['HTTP_USER_AGENT'], "Request URI: " . $_SERVER['REQUEST_URI'], "Request method: " . $_SERVER['REQUEST_METHOD'], "Authenticated user: "******"Remote IP: " . $_SERVER['REMOTE_ADDR'] . " (" . gethostbyaddr($_SERVER['REMOTE_ADDR']) . ")", "Hostname: " . $_SERVER['HTTP_HOST'], "Secure: " . $ssl, "Referrer: " . (isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'null'), sprintf("Running as: %s (uid=%d, gid=%d) with pid %d", get_current_user(), getmyuid(), getmygid(), getmypid()), sprintf("Server: %s", $_SERVER['SERVER_SOFTWARE']) . " (" . php_sapi_name() . ")", sprintf("Memory allocated: %0.3f KB (Total used: %0.3f KB)", memory_get_usage() / 1024 / 1024, memory_get_usage(true) / 1024 / 1024), "Platform: " . LEPTON_PLATFORM_ID, sprintf("Runtime: PHP v%d.%d.%d (%s)", PHP_MAJOR_VERSION, PHP_MINOR_VERSION, PHP_RELEASE_VERSION, PHP_OS))); }
static function handleError($errno, $errstr, $errfile, $errline, $errcontext = null) { $args = func_get_args(); if (self::$__errorhandler) { return call_user_func_array(self::$__errorhandler, $args) == true; } else { // Chain PHPs error handling switch ($errno) { case E_STRICT: logger::debug('Warning: %s:%d %s', str_replace(base::basePath(), '', $errfile), $errline, $errstr); break; case E_DEPRECATED: // Disable showing deprecation warnings for now break; logger::warning('Deprecated: %s:%d %s', str_replace(base::basePath(), '', $errfile), $errline, $errstr); break; default: logger::warning('%s:%d %s', str_replace(base::basePath(), '', $errfile), $errline, $errstr); break; } return true; } }
function __callee() { $stack = debug_backtrace(false); $ret = sprintf('%s:%d', str_replace(base::basePath(), '', $stack[1]['file']), $stack[1]['line']); return $ret; }
/** * @description file_find() to locate file with globbing */ function filefind() { $this->assertEquals(file_find(base::basePath(), 'defaults.php'), base::basePath() . 'sys/defaults.php'); }
public function initialize($rootuser = null) { console::writeLn(__astr('\\b{Initializing database}')); $db = config::get('lepton.db.default'); $dbc = config::get('lepton.db.default'); console::writeLn(" Database: %s", $dbc['database']); console::writeLn(" User: %s", $dbc['username']); console::writeLn(" Host: %s", $dbc['hostname']); switch ($db['driver']) { case 'pdo/mysql': case 'mysql': console::writeLn(" Driver: MySQL"); break; default: console::fatal('This version of the script does not support anything else than MySQL'); exit(1); } console::writeLn(__astr("\n\\b{Creating database and user}")); console::writeLn(" The script can create the database and the user. Hit enter to skip this step."); console::write(" Password for root user: "******"SHOW DATABASES LIKE %s", $dbc['database']); if (count($dblist) == 0) { console::writeLn("Creating database..."); try { $conn->exec(sprintf("CREATE DATABASE %s;", $dbc['database'])); } catch (Exception $e) { console::writeLn("Not successful, does the database already exist?"); } } console::writeLn("Creating user..."); $conn->exec(sprintf("GRANT ALL ON %s.* TO %s@localhost IDENTIFIED BY '%s';", $dbc['database'], $dbc['username'], $dbc['password'])); $conn->exec("USE " . $dbc['database']); } else { console::writeLn("No password specified, ignoring database and user creation."); $conn = new DatabaseConnection(); } console::writeLn(__astr("\n\\b{Importing tables}")); $f = glob(base::basePath() . '/dist/sql/*.sql'); foreach ($f as $fn) { $fc = file_get_contents($fn); console::writeLn(" [sys] %s", basename($fn)); $conn->exec($fc); } $f = glob(base::appPath() . '/sql/*.sql'); foreach ($f as $fn) { $fc = file_get_contents($fn); console::writeLn(" [app] %s", basename($fn)); $conn->exec($fc); } console::writeLn("All done."); }
public function addComponentView($controller, $view = "base") { $basepath = base::basePath(); $filepath = $basepath . "/app/views/{$controller}/{$view}.php"; include $filepath; }