/** * Creates the form. * * @return void * * @global array The configuration of the plugins. */ public function execute() { global $plugin_cf; $pcf = $plugin_cf['advancedform']; $forms = Data::readDB(); $forms[$this->id] = array('name' => '', 'title' => '', 'to_name' => $pcf['mail_to_name'], 'to' => $pcf['mail_to'], 'cc' => $pcf['mail_cc'], 'bcc' => $pcf['mail_bcc'], 'captcha' => (bool) $pcf['mail_captcha'], 'store' => false, 'thanks_page' => $pcf['mail_thanks_page'], 'fields' => array(array('field' => '', 'label' => '', 'type' => 'text', 'props' => "¦¦¦", 'required' => '0'))); Data::writeDB($forms); }
/** * Deletes the form. * * @return void * * @throws \InvalidArgumentException */ public function execute() { $forms = Data::readDB(); if (!isset($forms[$this->id])) { throw new \InvalidArgumentException(); } unset($forms[$this->id]); Data::writeDB($forms); }
/** * Copies the form. * * @return void * * @throws \InvalidArgumentException */ public function execute() { $forms = Data::readDB(); if (isset($forms[$this->from])) { $form = $forms[$this->from]; $form['name'] = ''; $forms[$this->to] = $form; Data::writeDB($forms); } else { throw new \InvalidArgumentException(); } }
/** * Returns the mail forms administration. * * @return string (X)HTML. * * @global string The script name. * @global array The localization of the plugins. */ public static function renderFormsAdministration() { global $sn, $plugin_tx; $forms = Data::readDB(); $o = '<div id="advfrm-form-list">' . PHP_EOL . '<h1>' . $plugin_tx['advancedform']['menu_main'] . '</h1>' . PHP_EOL; $href = $sn . '?advancedform&admin=plugin_main&action=new'; $o .= self::renderToolForm('add', $href); $href = $sn . '?advancedform&admin=plugin_main&action=import&form='; $o .= self::renderToolForm('import', $href); $o .= '<table>' . PHP_EOL; foreach ($forms as $id => $form) { $form = new Form($form); if ($id != '%VERSION%') { $o .= self::renderFormRow($id, $form); } } $o .= '</table>' . PHP_EOL; $o .= '</div>' . PHP_EOL; return $o; }
/** * Appends the posted record to csv file. * * @param string $id A form ID. * * @return void * * @global array The configuration of the plugins. */ public static function appendCsv($id) { global $plugin_cf; $forms = Data::readDB(); $fields = array(); foreach ($forms[$id]['fields'] as $field) { if ($field['type'] != 'output') { $name = $field['field']; $val = $field['type'] == 'file' ? $_FILES['advfrm-' . $name]['name'] : $_POST['advfrm-' . $name]; $fields[] = is_array($val) ? implode("¦", array_map('stsl', $val)) : stsl($val); } } if ($plugin_cf['advancedform']['csv_separator'] != '') { $fields = array_map(array('Advancedform\\Controller', 'escapeCsvField'), $fields); $separator = $plugin_cf['advancedform']['csv_separator']; } else { $separator = "\t"; } $fn = Data::folder() . $id . '.csv'; if (($fh = fopen($fn, 'a')) === false || fwrite($fh, implode($separator, $fields) . "\n") === false) { e('cntwriteto', 'file', $fn); } if ($fh !== false) { fclose($fh); } }