/** * @param InputInterface $input * @param OutputInterface $output * @return int|null|void */ public function execute(InputInterface $input, OutputInterface $output) { parent::bootstrapProcessWire($output); $names = explode(',', $input->getArgument('name')); $pages = \ProcessWire\wire('pages'); $template = $this->getTemplate($input, $output); $parent = $this->getParent($input, $output); foreach ($names as $name) { $sanitizedName = \ProcessWire\wire('sanitizer')->pageName($name); if (!\ProcessWire\wire('pages')->get($parent->url . $sanitizedName . '/') instanceof \ProcessWire\NullPage) { $output->writeln("<error>The page name '{$name}' is already taken.</error>"); continue; } // create page and populate it with the required details to save it a first time $p = new Page(); $p->template = $template; $p->parent = $parent; $p->name = $sanitizedName; // give it a name used in the url for the page $p->title = $input->getOption('title') ? $input->getOption('title') : $name; // IMPORTANT: Save the page once, so that file-type fields can be added to it below! $p->save(); if ($input->getOption('file')) { $this->addFileData($input->getOption('file'), $output, $p); } $output->writeln("<info>Page `{$name}` has been successfully created.</info>"); } }
/** * @param InputInterface $input * @param OutputInterface $output * @return int|null|void */ public function execute(InputInterface $input, OutputInterface $output) { parent::bootstrapProcessWire($output); foreach (\ProcessWire\wire('roles') as $role) { $output->writeln(" - {$role->name}"); } }
/** * @param InputInterface $input * @param OutputInterface $output * @return int|null|void */ public function execute(InputInterface $input, OutputInterface $output) { parent::bootstrapProcessWire($output); $name = $input->getArgument('name'); $email = $input->getOption('email'); $pass = $input->getOption('password'); $roles = explode(",", $input->getOption('roles')); $helper = $this->getHelper('question'); if (!$email) { $question = new Question('Please enter a email address : ', 'email'); $email = $helper->ask($input, $output, $question); } if (!$pass) { $question = new Question('Please enter a password : '******'password'); $question->setHidden(true); $question->setHiddenFallback(false); $pass = $helper->ask($input, $output, $question); } if (!\ProcessWire\wire("pages")->get("name={$name}") instanceof \ProcessWire\NullPage) { $output->writeln("<error>User '{$name}' already exists!</error>"); exit(1); } $user = $this->createUser($email, $name, $this->userContainer, $pass); $user->save(); if ($input->getOption('roles')) { $this->attachRolesToUser($name, $roles, $output); } if ($pass) { $output->writeln("<info>User '{$name}' created successfully!</info>"); } else { $output->writeln("<info>User '{$name}' created successfully! Please do not forget to set a password.</info>"); } }
/** * @param InputInterface $input * @param OutputInterface $output * @return int|null|void */ public function execute(InputInterface $input, OutputInterface $output) { parent::bootstrapProcessWire($output); $pages = \ProcessWire\wire('pages'); foreach (explode(',', $input->getArgument('selector')) as $selector) { $select = is_numeric($selector) ? (int) $selector : "/{$selector}/"; $trashPages = $pages->find($select, array('include' => 'all')); if ($trashPages->count() === 0) { $trashPages = $pages->find($selector, array('include' => 'all')); } if ($trashPages->count() === 0) { $output->writeln("<error>No pages were found using `{$selector}`.</error>"); } foreach ($trashPages as $trashPage) { if ($trashPage instanceof \ProcessWire\NullPage) { $output->writeln("<error>Page `{$selector}` doesn't exist.</error>"); } else { $delete = $input->getOption('rm') === true ? true : false; $title = $trashPage->title; if ($delete === true) { $pages->delete($trashPage, true); $output->writeln("<info>Page `{$title}` was successfully deleted.</info>"); } else { $pages->trash($trashPage, true); $output->writeln("<info>Page `{$title}` has been successfully moved to the trash.</info>"); } } } } }
/** * @param InputInterface $input * @param OutputInterface $output * @return int|null|void */ public function execute(InputInterface $input, OutputInterface $output) { parent::bootstrapProcessWire($output); $pages = wire('pages'); $this->output = $output; $this->indent = 0; $level = (int) $input->getOption('level') ? (int) $input->getOption('level') : 0; $start = $this->getStartPage($input); $this->listPages($pages->get($start), $level); }
/** * @param InputInterface $input * @param OutputInterface $output * @return int|null|void */ public function execute(InputInterface $input, OutputInterface $output) { parent::bootstrapProcessWire($output); $users = $this->getUsers($input); $output->writeln("Users: " . $users->getTotal()); if ($users->getTotal() > 0) { $content = $this->getUserData($users); $headers = array('Username', 'E-Mail', 'Superuser', 'Roles'); $tables = array(WsTables::buildTable($output, $content, $headers)); WsTables::renderTables($output, $tables); } }
/** * @param InputInterface $input * @param OutputInterface $output * @return int|null|void */ public function execute(InputInterface $input, OutputInterface $output) { parent::bootstrapProcessWire($output); $name = $input->getArgument('name'); if (!wire("pages")->get("name={$name}") instanceof \NullPage) { $output->writeln("<error>Role '{$name}' already exists!</error>"); exit(1); } $user = $this->createRole($name, $this->roleContainer); $user->save(); $output->writeln("<info>Role '{$name}' created successfully!</info>"); }
/** * @param InputInterface $input * @param OutputInterface $output * @return int|null|void */ public function execute(InputInterface $input, OutputInterface $output) { parent::bootstrapProcessWire($output); $names = explode(',', preg_replace('/\\s+/', '', $input->getArgument('name'))); foreach ($names as $name) { if (!\ProcessWire\wire('roles')->get($name) instanceof \ProcessWire\NullPage) { $output->writeln("<error>Role '{$name}' already exists!</error>"); exit(1); } \ProcessWire\wire('roles')->add($name); $output->writeln("<info>Role '{$name}' created successfully!</info>"); } }
/** * @param InputInterface $input * @param OutputInterface $output * @return int|null|void */ public function execute(InputInterface $input, OutputInterface $output) { parent::bootstrapProcessWire($output); $users = explode(',', $input->getArgument('name')); foreach ($users as $name) { if (wire('users')->get($name) instanceof \NullPage) { $output->writeln("<error>User '{$name}' doesn't exists!</error>"); } else { $user = wire('users')->get($name); wire('users')->delete($user); $output->writeln("<info>User '{$name}' deleted successfully!</info>"); } } }
/** * @param InputInterface $input * @param OutputInterface $output * @return int|null|void */ public function execute(InputInterface $input, OutputInterface $output) { parent::bootstrapProcessWire($output); $name = $input->getArgument('name'); $roles = explode(",", $input->getOption('roles')); $pass = $input->getOption('password'); if (wire("pages")->get("name={$name}") instanceof \NullPage) { $output->writeln("<error>User '{$name}' doesn't exists!</error>"); exit(1); } $user = $this->updateUser($input, $name, $pass); $user->save(); if ($input->getOption('roles')) { $this->attachRolesToUser($name, $roles, $output, true); } $output->writeln("<info>User '{$name}' updated successfully!</info>"); }
/** * @param InputInterface $input * @param OutputInterface $output * @return int|null|void */ public function execute(InputInterface $input, OutputInterface $output) { parent::bootstrapProcessWire($output); $pages = \ProcessWire\wire('pages'); $config = \ProcessWire\wire('config'); $trashed = "parent_id={$config->trashPageID},limit={$this->maxItems},"; $trashed .= "status<" . Page::statusMax . ",include=all"; $trashPages = $pages->find($trashed); if ($trashPages->getTotal() > 0) { $output->writeln("<question>{$trashPages->getTotal()} pages were found.</question>\n"); foreach ($trashPages as $t) { $pages->delete($t, true); } $output->writeln("<info>The trash was successfully cleared.</info>"); } else { $output->writeln("<info>The trash is already empty.</info>"); } }
/** * @param InputInterface $input * @param OutputInterface $output * @return int|null|void */ public function execute(InputInterface $input, OutputInterface $output) { parent::bootstrapProcessWire($output); $pages = wire('pages'); foreach (explode(',', $input->getArgument('selector')) as $selector) { $select = is_numeric($selector) ? (int) $selector : "/{$selector}/"; $trashPage = $pages->get($select); if ($trashPage instanceof \NullPage) { $output->writeln("<error>Page `{$selector}` doesn't exist.</error>"); } else { $delete = $input->getOption('rm') === true ? true : false; if ($delete === true) { $pages->delete($pages->get($select), true); $output->writeln("<info>Page `{$selector}` was successfully deleted.</info>"); } else { $pages->trash($pages->get($select), true); $output->writeln("<info>Page `{$selector}` has been successfully moved to the trash.</info>"); } } } }
/** * @param InputInterface $input * @param OutputInterface $output * @return int|null|void */ public function execute(InputInterface $input, OutputInterface $output) { parent::bootstrapProcessWire($output); $name = $input->getArgument('name'); $roles = explode(",", $input->getOption('roles')); $pass = $input->getOption('password'); if (!wire("pages")->get("name={$name}") instanceof \NullPage) { $output->writeln("<error>User '{$name}' already exists!</error>"); exit(1); } $user = $this->createUser($input, $name, $this->userContainer, $pass); $user->save(); if ($input->getOption('roles')) { $this->attachRolesToUser($name, $roles, $output); } if (!empty($pass)) { $output->writeln("<info>User '{$name}' created successfully!</info>"); } else { $output->writeln("<info>User '{$name}' created successfully! Please do not forget to set a password.</info>"); } }
/** * @param InputInterface $input * @param OutputInterface $output * @return int|null|void */ public function execute(InputInterface $input, OutputInterface $output) { parent::bootstrapProcessWire($output); if ($role = $input->getOption('role')) { $users = \ProcessWire\wire('users')->find("roles={$role}"); foreach ($users as $user) { \ProcessWire\wire('users')->delete($user); } $output->writeln("<info>Deleted {$users->count()} users successfully!</info>"); } else { $users = explode(',', $input->getArgument('name')); foreach ($users as $name) { if (\ProcessWire\wire('users')->get($name) instanceof \ProcessWire\NullPage) { $output->writeln("<error>User '{$name}' doesn't exists!</error>"); } else { $user = \ProcessWire\wire('users')->get($name); \ProcessWire\wire('users')->delete($user); $output->writeln("<info>User '{$name}' deleted successfully!</info>"); } } } }
/** * @param InputInterface $input * @param OutputInterface $output * @return int|null|void */ public function execute(InputInterface $input, OutputInterface $output) { parent::bootstrapProcessWire($output); $names = explode(',', $input->getArgument('name')); $pages = wire('pages'); $template = $this->getTemplate($input, $output); $parent = $this->getParent($input, $output); foreach ($names as $name) { $sanitizedName = wire('sanitizer')->pageName($name); if (!wire('pages')->get($parent . $sanitizedName . '/') instanceof \NullPage) { $output->writeln("<error>The page name '{$name}' is already taken.</error>"); continue; } $p = new \Page(); $p->template = $template; $p->parent = wire('pages')->get($parent); $p->name = $sanitizedName; // give it a name used in the url for the page $p->title = $input->getOption('title') ? $input->getOption('title') : $name; $p->save(); } }