* '; $not_required_item = '   '; $Code.='
'; if($numMailingLists > 1) { $Code .= ' '; } } $lists=mysql_query("SELECT * FROM " . $TABLEPREFIX . "form_lists WHERE FormID='".addslashes($FormID)."'"); while($l=mysql_fetch_assoc($lists)) { $l = stripslashes_array($l); $list=mysql_fetch_assoc(mysql_query("SELECT * FROM " . $TABLEPREFIX . "lists WHERE ListID='".addslashes($l['ListID'])."'")); $list = stripslashes_array($list); if (empty($list)) continue; $Format = array(); if($list['Formats']==2 || $list['Formats']==3) { $Format['HTML']=1; } if($list['Formats']==1 || $list['Formats']==3) { $Format['Text']=1; } } //formats if(sizeof($Format)>1) { $format = 2; if ($form['FormType'] == 'modify' && !empty($member_details)) { $format = $member_details['Format']; } $Code .= ' '; } else { if(isset($Format['HTML']) && $Format['HTML']==1) { $Code .= "\n" . ''; } else { $Code .= "\n" . ''; } } //form code! $Code .= "\n\n" . ''; $size = $min = $max = $Width = $Height = 0; $i = $numLists + 2; $r = ""; if (!empty($include_fields)) { $query = "SELECT *"; if (!empty($field_order)) { $query .= ", CASE lf.FieldID"; foreach($field_order as $fieldid => $order) { $query .= " WHEN " . $fieldid . " THEN " . (int)$order; } $query .= " END AS sort_order"; } $query .= " FROM " . $TABLEPREFIX . "list_fields lf WHERE lf.FieldID IN (" . implode(',', array_keys($include_fields)) . ") ORDER BY "; if (!empty($field_order)) { $query .= " sort_order ASC, "; } $query .= " lf.FieldName"; } else { // we need the distinct because otherwise we'll get duplicates if there are multiple 'Manager' users.... // but we don't want to restrict with this adminid, since we might be generating for another user. $query = "SELECT DISTINCT ff.FieldID, ff.FormID, ff.FieldOrder, lf.FieldName, lf.FieldType, lf.DefaultValue, lf.AllValues, lf.Required FROM " . $TABLEPREFIX . "form_fields ff, " . $TABLEPREFIX . "list_fields lf WHERE lf.FieldID=ff.FieldID"; if ($CURRENTADMIN['Manager'] != 1) $query .= " AND ff.AdminID='".addslashes($form['AdminID'])."'"; $query .= " AND FormID='" . addslashes($form['FormID']) . "'"; $query .= " ORDER BY ff.FieldOrder, lf.FieldName"; } $list_fields=mysql_query($query); while($lf=mysql_fetch_assoc($list_fields)) { $lf = stripslashes_array($lf); if ($form['FormType'] == 'modify' && !empty($member_details)) { $default_value_result = mysql_query("SELECT Value FROM " . $TABLEPREFIX . "list_field_values WHERE FieldID='" . addslashes($lf['FieldID']) . "' AND UserID='" . addslashes($member_details['MemberID']) . "' LIMIT 1"); $default_value = mysql_fetch_assoc($default_value_result); $lf['DefaultValue'] = $default_value['Value']; } $i++; switch($lf['FieldType']) { case 'shorttext': $vals = explode(',', $lf['AllValues']); $size = (isset($vals[0])) ? $vals[0] : 50; $min = (isset($vals[1])) ? $vals[1] : 0; $max = (isset($vals[2])) ? $vals[2] : 0; if($lf['Required'] == 1) { $r = $required_item; $arrFormItems[] = array($lf['FieldName'], 0, $lf['FieldID'], 'min' => $min, 'max' => $max); } else { $r = $not_required_item; } $Code .= ' '; break; case 'longtext': list($Width,$Height)=explode(',',$lf['AllValues']); if($lf['Required'] == 1) { $r = $required_item; $arrFormItems[] = array($lf['FieldName'], 1, $lf['FieldID'], 'min' => $min, 'max' => $max); } else { $r = $not_required_item; } $Code .= ' '; break; case 'checkbox': if($lf['Required'] == 1) { $r = $required_item; $arrFormItems[] = array($lf['FieldName'], 2, $lf['FieldID']); } else { $r = $not_required_item; } $Code .= ' '; break; case 'dropdown': if($lf['Required'] == 1) { $r = $required_item; $arrFormItems[] = array($lf['FieldName'], 3, $lf['FieldID']); } else { $r = $not_required_item; } $Code .= ' '; break; case 'multicheckbox': if($lf['Required'] == 1) { $r = $required_item; } else { $r = $not_required_item; } $Code .= ' '; break; case 'number': $vals = explode(',', $lf['AllValues']); $size = (isset($vals[0])) ? $vals[0] : 50; $min = (isset($vals[1])) ? $vals[1] : 0; $max = (isset($vals[2])) ? $vals[2] : 0; if($lf['Required'] == 1) { $r = $required_item; $arrFormItems[] = array($lf["FieldName"], 5, $lf['FieldID'], 'min' => $min, 'max' => $max); } else { $r = $not_required_item; } $Code .= ' '; break; case 'datebox': list($opt1, $opt2, $opt3, $startyr, $endyr) = explode(',', $lf['AllValues']); if (strpos($lf['DefaultValue'], ':') > 0) { $default_values = explode(':', $lf['DefaultValue']); $default_day = (isset($default_values[0])) ? $default_values[0] : 1; $default_month = (isset($default_values[1])) ? $default_values[1] : 1; $default_year = (isset($default_values[2])) ? $default_values[2] : $startyr; } else { $default_day = $default_month = 1; $default_year = $startyr; } if ($endyr <= 0) $endyr = date("Y"); $order = array($opt1, $opt2, $opt3); $space = '  '; if($lf['Required'] == 1) { $r = $required_item; $arrFormItems[] = array($lf["FieldName"], 6, $lf['FieldID']); } else { $r = $not_required_item; } $days = ''. $space; $mths = ''. $space; $yrs = ''. $space; $Code .= ' '; break; } # end switch } # end while($lf=mysql_fetch_assoc($list_fields)) $form_button = ($form['FormType'] == 'modify') ? 'Update Details' : 'Subscribe'; $Code.='

 ' . $form["FormName"] . '

* Your Email Address:

* Mailing List(s):

'; } //general fields! $numLists = 0; $arrFormItems = array(); switch($form['FormType']) { case 'sub': case 'modify': $available_lists = array(); //select lists? if (empty($mailing_lists)) { $qry = "SELECT * FROM " . $TABLEPREFIX . "form_lists WHERE FormID='".addslashes($FormID)."'"; $form_lists=mysql_query($qry); while($fl=mysql_fetch_assoc($form_lists)) { $fl = stripslashes_array($fl); $listinfo=mysql_fetch_assoc(mysql_query("SELECT * FROM " . $TABLEPREFIX . "lists WHERE ListID='".addslashes($fl['ListID'])."'")); $listinfo = stripslashes_array($listinfo); if (empty($listinfo)) continue; $numLists++; $available_lists[$fl['ListID']] = $listinfo; if($numMailingLists > 1) { if ($form['FormType'] == 'modify' && !empty($member_details)) { $member_check_query = "SELECT MemberID FROM " . $TABLEPREFIX . "members WHERE Email='" . addslashes($member_details['Email']) . "' AND ListID='" . addslashes($listinfo['ListID']) . "'"; $member_result = mysql_query($member_check_query); $checked = ''; if (mysql_num_rows($member_result) > 0) $checked = ' CHECKED'; } else { $checked = ' CHECKED'; } $Code .= ''.$listinfo['ListName'].'
'; } else { $Code .= ''; } } } else { foreach(array_keys($mailing_lists) as $lid) { $listinfo=mysql_fetch_assoc(mysql_query("SELECT * FROM " . $TABLEPREFIX . "lists WHERE ListID='".addslashes($lid)."'")); $listinfo = stripslashes_array($listinfo); if (empty($listinfo)) continue; $available_lists[$lid] = $listinfo; if($numMailingLists > 1) { $Code .= ''.$listinfo['ListName'].'
'; } else { $Code .= ''; } } if($numMailingLists > 1) { $Code .= '

* Preferred Format:

' . $r . $lf["FieldName"].':

' . $r . $lf["FieldName"].':

  ' . $r . $lf["FieldName"].':

' . $lf["AllValues"] . '

' . $r . $lf["FieldName"].':

' . $r . $lf["FieldName"].':

'; $options=explode(';',$lf['AllValues']); $checked = ''; if (strtolower($lf['DefaultValue']) == 'checked') $checked = 'CHECKED'; if (strpos($lf['DefaultValue'], ':') !== false) { $lf['DefaultValue'] = explode(':', $lf['DefaultValue']); } foreach($options as $opt) { if($opt) { list($val,$name)=explode('->',$opt); if (is_array($lf['DefaultValue']) && in_array($val, $lf['DefaultValue'])) $checked = 'CHECKED'; $Code .=''; $Code .= ''; $Code .= ''; $Code .= ''; $checked = ''; } } $arrFormItems[] = array($lf['FieldName'], 4, $lf['FieldID']); $Code .= '
' . $name . '

' . $r . $lf["FieldName"].':

' . $r . $lf["FieldName"].':

'; foreach($order as $o) { switch($o) { case 'day': $Code .= $days; break; case 'month': $Code .= $mths; break; case 'year': $Code .= $yrs; break; } } $Code = substr($Code, 0, -(strlen($space))); $Code .= '


 

'; break; # end case 'sub' case 'unsub': //select lists? if($form['SelectLists']==1 || !empty($mailing_lists)) { if (empty($mailing_lists)) { $form_lists=mysql_query("SELECT * FROM " . $TABLEPREFIX . "form_lists WHERE FormID='".addslashes($FormID)."'"); while($fl=mysql_fetch_assoc($form_lists)) { $fl = stripslashes_array($fl); $listinfo=mysql_fetch_assoc(mysql_query("SELECT * FROM " . $TABLEPREFIX . "lists WHERE ListID='".addslashes($fl['ListID'])."'")); $listinfo = stripslashes_array($listinfo); if (empty($listinfo)) continue; // dont try to display non-existent mailing lists. $numLists++; if($numMailingLists > 1) { $Code .= ''.$listinfo["ListName"].'
'; } else { $Code .= ''; } } $Code .= "\n\n" . ''; } if (!empty($mailing_lists)) { foreach(array_keys($mailing_lists) as $lid) { $listinfo=mysql_fetch_assoc(mysql_query("SELECT * FROM " . $TABLEPREFIX . "lists WHERE ListID='".addslashes($lid)."'")); $listinfo = stripslashes_array($listinfo); if (empty($listinfo)) continue; $available_lists[$lid] = $listinfo; if($numMailingLists > 1) { $Code .= ''.$listinfo['ListName'].'
'; } else { $Code .= ''; } } } } $Code .= '


 
'; break; } # end switch($form['FormType']) return $Code; } # end function FormByTemplate($TemplateID, $FormID) ?>