aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/console/command/db/revert.php
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/phpbb/console/command/db/revert.php')
-rw-r--r--phpBB/phpbb/console/command/db/revert.php88
1 files changed, 88 insertions, 0 deletions
diff --git a/phpBB/phpbb/console/command/db/revert.php b/phpBB/phpbb/console/command/db/revert.php
new file mode 100644
index 0000000000..3fa2e17515
--- /dev/null
+++ b/phpBB/phpbb/console/command/db/revert.php
@@ -0,0 +1,88 @@
+<?php
+/**
+*
+* This file is part of the phpBB Forum Software package.
+*
+* @copyright (c) phpBB Limited <https://www.phpbb.com>
+* @license GNU General Public License, version 2 (GPL-2.0)
+*
+* For full copyright and license information, please see
+* the docs/CREDITS.txt file.
+*
+*/
+namespace phpbb\console\command\db;
+
+use phpbb\db\output_handler\log_wrapper_migrator_output_handler;
+use Symfony\Component\Console\Input\InputArgument;
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Output\OutputInterface;
+
+class revert extends \phpbb\console\command\db\migration_command
+{
+ /** @var string phpBB root path */
+ protected $phpbb_root_path;
+
+ /** @var \phpbb\filesystem\filesystem_interface */
+ protected $filesystem;
+
+ /** @var \phpbb\language\language */
+ protected $language;
+
+ function __construct(\phpbb\user $user, \phpbb\language\language $language, \phpbb\db\migrator $migrator, \phpbb\extension\manager $extension_manager, \phpbb\config\config $config, \phpbb\cache\service $cache, \phpbb\filesystem\filesystem_interface $filesystem, $phpbb_root_path)
+ {
+ $this->filesystem = $filesystem;
+ $this->language = $language;
+ $this->phpbb_root_path = $phpbb_root_path;
+ parent::__construct($user, $migrator, $extension_manager, $config, $cache);
+ $this->user->add_lang(array('common', 'migrator'));
+ }
+
+ protected function configure()
+ {
+ $this
+ ->setName('db:revert')
+ ->setDescription($this->user->lang('CLI_DESCRIPTION_DB_REVERT'))
+ ->addArgument(
+ 'name',
+ InputArgument::REQUIRED,
+ $this->user->lang('CLI_MIGRATION_NAME')
+ )
+ ;
+ }
+
+ protected function execute(InputInterface $input, OutputInterface $output)
+ {
+ $name = str_replace('/', '\\', $input->getArgument('name'));
+
+ $this->migrator->set_output_handler(new log_wrapper_migrator_output_handler($this->language, new console_migrator_output_handler($this->user, $output), $this->phpbb_root_path . 'store/migrations_' . time() . '.log', $this->filesystem));
+
+ $this->cache->purge();
+
+ if (!in_array($name, $this->load_migrations()))
+ {
+ $output->writeln('<error>' . $this->user->lang('MIGRATION_NOT_VALID', $name) . '</error>');
+ return 1;
+ }
+ else if ($this->migrator->migration_state($name) === false)
+ {
+ $output->writeln('<error>' . $this->user->lang('MIGRATION_NOT_INSTALLED', $name) . '</error>');
+ return 1;
+ }
+
+ try
+ {
+ while ($this->migrator->migration_state($name) !== false)
+ {
+ $this->migrator->revert($name);
+ }
+ }
+ catch (\phpbb\db\migration\exception $e)
+ {
+ $output->writeln('<error>' . $e->getLocalisedMessage($this->user) . '</error>');
+ $this->finalise_update();
+ return 1;
+ }
+
+ $this->finalise_update();
+ }
+}
ROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, * OR MODIFICATIONS. * * $Id$ */ #define _PPPIO(n) (('p' << 8) + (n)) #define PPPIO_NEWPPA _PPPIO(130) /* allocate a new PPP unit */ #define PPPIO_GETSTAT _PPPIO(131) /* get PPP statistics */ #define PPPIO_GETCSTAT _PPPIO(132) /* get PPP compression stats */ #define PPPIO_MTU _PPPIO(133) /* set max transmission unit */ #define PPPIO_MRU _PPPIO(134) /* set max receive unit */ #define PPPIO_CFLAGS _PPPIO(135) /* set/clear/get compression flags */ #define PPPIO_XCOMP _PPPIO(136) /* alloc transmit compressor */ #define PPPIO_RCOMP _PPPIO(137) /* alloc receive decompressor */ #define PPPIO_XACCM _PPPIO(138) /* set transmit asyncmap */ #define PPPIO_RACCM _PPPIO(139) /* set receive asyncmap */ #define PPPIO_VJINIT _PPPIO(140) /* initialize VJ comp/decomp */ #define PPPIO_ATTACH _PPPIO(141) /* attach to a ppa (without putmsg) */ #define PPPIO_LASTMOD _PPPIO(142) /* mark last ppp module */ #define PPPIO_GCLEAN _PPPIO(143) /* get 8-bit-clean flags */ #define PPPIO_DEBUG _PPPIO(144) /* request debug information */ #define PPPIO_BIND _PPPIO(145) /* bind to SAP */ #define PPPIO_NPMODE _PPPIO(146) /* set mode for handling data pkts */ #define PPPIO_GIDLE _PPPIO(147) /* get time since last data pkt */ #define PPPIO_PASSFILT _PPPIO(148) /* set filter for packets to pass */ #define PPPIO_ACTIVEFILT _PPPIO(149) /* set filter for "link active" pkts */ /* * Values for PPPIO_CFLAGS */ #define COMP_AC 0x1 /* compress address/control */ #define DECOMP_AC 0x2 /* decompress address/control */ #define COMP_PROT 0x4 /* compress PPP protocol */ #define DECOMP_PROT 0x8 /* decompress PPP protocol */ #define COMP_VJC 0x10 /* compress TCP/IP headers */ #define COMP_VJCCID 0x20 /* compress connection ID as well */ #define DECOMP_VJC 0x40 /* decompress TCP/IP headers */ #define DECOMP_VJCCID 0x80 /* accept compressed connection ID */ #define CCP_ISOPEN 0x100 /* look at CCP packets */ #define CCP_ISUP 0x200 /* do packet comp/decomp */ #define CCP_ERROR 0x400 /* (status) error in packet decomp */ #define CCP_FATALERROR 0x800 /* (status) fatal error ditto */ #define CCP_COMP_RUN 0x1000 /* (status) seen CCP ack sent */ #define CCP_DECOMP_RUN 0x2000 /* (status) seen CCP ack rcvd */ /* * Values for 8-bit-clean flags. */ #define RCV_B7_0 1 /* have rcvd char with bit 7 = 0 */ #define RCV_B7_1 2 /* have rcvd char with bit 7 = 1 */ #define RCV_EVNP 4 /* have rcvd char with even parity */ #define RCV_ODDP 8 /* have rcvd char with odd parity */ /* * Values for the first byte of M_CTL messages passed between * PPP modules. */ #define PPPCTL_OERROR 0xe0 /* output error [up] */