Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- function poptavka_menu() {
- $items['poptavka'] = array(
- 'title' => t('Poptávka'),
- 'page callback' => 'poptavka_form',
- 'access arguments' => array('access content'),
- 'type' => MENU_CALLBACK
- );
- return $items;
- }
- function poptavka_form() {
- return drupal_get_form('poptavka_form_page1');
- }
- function poptavka_form_page1($form_state) {
- if (isset($form_state['storage']['page_two'])) {
- return poptavka_form_page2();
- }
- $form['zadani'] = array(
- '#type' => 'fieldset',
- '#title' => t('Slovní zadání'),
- '#description' => t('Zde prosím vložte slovní zadání poptávky. Můžete použít i políčko pro nahrání souboru a přiložit textový dokument se zadáním.')
- );
- $form['zadani']['text'] = array(
- '#type' => 'textarea',
- '#title' => t('Text zadání'),
- '#cols' => '40',
- '#description' => t('Pokud nemáte soubor se zadáním k nahrání, použijte toto pole k jeho napsání.')
- );
- $form['zadani']['soubor'] = array(
- '#type' => 'file',
- '#title' => t('Nahrát soubor se zadáním'),
- '#size' => '40'
- );
- $form['#attributes'] = array('enctype' => "multipart/form-data");
- $form['parametry'] = array(
- '#type' => 'fieldset',
- '#title' => t('Parametry poptávky'),
- '#description' => t('Základní parametry poptávky.')
- );
- $form['parametry']['metoda'] = array(
- '#type' => 'checkboxes',
- '#title' => t('Metody'),
- '#options' => array(
- 'kvalita' => t('Kvalitativní'),
- 'kvantita' => t('Kvantitativní')
- )
- );
- $form['parametry']['vzorek'] = array(
- '#type' => 'textfield',
- '#title' => t('Velikost vzorku'),
- '#description' => t('Zadejte přibližnou velikost vzorku populace.')
- );
- $form['parametry']['region'] = array(
- '#type' => 'textfield',
- '#title' => t('Lokalita'),
- '#description' => t('Geografický region. (např.: Praha a okolí, Středočeský kraj, Česko a Slovensko, Střední Evropa atd.)')
- );
- $form['parametry']['cena'] = array(
- '#type' => 'textfield',
- '#title' => t('Cenové rozpětí'),
- '#description' => t('Přibližná představa o rozpočtu na daný výzkum.')
- );
- $form['parametry']['termin'] = array(
- '#type' => 'textfield',
- '#title' => t('Termín'),
- '#description' => t('Přibližný termín realizace.')
- );
- $agencies = db_query('SELECT n.nid, n.title FROM {node} n WHERE n.type = "profil_vyzkumne_agentury"');
- $options = array();
- $checked_by_default = array();
- while($agency = db_fetch_array($agencies)){
- $options[$agency['nid']] = $agency["title"];
- $checked_by_default[] = $agency["nid"];
- }
- $form_state['storage']['agentury'] = $options;
- $form['parametry']['agentury'] = array(
- '#type' => 'checkboxes',
- '#title' => t('Výzkumné agentury'),
- '#default_value' => $checked_by_default,
- '#options' => $options,
- '#description' => t('Vyberte si výzkumné agentury, které chcete oslovit.'),
- );
- $form['next'] = array(
- '#type' => 'submit',
- '#value' => t('Pokračovat >>')
- );
- return $form;
- }
- function poptavka_form_page2() {
- $form['osobni_informace'] = array(
- '#type' => 'fieldset',
- '#title' => t('Informace o zadavateli'),
- );
- $form['osobni_informace']['jmeno'] = array(
- '#type' => 'textfield',
- '#title' => t('Jméno a příjmení'),
- );
- $form['osobni_informace']['email'] = array(
- '#type' => 'textfield',
- '#title' => t('E-mail'),
- '#required' => TRUE
- );
- $form['osobni_informace']['telefon'] = array(
- '#type' => 'textfield',
- '#title' => t('Telefon'),
- );
- $form['osobni_informace']['mobil'] = array(
- '#type' => 'textfield',
- '#title' => t('Mobil'),
- );
- $form['osobni_informace']['spolecnost'] = array(
- '#type' => 'textfield',
- '#title' => t('Název vaší společnosti'),
- );
- $form['agree'] = array(
- '#type' => 'checkbox',
- '#title' => t('Souhlasím s podmínkami.'),
- '#required' => TRUE
- );
- $form['odeslat'] = array(
- '#type' => 'submit',
- '#value' => t('Odeslat poptávku')
- );
- return $form;
- }
- function poptavka_form_page1_submit($form, &$form_state) {
- global $base_url;
- if ($form_state['clicked_button']['#id'] == 'edit-next') {
- $form_state['storage']['page_two'] = TRUE;
- $dest = 'sites/default/files/poptavka';
- if(file_check_directory($dest)) {
- $save = file_save_upload('soubor', array(), $dest, FILE_EXISTS_RENAME);
- if(!$save) {
- $soubor = t('Soubor nepřiložen');
- } else {
- $soubor = $base_url . '/sites/default/files/poptavka/' . $save->filename;
- drupal_set_message(t('Soubor: <strong>"' . $save->filename . '"</strong> přiložen k formuláři.'));
- }
- } else {
- drupal_set_message(t('POZOR! Do adresáře nelze zapisovat. Kontaktujte administrátora.'), 'status');
- }
- $form_state['storage']['page_one_values'] = $form_state['values'];
- $form_state['storage']['page_one_values']['soubor'] = $soubor;
- $form_state['storage']['page_one_values']['agentury_cached'] = $form_state['storage']['agentury'];
- }
- else {
- $data = array_merge_recursive($form_state['storage']['page_one_values'], $form_state['values']);
- unset($form_state['storage']);
- send_survey_request($data);
- }
- }
- function send_survey_request($data) {
- $from = 'john.doe@email.com';
- $subj = 'Poptávka výzkumu';
- $recipients = array();
- $recipients[] = 'john.doe@email.com';
- $recipients_cc = array();
- $recipients_cc[] = '';
- $recipients_bcc = array();
- $recipients_bcc[] = 'john.doe@email.com';
- $recipients_bcc[] = 'john.doe@email.com';
- $content .= "________[ ZADÁNÍ ]________\n\n";
- // Slovni zadani
- $content .= "Slovní zadání:\n{$data['text']}\n\n";
- // Soubor
- $content .= "Přiložený soubor:\n{$data['soubor']}\n\n";
- // Metody
- $content .= "Metody:\n";
- if ($data['metoda']['kvalita']) {
- $content .= $data['metoda']['kvalita'];
- }
- if ($data['metoda']['kvantita']) {
- $content .= "\n" . $data['metoda']['kvantita'];
- }
- $content .= "\n\n";
- // Vzorek populace
- $content .= "Vzorek populace:\n{$data['vzorek']}\n\n";
- // Region
- $content .= "Region:\n{$data['region']}\n\n";
- // Cena
- $content .= "Cena:\n{$data['cena']}\n\n";
- // Termin
- $content .= "Termin:\n{$data['termin']}\n\n";
- // Agentury
- $content .= "Oslovit agentury:\n";
- foreach($data['agentury'] as $key => $value) {
- if ($value) {
- $content .= $data['agentury_cached'][$value] . "\n";
- }
- }
- $content .= "\n\n\n\n";
- $content .= "________[ ZADAVATEL ]________\n\n";
- // Jmeno
- $content .= "Jméno a příjmení:\n{$data['jmeno']}\n\n";
- // E-mail
- $content .= "E-mail:\n{$data['email']}\n\n";
- // Telefon
- $content .= "Telefon:\n{$data['telefon']}\n\n";
- // Mobil
- $content .= "Mobil:\n{$data['mobil']}\n\n";
- // Spolecnost
- $content .= "Společnost:\n{$data['spolecnost']}";
- $recs = implode(', ', $recipients);
- $headers = '';
- $headers .= 'From: ' . $from . "\n";
- $headers .= 'Content-Type: text/plain; charset=utf-8' ."\n";
- if (count($recipients_cc) > 0) {
- $recs_cc = implode(', ', $recipients_cc);
- $headers .= "cc:{$recs_cc}\n";
- }
- if (count($recipients_bcc) > 0) {
- $recs_bcc = implode(', ', $recipients_bcc);
- $headers .= "bcc:{$recs_bcc}\n";
- }
- $sent = mail($recs, $subj, $content, $headers);
- if(!$sent) {
- drupal_set_message(t('Poptávku se nepodařilo odeslat. Zkuste akci opakovat.'), 'error');
- } else {
- drupal_set_message(t('Poptávka byla úspěšně odeslána. Děkujeme za využití naší služby.'));
- }
- }
Add Comment
Please, Sign In to add comment