/**
  * Feed Importer uninstall procedure
  *
  * @param vivvo_site 	$site_manager
  * @param int			$step
  */
 public function uninstall($site_manager, $step = 1)
 {
     parent::uninstall($site_manager, $step);
     if ($step == 2) {
         $sqlRunner = new SQLRunner(array('db' => $site_manager->get_db(), 'filename' => VIVVO_FS_PLUGIN_ROOT . ($plugin_dir = $this->get_root_dir()) . 'db/uninstall.sql'));
         try {
             $sqlRunner->load() and $sqlRunner->run();
         } catch (SQLRunnerException $e) {
             $this->set_error_code(14, $e->getMessage());
             // error executing sql script file
             $this->uninstall($site_manager, 1);
             return;
         }
         $conf = $site_manager->get_configuration();
         $conf->remove_global('VIVVO_PLUGIN_FEED_IMPORTER_AUTHOR');
         $conf->remove_global('VIVVO_PLUGIN_FEED_IMPORTER_AUTO_ARCHIVE');
         $conf->remove_global('VIVVO_PLUGIN_FEED_IMPORTER_AUTO_DELETE');
         $conf->remove_global('VIVVO_PLUGIN_FEED_IMPORTER_PERIOD');
         $conf->remove_global('VIVVO_PLUGIN_FEED_IMPORTER_STATUS');
         $conf->remove_global('VIVVO_PLUGIN_FEED_IMPORTER_SHOW_COMMENT');
         $conf->remove_global('VIVVO_PLUGIN_FEED_IMPORTER_UPDATE_ARTICLES');
         $conf->remove_global('VIVVO_PLUGIN_FEED_IMPORTER_USE_LOGO');
         $conf->remove_global('VIVVO_PLUGIN_FEED_IMPORTER_TRASH');
         $conf->remove_global('VIVVO_PLUGIN_FEED_IMPORTER_USER_ID');
         $site_manager->unregister_action('feed');
         require_once VIVVO_FS_INSTALL_ROOT . 'lib/vivvo/framework/vivvo_cron.php';
         $cm = new vivvo_cron_manager($site_manager);
         $cm->delete_cron_job($plugin_dir . 'tasks/auto_import_feeds.php', null, 'auto_import_feeds');
         $site_manager->get_plugin_manager()->unregister($this->plugin_name);
     }
     $output = $site_manager->get_output();
     echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">' . "\n";
     echo $output;
 }
예제 #2
0
 /**
  * Poll uninstall procedure
  *
  * @param vivvo_site 	$site_manager
  * @param int			$step
  */
 public function uninstall($site_manager, $step = 1)
 {
     parent::uninstall($site_manager, $step);
     if ($step == 2) {
         $sqlRunner = new SQLRunner(array('db' => $site_manager->get_db(), 'filename' => VIVVO_FS_PLUGIN_ROOT . ($plugin_dir = $this->get_root_dir()) . 'db/uninstall.sql'));
         try {
             $sqlRunner->load() and $sqlRunner->run();
         } catch (SQLRunnerException $e) {
             $this->set_error_code(14, $e->getMessage());
             // error executing sql script file
             $this->uninstall($site_manager, 1);
             return;
         }
         $site_manager->unregister_action('poll');
         $site_manager->unregister_module('box_poll');
         $site_manager->unregister_module('box_poll_list');
         $site_manager->get_url_manager()->unregister_url('poll');
         $site_manager->get_plugin_manager()->unregister($this->plugin_name);
     }
     $output = $site_manager->get_output();
     echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">' . "\n";
     echo $output;
 }
 /**
  * Newsletter uninstall procedure
  *
  * @param vivvo_site 	$site_manager
  * @param int			$step
  */
 public function uninstall($site_manager, $step = 1)
 {
     parent::uninstall($site_manager, $step);
     if ($step == 2) {
         $sqlRunner = new SQLRunner(array('db' => $site_manager->get_db(), 'filename' => VIVVO_FS_PLUGIN_ROOT . ($plugin_dir = $this->get_root_dir()) . 'db/uninstall.sql'));
         try {
             $sqlRunner->load() and $sqlRunner->run();
         } catch (SQLRunnerException $e) {
             $this->set_error_code(14, $e->getMessage());
             // error executing sql script file
             $this->uninstall($site_manager, 1);
             return;
         }
         $conf = $site_manager->get_configuration();
         $conf->remove_global('VIVVO_PLUGIN_NEWSLETTER_SUBSCRIBE_BODY');
         $conf->remove_global('VIVVO_PLUGIN_NEWSLETTER_SUBSCRIBE_SUBJECT');
         $conf->remove_global('VIVVO_PLUGIN_NEWSLETTER_UNSUBSCRIBE_TEXT');
         $conf->remove_global('VIVVO_PLUGIN_NEWSLETTER_PERIOD');
         $conf->remove_global('VIVVO_PLUGIN_NEWSLETTER_NUMBER_OF_MAILS');
         $site_manager->unregister_action('newsletter');
         $site_manager->unregister_module('box_newsletter');
         $site_manager->unregister_module('box_maillist');
         $site_manager->get_url_manager()->unregister_url('newsletter');
         require_once VIVVO_FS_INSTALL_ROOT . 'lib/vivvo/framework/vivvo_cron.php';
         $cm = new vivvo_cron_manager($site_manager);
         $cm->delete_cron_job($plugin_dir . 'tasks/mail_queue.php', null, 'mail_queue');
         $site_manager->get_plugin_manager()->unregister($this->plugin_name);
     }
     $output = $site_manager->get_output();
     echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">' . "\n";
     echo $output;
 }
예제 #4
0
/**
 * Step 6, sets administration parameters in database and creates welcome email.
 * At this step installation is finished and user can choose further action.
 *
 * @param template $template
 * @param dump_manager $dm
 * @param vivvo_lang $lang
 * @return void
 */
function step6(&$template, &$dm, &$lang)
{
    require_once dirname(__FILE__) . '/../conf.php';
    if ($db = @mysql_connect(VIVVO_DB_HOST, VIVVO_DB_USER, VIVVO_DB_PASSWORD)) {
        if (mysql_select_db(VIVVO_DB_DATABASE, $db)) {
            @mysql_query('SET NAMES utf8', $db);
            $web_site_title = $_REQUEST['web_site_title'];
            $administrator_email = $_REQUEST['administrator_email'];
            $admin_username = $_REQUEST['admin_username'];
            $admin_password = $_REQUEST['admin_password'];
            $admin_password_retype = $_REQUEST['admin_password_retype'];
            if (!preg_match("/^[-_a-zA-Z0-9]+(\\.[-_a-zA-Z0-9]+)*@[-a-zA-Z0-9]+(\\.[-a-zA-Z0-9]+)*\\.[a-zA-Z]{2,6}\$/", $administrator_email)) {
                $dm->add_dump('info', 0, $lang->get_value('LNG_INSTALLER_WRONG_EMAIL'));
                $template->assign('step', strval(5));
            } elseif ($admin_username == '') {
                $dm->add_dump('info', 0, $lang->get_value('LNG_INSTALLER_WRONG_USERNAME'));
                $template->assign('step', strval(5));
            } elseif (strlen($admin_password) < 6) {
                $dm->add_dump('info', 0, $lang->get_value('LNG_INSTALLER_PASSWORD_MINIMUM_6_CHAR'));
                $template->assign('step', strval(5));
            } elseif ($admin_password != $admin_password_retype) {
                $dm->add_dump('info', 0, $lang->get_value('LNG_INSTALLER_PASSWORD_AND_RETYPE_PASSWORD_MUST_BE_SAME'));
                $template->assign('step', strval(5));
            } else {
                define('VIVVO_WEBSITE_TITLE', $web_site_title);
                define('VIVVO_ADMINISTRATORS_EMAIL', $administrator_email);
                define('VIVVO_EMAIL_SEND_FROM', $administrator_email);
                define('VIVVO_ADMIN_USERNAME', $admin_username);
                define('VIVVO_ADMIN_PASSWORD', $admin_password);
                require_once VIVVO_FS_INSTALL_ROOT . 'lib/vivvo/framework/sqlrunner.class.php';
                // load sql runner
                $sqlRunner = new SQLRunner(array('db' => $db, 'stop_on_error' => true));
                // Execute scheme.sql
                if ($sqlRunner->load(dirname(__FILE__) . '/db/post-install.sql') > 0) {
                    try {
                        $scheme = $sqlRunner->run();
                    } catch (SQLRunnerException $e) {
                        $dm->add_dump('error', 0, $lang->get_value('LNG_INSTALLER_ERROR_EXECUTING_SQL'), $e->getMessage());
                        $template->assign('step', strval(4));
                        return;
                    }
                } else {
                    $dm->add_dump('error', 0, $lang->get_value('LNG_INSTALLER_INVALID_SQL_FILE') . 'post-install.sql');
                    $template->assign('step', strval(4));
                    return;
                }
                $template->assign('step', strval(6));
                // Send information email
                $header = "From: Vivvo CMS Installation Wizard <" . $administrator_email . ">\r\n";
                $header .= "MIME-Version: 1.0\r\n";
                $header .= "Content-type: text/html; charset=utf-8\r\n";
                $subject = "=?UTF-8?B?" . base64_encode('Installation Complete') . "?=";
                $email_template = new template(null, $template);
                $email_template->set_template_file(VIVVO_FS_ROOT . 'installer/templates/email.xml');
                $body = $email_template->get_output();
                @mail($administrator_email, $subject, $body, $header);
            }
        } else {
            $dm->add_dump('info', 0, $lang->get_value('LNG_INSTALLER_CANT_SELECT_DATABASE'));
            $template->assign('step', strval(5));
        }
    } else {
        $dm->add_dump('info', 0, $lang->get_value('LNG_INSTALLER_CANT_CONNECT_TO_DATABASE'));
        $template->assign('step', strval(5));
    }
}