/**
  * 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();
     }
 }
Esempio n. 4
0
 /**
  * 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&amp;admin=plugin_main&amp;action=new';
     $o .= self::renderToolForm('add', $href);
     $href = $sn . '?advancedform&amp;admin=plugin_main&amp;action=import&amp;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;
 }
Esempio n. 5
0
 /**
  * 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);
     }
 }