| [ Index ] | [ Index ] [ Classes ] [ Functions ] [ Variables ] [ Constants ] |
PHP Cross Reference of TXP stable 4.0.6 |
||
[Summary view] [Print] [Text view]
1 <?php 2 3 /* 4 This is Textpattern 5 6 Copyright 2005 by Dean Allen 7 www.textpattern.com 8 All rights reserved 9 10 Use of this software indicates acceptance of the Textpattern license agreement 11 12 $HeadURL: http://svn.textpattern.com/releases/4.0.6/source/textpattern/include/txp_form.php $ 13 $LastChangedRevision: 1913 $ 14 15 */ 16 17 if (!defined('txpinterface')) die('txpinterface is undefined.'); 18 19 global $vars; 20 $vars = array('Form','type','name','savenew','oldname'); 21 $essential_forms = array('comments','comments_display','comment_form','default','Links','files'); 22 23 if ($event == 'form') { 24 require_privs('form'); 25 26 if(!$step or !in_array($step, array('form_list','form_create','form_delete','form_edit','form_multi_edit','form_save'))){ 27 form_edit(); 28 } else $step(); 29 } 30 31 // ------------------------------------------------------------- 32 function form_list($curname) 33 { 34 global $step,$essential_forms; 35 $out[] = startTable('list'); 36 $out[] = tr(tda(sLink('form','form_create',gTxt('create_new_form')),' colspan="3" style="height:30px"')); 37 38 $out[] = assHead('form','type',''); 39 40 $methods = array('delete'=>gTxt('delete')); 41 42 43 $rs = safe_rows_start("*", "txp_form", "1 order by type asc, name asc"); 44 45 if ($rs) { 46 while ($a = nextRow($rs)){ 47 extract($a); 48 $editlink = ($curname!=$name) 49 ? eLink('form','form_edit','name',$name,$name) 50 : htmlspecialchars($name); 51 $modbox = (!in_array($name, $essential_forms)) 52 ? '<input type="checkbox" name="selected_forms[]" value="'.$name.'" />' 53 : sp; 54 $out[] = tr(td($editlink).td(small($type)).td($modbox)); 55 } 56 57 $out[] = endTable(); 58 $out[] = eInput('form').sInput('form_multi_edit'); 59 $out[] = graf(selectInput('edit_method',$methods,'',1).sp.gTxt('selected').sp. 60 fInput('submit','form_multi_edit',gTxt('go'),'smallerbox') 61 , ' align="right"'); 62 63 return form( join('',$out),'',"verify('".gTxt('are_you_sure')."')" ); 64 } 65 } 66 67 // ------------------------------------------------------------- 68 69 function form_multi_edit() 70 { 71 global $essential_forms; 72 73 $method = ps('edit_method'); 74 $forms = ps('selected_forms'); 75 76 if (is_array($forms)) 77 { 78 if ($method == 'delete') 79 { 80 foreach ($forms as $name) 81 { 82 if (!in_array($name, $essential_forms) && form_delete($name)) 83 { 84 $deleted[] = $name; 85 } 86 } 87 88 $message = gTxt('forms_deleted', array('{list}' => join(', ', $deleted))); 89 90 form_edit($message); 91 } 92 } 93 94 else 95 { 96 form_edit(); 97 } 98 } 99 100 // ------------------------------------------------------------- 101 function form_create() 102 { 103 form_edit(); 104 } 105 106 // ------------------------------------------------------------- 107 function form_edit($message='') 108 { 109 global $step,$essential_forms; 110 pagetop(gTxt('edit_forms'),$message); 111 112 extract(gpsa(array('Form','name','type'))); 113 $name = trim(preg_replace('/[<>&"\']/', '', $name)); 114 115 if ($step=='form_create') { 116 $inputs = fInput('submit','savenew',gTxt('save_new'),'publish'). 117 eInput("form").sInput('form_save'); 118 } else { 119 $name = (!$name or $step=='form_delete') ? 'default' : $name; 120 $rs = safe_row("*", "txp_form", "name='".doSlash($name)."'"); 121 // if ($rs) 122 { 123 extract($rs); 124 $inputs = fInput('submit','save',gTxt('save'),'publish'). 125 eInput("form").sInput('form_save').hInput('oldname',$name); 126 } 127 } 128 129 if (!in_array($name, $essential_forms)) 130 $changename = graf(gTxt('form_name').br.fInput('text','name',$name,'edit','','',15)); 131 else 132 $changename = graf(gTxt('form_name').br.tag($name, 'em').hInput('name',$name)); 133 134 $out = 135 startTable('edit'). 136 tr( 137 tdtl( 138 hed(gTxt('tagbuilder'), 2). 139 140 hed('<a href="#article-tags" onclick="toggleDisplay(\'article-tags\'); return false;">'.gTxt('articles').'</a>'. 141 sp.popHelp('form_articles'), 3, ' class="plain"'). 142 '<div id="article-tags">'.popTagLinks('article').'</div>'. 143 144 hed('<a href="#link-tags" onclick="toggleDisplay(\'link-tags\'); return false;">'.gTxt('links').'</a>'. 145 sp.popHelp('form_place_link'), 3, ' class="plain"'). 146 '<div id="link-tags" style="display: none;">'.popTagLinks('link').'</div>'. 147 148 hed('<a href="#comment-tags" onclick="toggleDisplay(\'comment-tags\'); return false;">'.gTxt('comments').'</a>'. 149 sp.popHelp('form_comments'), 3, ' class="plain"'). 150 '<div id="comment-tags" style="display: none;">'.popTagLinks('comment').'</div>'. 151 152 hed('<a href="#comment-detail-tags" onclick="toggleDisplay(\'comment-detail-tags\'); return false;">'.gTxt('comment_details').'</a>'. 153 sp.popHelp('form_comment_details'), 3, ' class="plain"'). 154 '<div id="comment-detail-tags" style="display: none;">'.popTagLinks('comment_details').'</div>'. 155 156 hed('<a href="#comment-form-tags" onclick="toggleDisplay(\'comment-form-tags\'); return false;">'.gTxt('comment_form').'</a>'. 157 sp.popHelp('form_comment_form'), 3, ' class="plain"'). 158 '<div id="comment-form-tags" style="display: none;">'.popTagLinks('comment_form').'</div>'. 159 160 hed('<a href="#search-result-tags" onclick="toggleDisplay(\'search-result-tags\'); return false;">'.gTxt('search_results_form').'</a>'. 161 sp.popHelp('form_search_results'), 3, ' class="plain"'). 162 '<div id="search-result-tags" style="display: none;">'.popTagLinks('search_result').'</div>'. 163 164 hed('<a href="#file-tags" onclick="toggleDisplay(\'file-tags\'); return false;">'.gTxt('file_download_tags').'</a>'. 165 sp.popHelp('form_file_download_tags'), 3, ' class="plain"'). 166 '<div id="file-tags" style="display: none;">'.popTagLinks('file_download').'</div>' 167 ). 168 tdtl( 169 '<form action="index.php" method="post">'. 170 '<textarea id="form" class="code" name="Form" cols="60" rows="20">'.htmlspecialchars($Form).'</textarea>'. 171 172 $changename. 173 174 graf(gTxt('form_type').br. 175 formtypes($type)). 176 graf(gTxt('only_articles_can_be_previewed')). 177 fInput('submit','form_preview',gTxt('preview'),'smallbox'). 178 graf($inputs). 179 '</form>' 180 181 ). 182 tdtl( 183 form_list($name) 184 ) 185 ).endTable(); 186 187 echo $out; 188 } 189 190 // ------------------------------------------------------------- 191 192 function form_save() 193 { 194 global $vars, $step, $essential_forms; 195 196 extract(doSlash(gpsa($vars))); 197 $name = doSlash(trim(preg_replace('/[<>&"\']/', '', gps('name')))); 198 199 if (!$name) 200 { 201 $step = 'form_create'; 202 $message = gTxt('form_name_invalid'); 203 204 return form_edit($message); 205 } 206 207 if (!in_array($type, array('article','comment','link','misc','file'))) 208 { 209 $step = 'form_create'; 210 $message = gTxt('form_type_missing'); 211 212 return form_edit($message); 213 } 214 215 if ($savenew) 216 { 217 $exists = safe_field('name', 'txp_form', "name = '$name'"); 218 219 if ($exists) 220 { 221 $step = 'form_create'; 222 $message = gTxt('form_already_exists', array('{name}' => $name)); 223 224 return form_edit($message); 225 } 226 227 safe_insert('txp_form', "Form = '$Form', type = '$type', name = '$name'"); 228 229 update_lastmod(); 230 231 $message = gTxt('form_created', array('{name}' => $name)); 232 233 return form_edit($message); 234 } 235 236 safe_update('txp_form', "Form = '$Form', type = '$type', name = '$name'", "name = '$oldname'"); 237 238 update_lastmod(); 239 240 $message = gTxt('form_updated', array('{name}' => $name)); 241 242 form_edit($message); 243 } 244 245 // ------------------------------------------------------------- 246 function form_delete($name) 247 { 248 global $essential_forms; 249 if (in_array($name, $essential_forms)) return false; 250 $name = doSlash($name); 251 if (safe_delete("txp_form","name='$name'")) { 252 return true; 253 } 254 return false; 255 } 256 257 // ------------------------------------------------------------- 258 function formTypes($type) 259 { 260 $types = array(''=>'','article'=>'article','comment'=>'comment','link'=>'link','misc'=>'misc','file'=>'file'); 261 return selectInput('type',$types,$type); 262 } 263 264 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Mon Feb 18 03:42:45 2008 | Cross-referenced by PHPXref 0.7 |