⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 webform.module

📁 对于。Net最新的MVC开发方式提供自动对类的注入Webform
💻 MODULE
📖 第 1 页 / 共 4 页
字号:
  }    // Print the correct field type specification  // We always need: name and description.  $form .= form_hidden('webform_edited_type', $currfield['type']);  $form .= form_hidden('webform_edited_key', $currfield['key']);  $form .= form_textfield(t("Name"), "webform_edited_name", $currfield['name'], 60,			    127, t('Name of the field. This is used as a descriptive label and as the key when saving data in the database.').($error['webform_edited_name'] ? $error['webform_edited_name'] : ''));  $form .= form_textfield(t("Description"), "webform_edited_extra][description", $currfield['extra']['description'],                           60, 127,                           t('A short description of the field used as help for the user when he/she uses the form.').'<br />'.                          webform_help('webform/helptext#variables').                          ($error['webform_edited_extra'] ? $error['webform_edited_extra'] : ''));  // Extra for textfield  switch($currfield['type']) {  case 'email':    $form .= form_item(t('Default value'), NULL, t('The default value of a email field is always the users email address if he/she is logged in.'));    $form .= form_textfield(t("Width"), "webform_edited_extra][width", $currfield['extra']['width'],                             5, 10,                             t('Width of the textfield.').                            ($error['webform_edited_extra'] ? $error['webform_edited_extra'] : ''));    break;  case 'textfield':    $form .= form_textfield(t("Default value"), "webform_edited_default", $currfield['default'],                             60, 127,                             t('The default value of the field.').'<br />'.                            webform_help('webform/helptext#variables').                            ($error['webform_edited_default'] ? $error['webform_edited_default'] : ''));        $form .= form_textfield(t("Width"), "webform_edited_extra][width", $currfield['extra']['width'],                             5, 10,                             t('Width of the textfield.').                            ($error['webform_edited_extra'] ? $error['webform_edited_extra'] : ''));    break;  case 'hidden':    $form .= form_textfield(t("Default value"), "webform_edited_default", $currfield['default'],                             60, 127,                             t('The value of the field.').'<br />'.                            webform_help('webform/helptext#variables').                            ($error['webform_edited_default'] ? $error['webform_edited_default'] : ''));    break;  case 'textarea':    $form .= form_textarea(t("Default value"), "webform_edited_default", $currfield['default'],                             60, 5,                             t('The default value of the area.').'<br />'.                            webform_help('webform/helptext#variables').                            ($error['webform_edited_default'] ? $error['webform_edited_default'] : ''));        $form .= form_textfield(t("Width"), "webform_edited_extra][cols", $currfield['extra']['cols'],                             5, 10,                             t('Width of the textarea.').                            ($error['webform_edited_extra'] ? $error['webform_edited_extra'] : ''));    $form .= form_textfield(t("Height"), "webform_edited_extra][rows", $currfield['extra']['rows'],                             5, 10,                             t('Height of the textarea.').                            ($error['webform_edited_extra'] ? $error['webform_edited_extra'] : ''));    break;  case 'select':    $form .= form_textarea(t("Options"), "webform_edited_extra][items", $currfield['extra']['items'],                             60, 5,                             t('Enter one option per line.').'<br />'.                            webform_help('webform/helptext#variables').                            ($error['webform_edited_default'] ? $error['webform_edited_default'] : ''));    $form .= form_textfield(t("Default value"), "webform_edited_default", $currfield['default'],                             60, 127,                             t('The preselected value.').'<br />'.                            webform_help('webform/helptext#variables').                            ($error['webform_edited_default'] ? $error['webform_edited_default'] : ''));    $form .= form_checkbox(t('Multiple'), "webform_edited_extra][multiple", 'Y',                           ($currfield['extra']['multiple']=='Y'?TRUE:FALSE),                            t('Check this option if the user should be allowed to choose multiple values.'));    $form .= form_checkbox(t('Listbox'), "webform_edited_extra][aslist", 'Y',                           ($currfield['extra']['aslist']=='Y'?TRUE:FALSE),                            t('Check this option if you want the select component to be of listbox type instead of radiobuttons or checkboxes.'));    break;    	/*	case 'explanation':    $form .= form_textarea(t("Options"), "webform_edited_extra][items", $currfield['extra']['items'],                            60, 5,                            t('Enter the explaination text.').'<br />'.                            webform_help('webform/helptext#variables').                            ($error['webform_edited_default'] ? $error['webform_edited_default'] : ''));		break;  */  } // End switch  if( isset($_POST['edit']) ) {    $edit = $_POST['edit'];    foreach($edit as $key => $value) {      if( is_array($edit[$key]) ) {        foreach($edit[$key] as $key2 => $value2) {          if( !empty($value2) )             $form .= form_hidden("$key][".$key2, $value2);        }      }      else if( !empty($value) ) {        $form .= form_hidden($key, $value);      }    }  }    $form .= form_button(t('Done'),  'webform_edit_done');  $form .= t("<br>Warning: This button will accept your changes as sub-part of the edit.  You will still have to select <b>'submit'</b> on the next screen to make your changes permanent.");  print theme('page', form($form));}function _webform_process_submit(&$node, &$errors) {  global $user, $base_url;  include_once("webform.inc");    // Check referer to deny posting from of sites.  if ( variable_get('webform_allow_cross_site_posting', 0) == 1) {    $referer = parse_url( urldecode($_SERVER['HTTP_REFERER']));    $base = parse_url( urldecode($base_url.'/'));    if ( $referer['scheme'] != $base['scheme']         || $referer['host'] != $base['host']         ) {      // The submission didn't originate from our own domain, return false      watchdog('webform', t('Trying to post to webform from external domain.'),               WATCHDOG_WARNING,               '<a href="'.$_SERVER['HTTP_REFERER'].'">'.t('Visit referer').'</a>');      drupal_set_message(t('You are not allowed to post to this form from an external domain.'), 'error');      return false;        }  }  // Check to see if the user has right to use the webform  if ( !user_access('use all webforms') ){    if( !(is_array($node->roles) &&           array_intersect($node->roles, array_keys($user->roles)) ) ) {      $message = t("You are not allowed to submit data using this form.");      drupal_set_message($message, 'error');      return false;    }  }  // Handle posting to the form and output status.  $reply = $_POST['edit']['submitted'];  _webform_save_submission($node, $reply);  $message = _webform_create_mailmessage($reply);    if (isset($node->email)) {    $node->email = strip_tags($node->email);    if (!empty($node->email)) {      // Build arrays of possible return email addresses and email subject lines from elements on the form      // This is a duplicate of the code that creates the arrays for selection.      $email_from_string = "From: ". mime_header_encode(variable_get('site_mail', "webmail@{$_SERVER['SERVER_NAME']}"))."\r\n";      $email_subject_string = t('Form submission from: ').' '.$node->title;            if( is_array($node->webformcomponents_name) && !empty($node->webformcomponents_name)) {        foreach($node->webformcomponents_name as $key => $name) {          $type = $node->webformcomponents_type[$key];          //$value = $node->webformcomponents_value[$key];          if( $type == 'email' || $type == 'hidden' ){            if($name == $node->email_from){              $email_from_string = "From: ".mime_header_encode(strip_tags("$reply[$name]"))."\r\n";            }          }                    if( $type == 'textfield' || $type == 'hidden' ){            if($name == $node->email_subject){              $email_subject_string = strip_tags("$reply[$name]");            }          }        }      }            $headers = $email_from_string;      $headers .= "Date: ".date("r")."\r\n".        "X-Mailer: Drupal Webform (PHP/" . phpversion().")";            user_mail($node->email, $email_subject_string, $message, $headers);    }  }    if (variable_get('webform_debug', 0) >= 2) {    drupal_set_message("<pre>$message</pre>");  }    if (variable_get('webform_debug', 0) >= 1) {    watchdog('webform',              t('Submission posted to ')."'$node->title'.<br />\n".nl2br(htmlentities($message)),             WATCHDOG_NOTICE);        //TODO: Add reference back to submitted webform  }  return true;}function _webform_thanks() {  if ( arg(2) ) {    $node = node_load(array('nid' => arg(2)));    if ( node_access('view', $node) ) {      $node->body = check_output($node->confirmation, $node->format);      drupal_set_title($node->title);      print theme('page', theme('node', $node, FALSE, TRUE));    }    else {      drupal_access_denied();    }  }  else {    drupal_not_found();  }}/** * function _webform_create_widget Constructs a widget out of form items.  A widget may have multiple form items * as in the case of a select component. * @param $name The name of the component as used for the database table and the display * @param $type * @param $mandatory A boolean indicating that entry is mandatory ad will be policed. * @param $value * @param $extra * @param $err * @param $nid * @param $sid The Session ID to get the default values from or 0 or NULL to use the component defaults * @returns An HTML string sufficient to render the widget */function _webform_create_widget($name, $type, $mandatory, $value, $extra, $err = '', $nid = 0, $sid = 0) {  global $user;  $componentname = "submitted][$name";  if($sid && $nid){    // This widget is to be set with data that is a reflection of a current sid therefore we must harvest the data    //$sid_record = _webform_print_csv_string($title_string,arg(2),'record',NULL,$sid);    $sid_query = 'SELECT sd.sid as sid, sd.name as name, sd.data as data '.      'FROM {webform_submitted_data} sd '.      "WHERE sd.nid = %d AND sd.sid = %d AND sd.name = '%s'";    $main_result = db_query($sid_query, $nid, $sid, $name);    // Most components will return only a single entry from this query    // multiple choice objects may not however, and require a linear array of default values    //print "<p>Found " . db_num_rows($main_result) . " records for component: $name.";    $recs = db_num_rows($main_result);    if($recs > 1){      // Error! Can occur if component types are changed by editing after data has been submitted.      // This error is currently ignored and only the first of such multiple values      // will be used.    }    $record = db_fetch_object($main_result);    $value = ($extra['multiple'] == 'Y') ? unserialize($record->data):$record->data;  }  switch($type) {  case 'textarea':    return form_textarea($name, $componentname, $value, $extra['cols'], $extra['rows'],                          _webform_filtervalues($extra['description']), $extra['attributes'], $mandatory);    break;  case 'select':    $items = explode("\n", _webform_filtervalues($extra['items']));    foreach($items as $k => $v) {      $v = trim($v);      if ( strlen($v) )        $options[$v] = $v;    }    if ( $extra['aslist'] == 'Y' ) {      if ( !is_array($value) ) {        $value = array($value);      }      return form_select($name,  $componentname,                         $value, $options,                         _webform_filtervalues($extra['description']), $extra['attributes']['dummy'],                          ($extra['multiple'] == 'Y'), $mandatory);      }else      {      if ( $extra['multiple'] == 'Y' ) {        if ( !is_array($value) ) {          $value = array($value);        }        return form_checkboxes($name, $componentname, $value, $options,                                _webform_filtervalues($extra['description']), $extra['attributes'], $mandatory);            }      else {        return form_radios($name, $componentname, $value, $options,                            _webform_filtervalues($extra['description']), $mandatory, NULL);      }    }    break;  case 'label':    return form_item($name, NULL, _webform_filtervalues($extra['description']));  case 'hidden':    return form_hidden($componentname, $value);  case 'email':    if($user->uid && $user->mail && empty($value)) {      $value = $user->mail;    }  default:  // textfield    $maxsize = 255;    if ($extra['width'] && is_numeric($extra['width'])) {      $maxsize = $extra['width'];    }    return form_textfield($name, $componentname, $value, ($extra['width']?$extra['width']:50),                          $maxsize, _webform_filtervalues($extra['description']),                           $extra['attributes'], ($mandatory==1?TRUE:FALSE));    break;  }}function _webform_submission_ok($name, $type, $value, $mandatory) {  // Check if it is mandatory and if so that it exists and have a value  if($mandatory && !strlen(trim($value))) {    form_set_error('submitted]['.$name, t('You have not completed the form. %s is a mandatory field.', array('%s' => $name)));    return 1;  }  return 0;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -