# General Public License along with Exponent; if
# not, write to:
#
# Free Software Foundation, Inc.,
# 59 Temple Place,
# Suite 330,
# Boston, MA 02111-1307  USA
#
# $Id: delete_control.php,v 1.3 2005/02/19 00:32:32 filetreefrog Exp $
##################################################
if (!defined("PATHOS")) {
    exit("");
}
$ctl = null;
if (isset($_GET['id'])) {
    $ctl = $db->selectObject("formbuilder_control", "id=" . $_GET['id']);
}
if ($ctl) {
    $f = $db->selectObject("formbuilder_form", "id=" . $ctl->form_id);
    if (pathos_permissions_check("editform", unserialize($f->location_data))) {
        $db->delete("formbuilder_control", "id=" . $ctl->id);
        $db->decrement("formbuilder_control", "rank", 1, "form_id=" . $ctl->form_id . " AND rank > " . $ctl->rank);
        $f = $db->selectObject("formbuilder_form", "id=" . $ctl->form_id);
        formbuilder_form::updateTable($f);
        pathos_flow_redirect();
    } else {
        echo SITE_403_HTML;
    }
} else {
    echo SITE_404_HTML;
}
Beispiel #2
0
# License, or (at your option) any later version.
#
# GPL: http://www.gnu.org/licenses/gpl.txt
#
##################################################
if (!defined('EXPONENT')) {
    exit('');
}
$f = null;
if (isset($_GET['id'])) {
    $f = $db->selectObject('formbuilder_form', 'id=' . intval($_GET['id']));
}
if ($f) {
    $floc = unserialize($f->location_data);
    if (expPermissions::check('editform', unserialize($f->location_data))) {
        expCSS::pushToHead(array("unique" => "forms", "corecss" => "forms"));
        $form = formbuilder_form::form($f);
        $form->location($loc);
        $form->meta('action', 'save_form');
        $form->meta('m', $floc->mod);
        $form->meta('s', $floc->src);
        $form->meta('i', $floc->int);
        $template = new template('formbuilder', '_edit_form');
        $template->assign('form_html', $form->toHTML($f->id));
        $template->output();
    } else {
        echo SITE_403_HTML;
    }
} else {
    echo SITE_404_HTML;
}
##################################################
if (!defined('EXPONENT')) {
    exit('');
}
$i18n = exponent_lang_loadFile('modules/formbuilder/actions/save_form.php');
if (!defined('SYS_FORMS')) {
    include_once BASE . 'subsystems/forms.php';
}
exponent_forms_initialize();
$f = null;
if (isset($_POST['id'])) {
    $f = $db->selectObject('formbuilder_form', 'id=' . intval($_POST['id']));
}
if (exponent_permissions_check('editform', unserialize($f->location_data))) {
    $f = formbuilder_form::update($_POST, $f);
    $f->table_name = formbuilder_form::updateTable($f);
    if (isset($f->id)) {
        $db->updateObject($f, 'formbuilder_form');
    } else {
        $f->location_data = serialize(exponent_core_makeLocation($_POST['m'], $_POST['s'], $_POST['i']));
        $f->id = $db->insertObject($f, 'formbuilder_form');
        //Create Default Report;
        $rpt->name = $i18n['default_report'];
        $rpt->description = $i18n['auto_generated'];
        $rpt->location_data = $f->location_data;
        $rpt->text = '';
        $rpt->column_names = '';
        $rpt->form_id = $f->id;
        $db->insertObject($rpt, 'formbuilder_report');
    }
    //Delete All addresses as we will be rebuilding it.
 /**
  * pull over extra/related data required for old school modules
  * @global db the exponent database object
  * @param  $iloc
  * @param  $module
  * @return bool
  */
 private function pulldata($iloc, $module)
 {
     global $db;
     $old_db = $this->connect();
     $linked = false;
     switch ($iloc->mod) {
         case 'calendarmodule':
             if ($db->countObjects('calendar', "location_data='" . serialize($iloc) . "'")) {
                 $linked = true;
                 break;
             }
             $events = $old_db->selectObjects('eventdate', "location_data='" . serialize($iloc) . "'");
             foreach ($events as $event) {
                 $res = $db->insertObject($event, 'eventdate');
                 if ($res) {
                     @$this->msg['migrated'][$iloc->mod]['count']++;
                 }
             }
             $cals = $old_db->selectObjects('calendar', "location_data='" . serialize($iloc) . "'");
             foreach ($cals as $cal) {
                 unset($cal->allow_registration);
                 unset($cal->registration_limit);
                 unset($cal->registration_allow_multiple);
                 unset($cal->registration_cutoff);
                 unset($cal->registration_price);
                 unset($cal->registration_count);
                 $db->insertObject($cal, 'calendar');
             }
             $configs = $old_db->selectObjects('calendarmodule_config', "location_data='" . serialize($iloc) . "'");
             foreach ($configs as $config) {
                 $config->id = '';
                 $config->enable_categories = 0;
                 $config->enable_tags = 0;
                 $db->insertObject($config, 'calendarmodule_config');
             }
             @($this->msg['migrated'][$iloc->mod]['name'] = $iloc->mod);
             break;
         case 'simplepollmodule':
             if ($db->countObjects('poll_question', "location_data='" . serialize($iloc) . "'")) {
                 break;
             }
             $questions = $old_db->selectObjects('poll_question', "location_data='" . serialize($iloc) . "'");
             foreach ($questions as $question) {
                 $db->insertObject($question, 'poll_question');
                 $answers = $old_db->selectObjects('poll_answer', "question_id='" . $question->id . "'");
                 foreach ($answers as $answer) {
                     $db->insertObject($answer, 'poll_answer');
                 }
                 $timeblocks = $old_db->selectObjects('poll_timeblock', "question_id='" . $question->id . "'");
                 foreach ($timeblocks as $timeblock) {
                     $db->insertObject($timeblock, 'poll_timeblock');
                 }
                 @$this->msg['migrated'][$iloc->mod]['count']++;
             }
             $configs = $old_db->selectObjects('simplepollmodule_config', "location_data='" . serialize($iloc) . "'");
             foreach ($configs as $config) {
                 $db->insertObject($config, 'simplepollmodule_config');
             }
             @($this->msg['migrated'][$iloc->mod]['name'] = $iloc->mod);
             break;
         case 'formmodule':
             if ($db->countObjects('formbuilder_form', "location_data='" . serialize($iloc) . "'")) {
                 break;
             }
             $form = $old_db->selectObject('formbuilder_form', "location_data='" . serialize($iloc) . "'");
             $oldformid = $form->id;
             unset($form->id);
             $form->id = $db->insertObject($form, 'formbuilder_form');
             @$this->msg['migrated'][$iloc->mod]['count']++;
             $addresses = $old_db->selectObjects('formbuilder_address', "form_id='" . $oldformid . "'");
             foreach ($addresses as $address) {
                 unset($address->id);
                 $address->form_id = $form->id;
                 $db->insertObject($address, 'formbuilder_address');
             }
             $controls = $old_db->selectObjects('formbuilder_control', "form_id='" . $oldformid . "'");
             foreach ($controls as $control) {
                 unset($control->id);
                 $control->form_id = $form->id;
                 $db->insertObject($control, 'formbuilder_control');
             }
             $reports = $old_db->selectObjects('formbuilder_report', "form_id='" . $oldformid . "'");
             foreach ($reports as $report) {
                 unset($report->id);
                 $report->form_id = $form->id;
                 $db->insertObject($report, 'formbuilder_report');
             }
             if (isset($form->table_name)) {
                 if (isset($this->params['wipe_content'])) {
                     $db->delete('formbuilder_' . $form->table_name);
                 }
                 formbuilder_form::updateTable($form);
                 $records = $old_db->selectObjects('formbuilder_' . $form->table_name, 1);
                 foreach ($records as $record) {
                     $db->insertObject($record, 'formbuilder_' . $form->table_name);
                 }
             }
             @($this->msg['migrated'][$iloc->mod]['name'] = $iloc->mod);
             break;
     }
     return $linked;
 }