Exemple #1
0
reason_include_once('classes/session_php.php');
include_once DISCO_INC . 'controller.php';
if (!carl_is_php5()) {
    echo '<p>Sorry this requires php 5 for now</p>';
    die;
}
// Require that whomever is using the form have access.
reason_require_authentication('', 'session');
// Include all of the forms.
reason_include_once('scripts/developer_tools/page_type_wizard/SelectForm.php');
reason_include_once('scripts/developer_tools/page_type_wizard/EditForm.php');
reason_include_once('scripts/developer_tools/page_type_wizard/FormatForm.php');
//Initialize the controller and set a few options.
$controller = new FormController();
$controller->set_session_class('Session_PHP');
$controller->set_session_name('REASON_SESSION');
$controller->set_data_context('page_type_wizard');
$controller->show_back_button = true;
$controller->clear_form_data_on_finish = false;
$controller->allow_arbitrary_start = false;
// Set up the progression of forms.
$forms = array('SelectForm' => array('start_step' => true, 'next_steps' => array('EditForm' => array('label' => 'Select this page type')), 'step_decision' => array('type' => 'user')), 'EditForm' => array('next_steps' => array('FormatForm' => array('label' => 'Next')), 'step_decision' => array('type' => 'user')), 'FormatForm' => array('final_step' => array('label' => 'export')));
// Add, init, and run the forms.
$controller->add_forms($forms);
$controller->init();
//$controller->set_request( $_REQUEST );
$controller->run();
?>
</body>
</html>
 function run()
 {
     $nametag = $this->admin_page->user_id;
     $face = $this->admin_page->authenticated_user_id;
     if (empty($_REQUEST['site_id'])) {
         echo "Please select a site to get started.";
         return;
     }
     if (!empty($_REQUEST['newsletterIsFinished'])) {
         echo "<h1>Newsletter sent!</h1>";
         echo "<h2>Process complete.<h2>";
         echo '<p><a href="' . $this->admin_page->make_link(array('newsletterIsFinished' => '')) . '">Send another newsletter</a></p>' . "\n";
         return;
     }
     $controller = new FormController();
     $controller->set_session_class('Session_PHP');
     $controller->set_session_name('REASON_SESSION');
     $controller->set_data_context('newsletter_maker_' . $this->admin_page->site_id);
     $controller->show_back_button = true;
     $controller->clear_form_data_on_finish = true;
     $controller->allow_arbitrary_start = false;
     $controller->authenticated_user_id = $face;
     $controller->user_id = $face;
     if ($nametag != $face) {
         if (reason_user_has_privs($face, 'pose_as_other_user')) {
             $controller->user_id = $nametag;
         }
     }
     // Set up the progression of forms.
     $forms = array('SelectIncludes' => array('start_step' => true, 'next_steps' => array('SelectItems' => array('label' => 'Continue')), 'step_decision' => array('type' => 'user')), 'SelectItems' => array('next_steps' => array('SelectTemplate' => array('label' => 'Continue')), 'step_decision' => array('type' => 'user')), 'SelectTemplate' => array('next_steps' => array('EditNewsletter' => array('label' => 'Continue')), 'step_decision' => array('type' => 'user')), 'EditNewsletter' => array('next_steps' => array('ComposeEmail' => array('label' => 'Continue')), 'step_decision' => array('type' => 'user')), 'ComposeEmail' => array('final_step' => true));
     // Add, init, and run the forms.
     $controller->add_forms($forms);
     $controller->init();
     $controller->preserve_query_string = true;
     $controller->run();
 }