Changeset 1664390
- Timestamp:
- 05/25/2017 12:04:25 AM (9 years ago)
- Location:
- select-options-from-database-for-contact-form-7/trunk
- Files:
-
- 2 edited
-
readme.txt (modified) (2 diffs)
-
select_options_from_db_for_cf7.php (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
select-options-from-database-for-contact-form-7/trunk/readme.txt
r1662710 r1664390 4 4 Requires at least: 4.0 5 5 Tested up to: 4.2.2 6 Stable tag: 1. 06 Stable tag: 1.1 7 7 License: GPLv2 or later 8 8 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 46 46 == Changelog == 47 47 48 = 1.1 = 49 Added filter results by one word 50 48 51 = 1.0 = 49 52 * First release. -
select-options-from-database-for-contact-form-7/trunk/select_options_from_db_for_cf7.php
r1423991 r1664390 5 5 Plugin URI: https://wordpress.org/plugins/select-options-from-database-for-contact-form-7/ 6 6 Description: Extend contact form 7 with new tag type : select options from database. Any column in your database can be a source to this select options element. 7 Version: 1. 08 Author: toronetil9 Author URI: http:// genie_platform.com/7 Version: 1.1 8 Author: Dynamic Plugin 9 Author URI: http://dynamicplugin.com/ 10 10 License: GPL2 11 11 */ … … 86 86 $type = $tag['type']; 87 87 $name = $tag['name']; 88 $filter = $tag['filter']; 88 89 $options = (array) $tag['options']; 89 90 $values = (array) $tag['values']; … … 101 102 $columnNameShow=''; 102 103 $columnNameValue=''; 104 $filter=''; 103 105 $id_att = 'autocomplete'; 104 106 … … 123 125 $columnNameValue = $matches[1]; 124 126 } 127 128 if ( preg_match( '%^filter:([-0-9a-zA-Z_]+)$%', $option, $matches ) ) { 129 $filter = $matches[1]; 130 } 125 131 } 126 132 … … 155 161 $columnNameShowCorrect=str_replace($tableName."-","",$columnNameShow); 156 162 $columnNameValueCorrect=str_replace($tableName."-","",$columnNameValue); 157 $query = "select ".$columnNameShowCorrect.",".$columnNameValueCorrect." from ".$tableName." group by ".$columnNameShowCorrect.",".$columnNameValueCorrect; 163 if($filter!='') 164 { 165 $query = "select ".$columnNameShowCorrect.",".$columnNameValueCorrect." from ".$tableName." where 166 ".$columnNameValueCorrect." like '%".Trim( $filter)."%' 167 group by ".$columnNameShowCorrect.",".$columnNameValueCorrect; 168 } 169 else { 170 $query = "select " . $columnNameShowCorrect . "," . $columnNameValueCorrect . " from " . $tableName . " 171 group by " . $columnNameShowCorrect . "," . $columnNameValueCorrect; 172 } 158 173 $optionValues = $db->getResults($query); 174 159 175 foreach($optionValues as $optionValue) 160 176 { … … 184 200 $type = $tag['type']; 185 201 $name = $tag['name']; 202 $filter = $tag['filter']; 186 203 $value = isset( $_POST[$name] ) ? trim( wp_unslash( strtr( (string) $_POST[$name], "\n", " " ) ) ) : ''; 187 204 … … 204 221 if (class_exists('WPCF7_TagGenerator')) { 205 222 $tag_generator = WPCF7_TagGenerator::get_instance(); 206 $tag_generator->add( 'dbactext', __( ' Select options from database ', 'contact-form-7' ), 'wpcf7_tg_pane_dbactext' ); 223 $tag_generator->add( 'dbactext', __( ' Select options from database ', 'contact-form-7' ), 224 'wpcf7_tg_pane_dbactext' ); 207 225 } else if (function_exists('wpcf7_add_tag_generator')) { 208 wpcf7_add_tag_generator( 'dbactext', __( ' Select options from database ', 'wpcf7' ), 'wpcf7_tg_pane_dbactext', 'wpcf7_tg_pane_dbactext' ); 226 wpcf7_add_tag_generator( 'dbactext', __( ' Select options from database ', 'wpcf7' ), 227 'wpcf7_tg_pane_dbactext', 'wpcf7_tg_pane_dbactext' ); 209 228 } 210 229 } … … 228 247 <td> 229 248 <fieldset> 230 <legend class="screen-reader-text"><?php echo esc_html( __( 'Field type', 'contact-form-7' ) ); ?></legend> 231 <label><input type="checkbox" name="required" /> <?php echo esc_html( __( 'Required field', 'contact-form-7' ) ); ?></label> 249 <legend class="screen-reader-text"><?php echo esc_html( __( 'Field type', 'contact-form-7' ) ); ?> 250 </legend> 251 <label><input type="checkbox" name="required" /> 252 <?php echo esc_html( __( 'Required field', 'contact-form-7' ) ); ?> 253 </label> 232 254 </fieldset> 233 255 </td> 234 256 </tr> 235 257 <tr> 236 <th scope="row"><label for="<?php echo esc_attr( $args['content'] . '-name' ); ?>"><?php echo esc_html( __( 'Name', 'contact-form-7' ) ); ?></label></th> 237 <td><input type="text" name="name" class="tg-name oneline" id="<?php echo esc_attr( $args['content'] . '-name' ); ?>" /></td> 238 </tr> 239 240 <tr> 241 <th scope="row"><label for="<?php echo esc_attr( $args['content'] . '-tableName' ); ?>"><?php echo esc_html( __( 'Table Name', 'contact-form-7' ) ); ?></label></th> 242 <td><select name="tableNameSelected" class="tg-tableNameSelected oneline" id="<?php echo esc_attr( $args['content'] . '-tableNameSelected' ); ?>" 243 onchange="cpf7CopyValueAndFilter('<?php echo esc_attr( $args['content'] . '-tableNameSelected' ); ?>','<?php echo esc_attr( $args['content'] . '-tableName' ); ?>','<?php echo esc_attr( $args['content'] . '-columnNameShowSelected' ); ?>','<?php echo esc_attr( $args['content'] . '-columnNameShow' ); ?>','<?php echo esc_attr( $args['content'] . '-columnNameValueSelected' ); ?>','<?php echo esc_attr( $args['content'] . '-columnNameValue' ); ?>')" /> 258 <th scope="row"><label for="<?php echo esc_attr( $args['content'] . '-name' ); ?>"> 259 <?php echo esc_html( __( 'Name', 'contact-form-7' ) ); ?></label></th> 260 <td><input type="text" name="name" class="tg-name oneline" 261 id="<?php echo esc_attr( $args['content'] . '-name' ); ?>" /></td> 262 </tr> 263 264 <tr> 265 <th scope="row"><label for="<?php echo esc_attr( $args['content'] . '-tableName' ); ?>"> 266 <?php echo esc_html( __( 'Table Name', 'contact-form-7' ) ); ?></label></th> 267 <td><select name="tableNameSelected" class="tg-tableNameSelected oneline" 268 id="<?php echo esc_attr( $args['content'] . '-tableNameSelected' ); ?>" 269 onchange="cpf7CopyValueAndFilter('<?php echo esc_attr( $args['content'] . '-tableNameSelected' ); ?>', 270 '<?php echo esc_attr( $args['content'] . '-tableName' ); ?>', 271 '<?php echo esc_attr( $args['content'] . '-columnNameShowSelected' ); ?>', 272 '<?php echo esc_attr( $args['content'] . '-columnNameShow' ); ?>', 273 '<?php echo esc_attr( $args['content'] . '-columnNameValueSelected' ); ?>', 274 '<?php echo esc_attr( $args['content'] . '-columnNameValue' ); ?>')" /> 244 275 <?php 245 276 foreach ($tables as $tableDetails) 246 277 { 247 278 ?> 248 <option value="<?php echo $tableDetails["TABLE_NAME"] ;?>" selected="selected" > <?php echo $tableDetails["TABLE_NAME"] ;?> </option> 279 <option value="<?php echo $tableDetails["TABLE_NAME"] ;?>" 280 selected="selected" > <?php echo $tableDetails["TABLE_NAME"] ;?> </option> 249 281 <?php 250 282 } 251 283 252 284 ?> 253 <td><input type="text" name="tableName" class="tableNamevalue oneline option" id="<?php echo esc_attr( $args['content'] . '-tableName' ); ?>" style="visibility:hidden;" /></td> 285 <td><input type="text" name="tableName" class="tableNamevalue oneline option" id="<?php echo 286 esc_attr( $args['content'] . '-tableName' ); ?>" style="visibility:hidden;" /></td> 254 287 </select> 255 288 … … 258 291 259 292 <tr> 260 <th scope="row"><label for="<?php echo esc_attr( $args['content'] . '-columnNameShowName' ); ?>"><?php echo esc_html( __( 'Column name to show', 'contact-form-7' ) ); ?></label></th> 261 <td><select name="columnNameShowSelected" class="tg-columnNameShowSelected oneline" id="<?php echo esc_attr( $args['content'] . '-columnNameShowSelected' ); ?>" 262 onchange="cpf7CopyValue('<?php echo esc_attr( $args['content'] . '-columnNameShowSelected' ); ?>','<?php echo esc_attr( $args['content'] . '-columnNameShow' ); ?>')" /> 293 <th scope="row"><label for="<?php echo esc_attr( $args['content'] . '-columnNameShowName' ); ?>"> 294 <?php echo esc_html( __( 'Column name to show', 'contact-form-7' ) ); ?></label></th> 295 <td><select name="columnNameShowSelected" class="tg-columnNameShowSelected oneline" 296 id="<?php echo esc_attr( $args['content'] . '-columnNameShowSelected' ); ?>" 297 onchange="cpf7CopyValue('<?php echo esc_attr( $args['content'] . '-columnNameShowSelected' ); ?>', 298 '<?php echo esc_attr( $args['content'] . '-columnNameShow' ); ?>')" /> 263 299 <?php 264 300 foreach ($columns as $columnDetails) 265 301 { 266 302 ?> 267 <option value="<?php echo $columnDetails["TABLE_NAME"]."-". $columnDetails["COLUMN_NAME"];?>" selected="selected" > <?php echo $columnDetails["TABLE_NAME"]."-". $columnDetails["COLUMN_NAME"];?> </option> 303 <option value="<?php echo $columnDetails["TABLE_NAME"]."-". $columnDetails["COLUMN_NAME"];?>" 304 selected="selected" > <?php echo $columnDetails["TABLE_NAME"]."-". 305 $columnDetails["COLUMN_NAME"];?> </option> 268 306 <?php 269 307 } 270 308 271 309 ?> 272 <td><input type="text" name="columnNameShow" class="columnNameShowvalue oneline option" id="<?php echo esc_attr( $args['content'] . '-columnNameShow' ); ?>" style="visibility:hidden;" /></td> 310 <td><input type="text" name="columnNameShow" class="columnNameShowvalue oneline option" 311 id="<?php echo esc_attr( $args['content'] . '-columnNameShow' ); ?>" style="visibility:hidden;" /></td> 273 312 </select> 274 313 … … 277 316 278 317 <tr> 279 <th scope="row"><label for="<?php echo esc_attr( $args['content'] . '-columnNameValueName' ); ?>"><?php echo esc_html( __( 'Column name to value', 'contact-form-7' ) ); ?></label></th> 280 <td><select name="columnNameValueSelected" class="tg-columnNameValueSelected oneline" id="<?php echo esc_attr( $args['content'] . '-columnNameValueSelected' ); ?>" 281 onchange="cpf7CopyValue('<?php echo esc_attr( $args['content'] . '-columnNameValueSelected' ); ?>','<?php echo esc_attr( $args['content'] . '-columnNameValue' ); ?>')" /> 318 <th scope="row"><label for="<?php echo esc_attr( $args['content'] . '-columnNameValueName' ); ?>"> 319 <?php echo esc_html( __( 'Column name to value', 'contact-form-7' ) ); ?></label></th> 320 <td><select name="columnNameValueSelected" class="tg-columnNameValueSelected oneline" 321 id="<?php echo esc_attr( $args['content'] . '-columnNameValueSelected' ); ?>" 322 onchange="cpf7CopyValue('<?php echo esc_attr( $args['content'] . '-columnNameValueSelected' ); ?>', 323 '<?php echo esc_attr( $args['content'] . '-columnNameValue' ); ?>')" /> 282 324 <?php 283 325 foreach ($columns as $columnDetails) 284 326 { 285 327 ?> 286 <option value="<?php echo $columnDetails["TABLE_NAME"]."-". $columnDetails["COLUMN_NAME"];?>" selected="selected" > <?php echo $columnDetails["TABLE_NAME"]."-". $columnDetails["COLUMN_NAME"];?> </option> 328 <option value="<?php echo $columnDetails["TABLE_NAME"]."-". $columnDetails["COLUMN_NAME"];?>" 329 selected="selected" > <?php echo $columnDetails["TABLE_NAME"]."-". 330 $columnDetails["COLUMN_NAME"];?> </option> 287 331 <?php 288 332 } 289 333 290 334 ?> 291 <td><input type="text" name="columnNameValue" class="columnNameValuevalue oneline option" id="<?php echo esc_attr( $args['content'] . '-columnNameValue' ); ?>" style="visibility:hidden;" /></td> 335 <td><input type="text" name="columnNameValue" 336 class="columnNameValuevalue oneline option" 337 id="<?php echo esc_attr( $args['content'] . '-columnNameValue' ); ?>" 338 style="visibility:hidden;" /></td> 292 339 </select> 293 340 294 341 </td> 295 342 </tr> 296 297 <tr> 298 <th scope="row"><label for="<?php echo esc_attr( $args['content'] . '-class' ); ?>"><?php echo esc_html( __( 'Class (optional)', 'contact-form-7' ) ); ?></label></th> 299 <td><input type="text" name="class" class="classvalue oneline option" id="<?php echo esc_attr( $args['content'] . '-class' ); ?>" /></td> 343 <tr> 344 <th scope="row"><label for="<?php echo esc_attr( $args['content'] . '-filter' ); ?>"> 345 <?php echo esc_html( __( 'Filter', 'contact-form-7' ) ); ?></label></th> 346 <td><input type="text" name="filter" class="filtervalue oneline option" 347 id="<?php echo esc_attr( $args['content'] . '-filter' ); ?>" /> 348 <br/> <?php echo esc_html( __( 'One word only', 'contact-form-7' ) ); ?> 349 </td> 350 </tr> 351 <tr> 352 <th scope="row"><label for="<?php echo esc_attr( $args['content'] . '-class' ); ?>"> 353 <?php echo esc_html( __( 'Class (optional)', 'contact-form-7' ) ); ?></label></th> 354 <td><input type="text" name="class" class="classvalue oneline option" 355 id="<?php echo esc_attr( $args['content'] . '-class' ); ?>" /></td> 300 356 </tr> 301 357 </tbody> … … 307 363 308 364 <div class="submitbox"> 309 <input type="button" class="button button-primary insert-tag" value="<?php echo esc_attr( __( 'Insert Tag', 'contact-form-7' ) ); ?>" /> 365 <input type="button" class="button button-primary insert-tag" 366 value="<?php echo esc_attr( __( 'Insert Tag', 'contact-form-7' ) ); ?>" /> 310 367 </div> 311 368 312 369 <br class="clear" /> 313 370 314 <p class="description mail-tag"><label for="<?php echo esc_attr( $args['content'] . '-mailtag' ); ?>"><?php echo sprintf( esc_html( __( "To use the value input through this field in a mail field, you need to insert the corresponding mail-tag (%s) into the field on the Mail tab.", 'contact-form-7' ) ), '<strong><span class="mail-tag"></span></strong>' ); ?><input type="text" class="mail-tag code hidden" readonly="readonly" id="<?php echo esc_attr( $args['content'] . '-mailtag' ); ?>" /></label></p> 371 <p class="description mail-tag"><label for="<?php echo esc_attr( $args['content'] . '-mailtag' ); ?>"> 372 <?php echo sprintf( esc_html( __( "To use the value input through this field in a mail field, 373 you need to insert the corresponding mail-tag (%s) into the field on the Mail tab.", 'contact-form-7' ) ), 374 '<strong><span class="mail-tag"></span></strong>' ); ?><input type="text" class="mail-tag code hidden" 375 readonly="readonly" id="<?php echo esc_attr( $args['content'] . '-mailtag' ); ?>" /></label></p> 315 376 </div> 316 377
Note: See TracChangeset
for help on using the changeset viewer.