[ Index ] |
PHP Cross Reference of Textpattern 4.0.8 |
[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: https://textpattern.googlecode.com/svn/releases/4.0.8/source/textpattern/include/txp_form.php $ 13 $LastChangedRevision: 3069 $ 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 ($forms and 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" class="toggle on" style="display:block">'.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" class="toggle" 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" class="toggle" 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" class="toggle" 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" class="toggle" 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" class="toggle" 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" class="toggle" style="display:none">'.popTagLinks('file_download').'</div>'. 167 168 hed('<a href="#category-tags" onclick="toggleDisplay(\'category-tags\'); return false;">'.gTxt('category_tags').'</a>'. 169 sp.popHelp('form_category_tags'), 3, ' class="plain"'). 170 '<div id="category-tags" class="toggle" style="display:none">'.popTagLinks('category').'</div>'. 171 172 hed('<a href="#section-tags" onclick="toggleDisplay(\'section-tags\'); return false;">'.gTxt('section_tags').'</a>'. 173 sp.popHelp('form_section_tags'), 3, ' class="plain"'). 174 '<div id="section-tags" class="toggle" style="display:none">'.popTagLinks('section').'</div>' 175 ). 176 tdtl( 177 '<form action="index.php" method="post">'. 178 '<textarea id="form" class="code" name="Form" cols="60" rows="20">'.htmlspecialchars($Form).'</textarea>'. 179 180 $changename. 181 182 graf(gTxt('form_type').br. 183 formtypes($type)). 184 graf(gTxt('only_articles_can_be_previewed')). 185 fInput('submit','form_preview',gTxt('preview'),'smallbox'). 186 graf($inputs). 187 '</form>' 188 189 ). 190 tdtl( 191 form_list($name) 192 ) 193 ).endTable(). 194 n.'<script type="text/javascript">'. 195 n.'if(jQuery.browser.mozilla){$("#form").attr("spellcheck", false);}'. 196 n.'</script>'; 197 198 echo $out; 199 } 200 201 // ------------------------------------------------------------- 202 203 function form_save() 204 { 205 global $vars, $step, $essential_forms; 206 207 extract(doSlash(gpsa($vars))); 208 $name = doSlash(trim(preg_replace('/[<>&"\']/', '', gps('name')))); 209 210 if (!$name) 211 { 212 $step = 'form_create'; 213 $message = gTxt('form_name_invalid'); 214 215 return form_edit($message); 216 } 217 218 if (!in_array($type, array('article','category','comment','file','link','misc','section'))) 219 { 220 $step = 'form_create'; 221 $message = gTxt('form_type_missing'); 222 223 return form_edit($message); 224 } 225 226 if ($savenew) 227 { 228 $exists = safe_field('name', 'txp_form', "name = '$name'"); 229 230 if ($exists) 231 { 232 $step = 'form_create'; 233 $message = gTxt('form_already_exists', array('{name}' => $name)); 234 235 return form_edit($message); 236 } 237 238 safe_insert('txp_form', "Form = '$Form', type = '$type', name = '$name'"); 239 240 update_lastmod(); 241 242 $message = gTxt('form_created', array('{name}' => $name)); 243 244 return form_edit($message); 245 } 246 247 safe_update('txp_form', "Form = '$Form', type = '$type', name = '$name'", "name = '$oldname'"); 248 249 update_lastmod(); 250 251 $message = gTxt('form_updated', array('{name}' => $name)); 252 253 form_edit($message); 254 } 255 256 // ------------------------------------------------------------- 257 function form_delete($name) 258 { 259 global $essential_forms; 260 if (in_array($name, $essential_forms)) return false; 261 $name = doSlash($name); 262 if (safe_delete("txp_form","name='$name'")) { 263 return true; 264 } 265 return false; 266 } 267 268 // ------------------------------------------------------------- 269 function formTypes($type) 270 { 271 $types = array(''=>'','article'=>'article','category'=>'category','comment'=>'comment', 272 'file'=>'file','link'=>'link','misc'=>'misc','section'=>'section'); 273 return selectInput('type',$types,$type); 274 } 275 276 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Thu May 21 23:03:01 2009 | Cross-referenced by PHPXref 0.7 |