setFuel() public static method

Add fuel to all classes descending from Wire
Deprecation: Use $this->wire($name, $value, $lock) instead.
public static setFuel ( string $name, mixed $value, boolean $lock = false )
$name string
$value mixed
$lock boolean Whether the API value should be locked (non-overwritable)
Esempio n. 1
0
 public function setCurrentUser(User $user)
 {
     if (!$user->roles->has("id=" . $this->fuel('config')->guestUserRolePageID)) {
         $guestRole = $this->fuel('roles')->getGuestRole();
         $user->roles->add($guestRole);
     }
     $this->currentUser = $user;
     Wire::setFuel('user', $user);
 }
Esempio n. 2
0
 /**
  * Set the current system user (the $user API variable)
  *
  * @param User $user
  *
  */
 public function setCurrentUser(User $user)
 {
     $hasGuest = false;
     $guestRoleID = $this->wire('config')->guestUserRolePageID;
     if ($user->roles) {
         foreach ($user->roles as $role) {
             if ($role->id == $guestRoleID) {
                 $hasGuest = true;
                 break;
             }
         }
     }
     if (!$hasGuest && $user->roles) {
         $guestRole = $this->wire('roles')->getGuestRole();
         $user->roles->add($guestRole);
     }
     $this->currentUser = $user;
     Wire::setFuel('user', $user);
 }
Esempio n. 3
0
        $event->arguments(0, $url);
    }
}
// ensure core jQuery modules are loaded before others
$modules->get("JqueryCore");
$modules->get("JqueryUI");
// tell ProcessWire that any pages loaded from this point forward should have their outputFormatting turned off
$pages->setOutputFormatting(false);
// setup breadcrumbs to current page, and the Process may modify, add to or replace them as needed
$breadcrumbs = new Breadcrumbs();
foreach ($page->parents() as $p) {
    if ($p->id > 1) {
        $breadcrumbs->add(new Breadcrumb($p->url, $p->get("title|name")));
    }
}
Wire::setFuel('breadcrumbs', $breadcrumbs);
$controller = null;
$content = '';
// enable modules to output their own ajax responses if they choose to
if ($config->ajax) {
    ob_start();
}
if ($page->process && $page->process != 'ProcessPageView') {
    try {
        if ($config->demo && !in_array($page->process, array('ProcessLogin'))) {
            if (count($_POST)) {
                $this->error("Saving is disabled in this demo");
            }
            foreach ($_POST as $k => $v) {
                unset($_POST[$k]);
            }
Esempio n. 4
0
 /**
  * Sets the current users
  *
  * @param User $user
  * @return this
  *
  */
 public function setCurrentUser(User $user)
 {
     $this->currentUser = $user;
     Wire::setFuel('user', $user);
     return $this;
 }
 /**
  * Uninstall the module and related modules
  *
  */
 public function ___uninstall()
 {
     $language = wire('user')->language;
     if ($language && $language->id && !$language->isDefault) {
         throw new WireException("Please switch your language back to the default language before uninstalling");
     }
     // uninstall the components 1 by 1
     $configData = wire('modules')->getModuleConfigData('LanguageSupport');
     $field = $this->fields->get(LanguageSupport::languageFieldName);
     if ($field) {
         $field->flags = Field::flagSystemOverride;
         $field->flags = 0;
         $userFieldgroup = $this->templates->get('user')->fieldgroup;
         if ($userFieldgroup) {
             $userFieldgroup->remove($field);
             $userFieldgroup->save();
             $this->message("Removed language field from user profiles");
         }
         $this->fields->delete($field);
         $this->message("Removing field: {$field}");
     }
     $deletePageIDs = array($configData['defaultLanguagePageID'], $configData['languageTranslatorPageID'], $configData['languagesPageID']);
     // remove any language pages that are in the trash
     $trashLanguages = wire('pages')->get(wire('config')->trashPageID)->find("include=all, template=" . LanguageSupport::languageTemplateName);
     foreach ($trashLanguages as $p) {
         $deletePageIDs[] = $p->id;
     }
     foreach ($deletePageIDs as $id) {
         $page = $this->pages->get($id);
         if (!$page->id) {
             continue;
         }
         $page->status = Page::statusSystemOverride;
         $page->status = 0;
         $this->message("Removing page: {$page->path}");
         $this->pages->delete($page, true);
     }
     $template = $this->templates->get(LanguageSupport::languageTemplateName);
     if ($template) {
         $template->flags = Template::flagSystemOverride;
         $template->flags = 0;
         $this->message("Removing template: {$template->name}");
         $this->templates->delete($template);
     }
     $fieldgroup = $this->fieldgroups->get(LanguageSupport::languageTemplateName);
     if ($fieldgroup) {
         $this->message("Removing fieldgroup: {$fieldgroup}");
         $this->fieldgroups->delete($fieldgroup);
     }
     $field = $this->fields->get("language_files");
     if ($field) {
         $field->flags = Field::flagSystemOverride;
         $field->flags = 0;
         $this->message("Removing field: {$field->name}");
         $this->fields->delete($field);
     }
     Wire::setFuel('languages', null);
     $uninstallModules = array('ProcessLanguage', 'ProcessLanguageTranslator');
     foreach ($uninstallModules as $name) {
         $this->modules->uninstall($name);
         $this->message("Uninstalled Module: {$name}");
     }
 }
 /**
  * Load's ProcessWire using the supplied Config and populates all API fuel
  *
  * $param Config $config
  *
  */
 public function load(Config $config)
 {
     Wire::setFuel('notices', new Notices());
     Wire::setFuel('sanitizer', new Sanitizer());
     if ($config->dbSocket) {
         $db = new Database($config->dbHost, $config->dbUser, $config->dbPass, $config->dbName, $config->dbPort, $config->dbSocket);
     } else {
         $db = new Database($config->dbHost, $config->dbUser, $config->dbPass, $config->dbName, $config->dbPort);
     }
     Wire::setFuel('db', $db);
     if ($config->dbCharset) {
         $db->set_charset($config->dbCharset);
     } else {
         if ($config->dbSetNamesUTF8) {
             $db->query("SET NAMES 'utf8'");
         }
     }
     $modules = new Modules($config->paths->modules, $config->paths->siteModules);
     $fieldtypes = new Fieldtypes();
     $fields = new Fields();
     $fieldgroups = new Fieldgroups();
     $templates = new Templates($fieldgroups, $config->paths->templates);
     Wire::setFuel('modules', $modules);
     Wire::setFuel('fieldtypes', $fieldtypes);
     Wire::setFuel('fields', $fields);
     Wire::setFuel('fieldgroups', $fieldgroups);
     Wire::setFuel('templates', $templates);
     Wire::setFuel('permissions', new Permissions());
     Wire::setFuel('roles', new Roles());
     Wire::setFuel('pages', new Pages(), true);
     Wire::setFuel('pagesRoles', new PagesRoles());
     Wire::setFuel('users', new Users());
     Wire::setFuel('user', Wire::getFuel('users')->getCurrentUser());
     Wire::setFuel('session', new Session());
     Wire::setFuel('input', new WireInput());
     $fieldtypes->init();
     $fields->init();
     $fieldgroups->init();
     $templates->init();
     $modules->init();
 }
Esempio n. 7
0
 /**
  * Load's ProcessWire using the supplied Config and populates all API fuel
  *
  * $param Config $config
  *
  */
 public function load(Config $config)
 {
     Wire::setFuel('wire', $this);
     Wire::setFuel('notices', new Notices());
     Wire::setFuel('sanitizer', new Sanitizer());
     try {
         Wire::setFuel('db', new Database($config));
     } catch (WireDatabaseException $e) {
         // catch and re-throw to prevent DB connect info from ever appearing in debug backtrace
         throw new WireDatabaseException($e->getMessage());
     }
     $modules = new Modules($config->paths->modules, $config->paths->siteModules);
     Wire::setFuel('modules', $modules);
     if (!($updater = $modules->get('SystemUpdater'))) {
         $modules->resetCache();
         $modules->get('SystemUpdater');
     }
     $fieldtypes = new Fieldtypes();
     $fields = new Fields();
     $fieldgroups = new Fieldgroups();
     $templates = new Templates($fieldgroups, $config->paths->templates);
     Wire::setFuel('fieldtypes', $fieldtypes);
     Wire::setFuel('fields', $fields);
     Wire::setFuel('fieldgroups', $fieldgroups);
     Wire::setFuel('templates', $templates);
     Wire::setFuel('pages', new Pages(), true);
     $fieldtypes->init();
     $fields->init();
     $fieldgroups->init();
     $templates->init();
     if (!($t = $templates->get('permission'))) {
         throw new WireException("Missing system template: 'permission'");
     }
     $permissions = new Permissions($t, $config->permissionsPageID);
     Wire::setFuel('permissions', $permissions);
     if (!($t = $templates->get('role'))) {
         throw new WireException("Missing system template: 'role'");
     }
     $roles = new Roles($t, $config->rolesPageID);
     Wire::setFuel('roles', $roles);
     if (!($t = $templates->get('user'))) {
         throw new WireException("Missing system template: 'user'");
     }
     $users = new Users($t, $config->usersPageID);
     Wire::setFuel('users', $users);
     // the current user can only be determined after the session has been initiated
     $session = new Session();
     Wire::setFuel('session', $session);
     Wire::setFuel('user', $users->getCurrentUser());
     Wire::setFuel('input', new WireInput());
     $modules->triggerInit();
 }
Esempio n. 8
0
 /**
  * Load's ProcessWire using the supplied Config and populates all API fuel
  *
  * $param Config $config
  *
  */
 public function load(Config $config)
 {
     $this->wire('wire', $this, true);
     $this->wire('log', new WireLog(), true);
     $this->wire('notices', new Notices(), true);
     $this->wire('sanitizer', new Sanitizer());
     try {
         $database = WireDatabasePDO::getInstance($config);
         $this->wire('database', $database);
         $db = new DatabaseMysqli($config);
         $this->wire('db', $db);
     } catch (Exception $e) {
         // catch and re-throw to prevent DB connect info from ever appearing in debug backtrace
         throw new WireDatabaseException($e->getMessage());
     }
     $modules = new Modules($config->paths->modules, $config->paths->siteModules);
     Wire::setFuel('modules', $modules, true);
     $updater = $modules->get('SystemUpdater');
     if (!$updater) {
         $modules->resetCache();
         $modules->get('SystemUpdater');
     }
     $fieldtypes = new Fieldtypes();
     $fields = new Fields();
     $fieldgroups = new Fieldgroups();
     $templates = new Templates($fieldgroups, $config->paths->templates);
     $this->wire('fieldtypes', $fieldtypes, true);
     $this->wire('fields', $fields, true);
     $this->wire('fieldgroups', $fieldgroups, true);
     $this->wire('templates', $templates, true);
     $pages = new Pages();
     $this->wire('pages', $pages, true);
     $fieldtypes->init();
     $fields->init();
     $fieldgroups->init();
     $templates->init();
     if (!($t = $templates->get('permission'))) {
         throw new WireException("Missing system template: 'permission'");
     }
     $permissions = new Permissions($t, $config->permissionsPageID);
     $this->wire('permissions', $permissions, true);
     if (!($t = $templates->get('role'))) {
         throw new WireException("Missing system template: 'role'");
     }
     $roles = new Roles($t, $config->rolesPageID);
     $this->wire('roles', $roles, true);
     if (!($t = $templates->get('user'))) {
         throw new WireException("Missing system template: 'user'");
     }
     $users = new Users($t, $config->usersPageID);
     $this->wire('users', $users, true);
     // the current user can only be determined after the session has been initiated
     $session = new Session();
     $this->wire('session', $session, true);
     $this->wire('user', $users->getCurrentUser());
     $this->wire('input', new WireInput(), true);
     // populate admin URL before modules init()
     $config->urls->admin = $config->urls->root . ltrim($pages->_path($config->adminRootPageID), '/');
     $this->setStatus(self::statusInit);
 }
Esempio n. 9
0
 /**
  * Load's ProcessWire using the supplied Config and populates all API fuel
  *
  * $param Config $config
  *
  */
 public function load(Config $config)
 {
     Wire::setFuel('wire', $this);
     Wire::setFuel('notices', new Notices());
     Wire::setFuel('sanitizer', new Sanitizer());
     if ($config->dbSocket) {
         $db = new Database($config->dbHost, $config->dbUser, $config->dbPass, $config->dbName, $config->dbPort, $config->dbSocket);
     } else {
         $db = new Database($config->dbHost, $config->dbUser, $config->dbPass, $config->dbName, $config->dbPort);
     }
     Wire::setFuel('db', $db);
     if ($config->dbCharset) {
         $db->set_charset($config->dbCharset);
     } else {
         if ($config->dbSetNamesUTF8) {
             $db->query("SET NAMES 'utf8'");
         }
     }
     $modules = new Modules($config->paths->modules, $config->paths->siteModules);
     $fieldtypes = new Fieldtypes();
     $fields = new Fields();
     $fieldgroups = new Fieldgroups();
     $templates = new Templates($fieldgroups, $config->paths->templates);
     Wire::setFuel('modules', $modules);
     Wire::setFuel('fieldtypes', $fieldtypes);
     Wire::setFuel('fields', $fields);
     Wire::setFuel('fieldgroups', $fieldgroups);
     Wire::setFuel('templates', $templates);
     Wire::setFuel('pages', new Pages(), true);
     $fieldtypes->init();
     $fields->init();
     $fieldgroups->init();
     $templates->init();
     if (!($t = $templates->get('permission'))) {
         throw new WireException("Missing system template: 'permission'");
     }
     $permissions = new Permissions($t, $config->permissionsPageID);
     Wire::setFuel('permissions', $permissions);
     if (!($t = $templates->get('role'))) {
         throw new WireException("Missing system template: 'role'");
     }
     $roles = new Roles($t, $config->rolesPageID);
     Wire::setFuel('roles', $roles);
     if (!($t = $templates->get('user'))) {
         throw new WireException("Missing system template: 'user'");
     }
     $users = new Users($t, $config->usersPageID);
     Wire::setFuel('users', $users);
     // the current user can only be determined after the session has been initiated
     $session = new Session();
     Wire::setFuel('session', $session);
     Wire::setFuel('user', $users->getCurrentUser());
     Wire::setFuel('input', new WireInput());
     $modules->triggerInit();
 }