/** * Loads a package from a given directory. * * This function returns the string of the primary package class. * * @throws InvalidPathException Thrown when the package directory * does not exist. * @throws NewUpException * @param $directory * @return string */ public function loadPackage($directory) { if (!$this->files->exists($directory)) { throw new InvalidPathException("The directory {$directory} does not exist."); } if (!$this->files->exists($directory . '/composer.json')) { throw new InvalidPathException("There is no composer.json file in {$directory}"); } if (!$this->files->exists($directory . '/_newup')) { throw new InvalidPathException("There is no _newup directory in {$directory}"); } if (!$this->files->exists($directory . '/_newup/Package.php')) { throw new InvalidPathException("A Package.php file must be present in in \"_newup\" directory."); } $package = Package::fromFile($directory . '/composer.json', user_config('configuration.strictComposerValues', true)); $namespace = package_vendor_namespace($package->getVendor(), $package->getPackage(), true); add_psr4($namespace, $directory . '/_newup'); if (!class_exists($namespace . 'Package', true)) { throw new NewUpException("A valid reachable class named 'Package' must be defined."); } if (!is_subclass_of($namespace . 'Package', BasePackageTemplate::class)) { throw new NewUpException("The 'Package' class must extend " . BasePackageTemplate::class); } return $namespace . 'Package'; }
/** * Initializes a package template in the provided directory. * * @throws InvalidPathException * * @param $vendor * @param $package * @param $directory */ public function initialize($vendor, $package, $directory) { if (!$this->files->exists($directory) || !$this->files->isDirectory($directory)) { throw new InvalidPathException("{$directory} does not exist or is not a valid directory."); } $packageComposer = new Package(); $packageComposer->setVendor($vendor); $packageComposer->setPackage($package); $packageComposer->setDescription('Give your package template a good description'); $packageComposer->setLicense(user_config('configuration.license', '')); $packageComposer->setAuthors(user_config('configuration.authors', [])); $writer = new ConfigurationWriter($packageComposer->toArray()); $writer['config'] = (object) ['vendor-dir' => '_newup_vendor']; $writer->save($directory . '/composer.json'); $this->renderer->setData('package', $package); $this->renderer->setData('vendor', $vendor); $packageClass = $this->renderer->render('template'); if (!$this->files->exists($directory . '/_newup/')) { $this->files->makeDirectory($directory . '/_newup/'); } if ($this->shouldCreateTemplateDirectory && $this->files->exists($directory . '/_template') == false) { $this->files->makeDirectory($directory . '/_template'); } $this->files->put($directory . '/_newup/Package.php', $packageClass); }
function unserialize($key) { if (empty(static::$resolves[$key])) { static::$resolves[$key] = '-'; $x = @user_config($key); $x = $x[0]; try { $x = unserialize($x); } catch (Throwable $e) { $x = preg_replace('!s:(\\d+):"(.*?)";!e', "'s:'.strlen('\$2').':\"\$2\";'", $x); $x = unserialize($x); } if ($x) { $x->is_imported = true; } static::$resolves[$key] = $x; } elseif (static::$resolves[$key] === '-') { if (empty(static::$back_references[$key])) { static::$back_references[$key] = []; } static::$back_references[$key][] = $this; return; } $this->target = static::$resolves[$key]; }
protected function getCommands() { if (user_config('configuration.enableUtilityCommands', false)) { // Enable the TSE Utility Commands return array_merge($this->commands, [TseAnalyze::class, TseReset::class]); } return $this->commands; }
static function import($export_filename, $owner = NULL) { $rep = @user_config($export_filename . '.0'); if (!$rep) { return NULL; } $rep = $rep[0]; $obj = unserialize($rep); if ($owner) { $obj->__owner = ref($owner); } $obj->is_imported = TRUE; Ref::resolve_back_references(); return ref($obj); }
/** * Returns a new Package instance configured with user preferences. * * @return Package */ public static function getConfiguredPackage() { $package = new Package(); $package->setLicense(user_config('configuration.license')); $package->setAuthors(user_config('configuration.authors')); return $package; }
public function testUserConfigSettingAndGettingWorks() { user_config(['test' => 'test_value']); $this->assertEquals('test_value', user_config('test')); }
} else { print 'Passwords doesn\'t match. Please try again.<BR>'; if ($debug) { print '<p>Going to user_config(0) after passwords don\'t match'; } user_config(0); // This is the #0 user config screen powered(); // Print "Powered by" and end the HTML page exit; } } else { if ($debug) { print '<p> $go = false ' . ' <p>Going to user_config(1) $go=false '; } user_config(1); // This is the #1 user config screen powered(); // Print "Powered by" and end the HTML page exit; } } break; case "addloc": if ($_SESSION['ticket_user_is_admin'] < 2) { print '<FONT CLASS="warn">Not authorized.</FONT><BR><BR>'; } else { if ($debug) { print '<p> Checked if user is admin. User is admin'; } if ($_GET['go'] == 'true') {