function bbconnect_search_row($args = '')
{
    $defaults = array('skey' => 0, 'sval' => array(), 'meta_key' => false, 'button' => 'add');
    // PARSE THE INCOMING ARGS
    $args = wp_parse_args($args, $defaults);
    // EXTRACT THE VARIABLES
    extract($args, EXTR_SKIP);
    ?>

	<li id="<?php 
    echo $skey;
    ?>
" class="query-block query_multilist tn-wrapper">

		<span class="query-selections">
			<span class="handle"></span>
			<span id="<?php 
    echo $skey;
    ?>
-parent" class="query-parent-holder" title="<?php 
    echo $skey;
    ?>
">
				<?php 
    bbconnect_user_data_select(array('class' => 'query-parent', 'meta_key' => $meta_key, 'value' => $sval));
    ?>
			</span>

			<span id="<?php 
    echo $skey;
    ?>
-child" class="query-child-holder">
				<?php 
    bbconnect_search_form(array('fid' => $meta_key, 'key' => $skey, 'query' => $sval));
    ?>
			</span>
		</span>

		<span class="query-buttons">
			<?php 
    if ('add' != $button) {
        $a_style = ' style="display:none;"';
    } else {
        $a_style = '';
    }
    ?>
			<?php 
    if (1 == $skey) {
        $s_style = ' style="display:none;"';
    } else {
        $s_style = '';
    }
    ?>
			<a id="<?php 
    echo $skey;
    ?>
-query-loader" class="query-loader" >&nbsp;</a>
			<a id="<?php 
    echo $skey;
    ?>
-query-sub" class="query-sub" rel="<?php 
    echo $skey;
    ?>
"<?php 
    echo $s_style;
    ?>
>&nbsp;</a>
			<a id="<?php 
    echo $skey;
    ?>
-query-add" class="query-add" rel="<?php 
    echo $skey;
    ?>
"<?php 
    echo $a_style;
    ?>
>&nbsp;</a>
		</span>

	</li>

<?php 
}
示例#2
0
function bbconnect_show_form($args = null)
{
    // SET THE DEFAULTS TO BE OVERRIDDEN AS DESIRED
    $defaults = array('pid' => false, 'show_msg' => true, 'show_notify' => true, 'show_links' => true, 'column_1' => array(), 'column_2' => array());
    // PARSE THE INCOMING ARGS
    $args = wp_parse_args($args, $defaults);
    // EXTRACT THE VARIABLES
    extract($args, EXTR_SKIP);
    $option = '';
    $delete = __('Delete this field', 'bbconnect');
    $undo = __('Undo', 'bbconnect');
    if (false == $pid) {
        return false;
    }
    $option = '_bbconnect_form_' . $pid;
    $form = get_option($option);
    $forms = get_option('_bbconnect_user_forms');
    $form_name = $forms[$pid];
    ?>
	
	<div id="form-data">
	<?php 
    if (false != $show_msg) {
        ?>
		<div class="options-field">
			<h3><?php 
        _e('Messages', 'bbconnect');
        ?>
</h3>
			<p><?php 
        printf(__('Add a %1$sgreeting%2$s or instructions to the form.', 'bbconnect'), '<strong>', '</strong>');
        ?>
</p>
			<textarea style="height: 100px;" name="_bbc_option[<?php 
        echo $option;
        ?>
][msg]"><?php 
        if (isset($form['msg'])) {
            echo bbconnect_scrub('bbconnect_esc_html', $form['msg']);
        }
        ?>
</textarea>
			
			<p><?php 
        printf(__('Add a %1$sthank you%2$s or instructions to the form.', 'bbconnect'), '<strong>', '</strong>');
        ?>
</p>
			<textarea style="height: 100px;" name="_bbc_option[<?php 
        echo $option;
        ?>
][confirm]"><?php 
        if (isset($form['confirm'])) {
            echo bbconnect_scrub('bbconnect_esc_html', $form['confirm']);
        }
        ?>
</textarea>
		</div>
	<?php 
    }
    ?>
	
	<?php 
    if (false != $show_notify) {
        $fields = bbconnect_form_notify($form_name);
        echo '<div class="options-field">';
        echo '<h3>' . __('Notifications', 'bbconnect') . '</h3>';
        echo '<ul>';
        foreach ($fields as $field) {
            $args['meta'] = $field['meta'];
            $args['type'] = 'option';
            $args['action'] = 'edit';
            $args['swap_name'] = array($option);
            if (is_array($form) && isset($form[$field['meta']['meta_key']])) {
                $args['post_val'] = $form[$field['meta']['meta_key']];
            } else {
                $args['post_val'] = false;
            }
            bbconnect_get_field($args);
        }
        echo '</ul>';
        echo '</div>';
    }
    /*	
    	?>
    		<div class="options-field">
    			<h3><?php _e( 'Notifications', 'bbconnect' ); ?></h3>
    			<p><?php printf( __( 'Decide which email addresses should be %1$snotified%2$s after the form is submitted. Multiple emails should be separated by commas.', 'bbconnect' ), '<strong>', '</strong>' ); ?></p>
    			<p><input type="text" class="regular-text" name="_bbc_option[<?php echo $option; ?>][notify]" value="<?php if ( isset( $form['notify'] ) ) { echo bbconnect_scrub( 'bbconnect_esc_html', $form['notify'] ); } else { echo get_option( 'admin_email' ); } ?>" /></p>
    			
    			<p><?php printf( __( 'Set the default %1$ssubject%2$s', 'bbconnect' ), '<strong>', '</strong>.' ); ?></p>
    			<p><input type="text" class="regular-text" name="_bbc_option[<?php echo $option; ?>][subject]" value="<?php if ( isset( $form['subject'] ) ) { echo bbconnect_scrub( 'bbconnect_esc_html', $form['subject'] ); } else { printf( __( '%1$s Submission', 'bbconnect' ), $form_name ); } ?>" /></p>
    		</div>
    	<?php } */
    ?>
	
		<div class="options-field">
			<h3><?php 
    _e('Add fields', 'bbconnect');
    ?>
</h3>
			<?php 
    bbconnect_user_data_select(array('id' => 'form-field-select', 's_context' => 'form_api', 'address_unlock' => true));
    ?>
 
			<a class="button" id="add-form-field" rel="form-field-select"><?php 
    _e('+ Add Field', 'bbconnect');
    ?>
</a>
		</div>
		
		<div class="options-field">
			<div class="inside t-panel" style="display: block;">

			<?php 
    // IF IT'S A SYSTEM-GENERATED FORM
    if ('bbconnect' == $form['source'] || false !== strpos($pid, 'default')) {
        echo '<input type="hidden" name="_bbc_option[' . $option . '][source]" value="bbconnect" />';
    } else {
        echo '<input type="hidden" name="_bbc_option[' . $option . '][source]" value="user" /></div>';
    }
    // PULL THE SPECIAL FORM FIELDS
    $form_fields = bbconnect_form_api_fields();
    ?>
				<div id="column_1_holder">
					<ul id="column_1" title="<?php 
    echo $option;
    ?>
" class="forms-sortable connected-forms-sortable primary-list column">
					<?php 
    // LOOP THROUGH ALL OF THE FIELDS REGISTERED WITH THE SYSTEM
    // RETRIEVE THEIR VALUES FOR DISPLAY
    // IF IT'S A GROUP, MAKE A SUBLIST
    // WE'LL USE DRAG & DROP FOR SORTING
    if (isset($form['column_1']) && !empty($form['column_1'])) {
        $column_1 = $form['column_1'];
    }
    foreach ($column_1 as $key => $value) {
        if (isset($form_fields[$value])) {
            $val_title = esc_attr($form_fields[$value]['name']);
        } else {
            $val_arr = bbconnect_get_option($value);
            $val_title = esc_attr($val_arr['name']);
        }
        ?>
						<li>
							<div class="t-wrapper">
								<div class="t-title">
									<span><?php 
        echo $val_title;
        ?>
</span>
									<span class="right">
										<a class="delete" rel="<?php 
        echo $key;
        ?>
" title="<?php 
        echo $delete;
        ?>
">&nbsp;</a>
										<a class="undo" rel="<?php 
        echo $key;
        ?>
" title="<?php 
        echo $undo;
        ?>
">&nbsp;</a>
									</span>
									<input class="column-input" type="hidden" id="<?php 
        echo $key;
        ?>
" name="_bbc_option[<?php 
        echo $option;
        ?>
][column_1][]" value="<?php 
        echo $value;
        ?>
" />
								</div>
							</div>
						</li>
						<?php 
    }
    ?>
					</ul>
				</div>
				
				<div id="column_2_holder">
					<ul id="column_2" title="<?php 
    echo $option;
    ?>
" class="forms-sortable connected-forms-sortable primary-list column">
					<?php 
    if (isset($form['column_2']) && !empty($form['column_2'])) {
        $column_2 = $form['column_2'];
    }
    foreach ($column_2 as $key => $value) {
        if (isset($form_fields[$value])) {
            $val_title = esc_attr($form_fields[$value]['name']);
        } else {
            $val_arr = bbconnect_get_option($value);
            $val_title = esc_attr($val_arr['name']);
        }
        ?>
						<li>
							<div class="t-wrapper">
								<div class="t-title">
									<span><?php 
        echo $val_title;
        ?>
</span>
									<span class="right">
										<a class="delete" rel="<?php 
        echo $key;
        ?>
" title="<?php 
        echo $delete;
        ?>
">&nbsp;</a>
										<a class="undo" rel="<?php 
        echo $key;
        ?>
" title="<?php 
        echo undo;
        ?>
">&nbsp;</a>
									</span>
									<input class="column-input" type="hidden" id="<?php 
        echo $key;
        ?>
" name="_bbc_option[<?php 
        echo $option;
        ?>
][column_2][]" value="<?php 
        echo $value;
        ?>
" />
								</div>
							</div>
						</li>
						<?php 
    }
    ?>
					</ul>
				</div>
			</div>
		</div>
		
		<?php 
    if (false != $show_links) {
        ?>
			<div class="options-field">
				<h3><?php 
        _e('Display this form', 'bbconnect');
        ?>
</h3>
				<?php 
        echo '<p>' . sprintf(__('Use the link, shortcode or menu options below to link to this form. You can replace %1$s with your own text.', 'bbconnect'), '<strong>' . $form_name . '</strong>') . '</p>';
        echo '<p class="code-help"><strong>' . __('Embed Shortcode (embeds the form. make sure you have turned on form embedding on the panels tab)', 'bbconnect') . '</strong><br /><textarea readonly class="fin-btn">[bbconnectf id="' . $pid . '"]</textarea></p>';
        echo '<p class="code-help"><strong>' . __('Link Shortcode (generates a link)', 'bbconnect') . '</strong><br /><textarea readonly class="fin-btn">[ppf_link id="' . $pid . '" text="' . $form_name . '"]</textarea></p>';
        echo '<p class="code-help"><strong>' . __('Local Link', 'bbconnect') . '</strong><br /><textarea readonly class="fin-btn">' . htmlentities('<a class="bbconnectpanels-toggle" title="' . $pid . '" href="' . home_url() . '/bbconnect/?rel=contact&amp;bbc_form=' . $pid . '">') . $form_name . htmlentities('</a>') . '</textarea></p>';
        $bbconnectref = urlencode(serialize(array('rel' => 'contact', 'bbc_form' => $pid)));
        echo '<p class="code-help"><strong>' . __('Direct Link', 'bbconnect') . '</strong><br /><textarea readonly class="fin-btn">' . home_url() . '?bbconnectref=' . $bbconnectref . '</textarea></p>';
        bbconnect_add_to_nav_menu($form_name, $pid, '/bbconnect/?rel=contact&amp;bbc_form=' . $pid);
        ?>
		
			</div>
		<?php 
    }
    ?>
		
		<?php 
    // IF IT'S A SYSTEM-GENERATED FORM
    if (isset($form['source']) && 'bbconnect' != $form['source']) {
        if (false === strpos($pid, 'default')) {
            ?>
		<div class="options-field">
			<h3><?php 
            _e('Delete this form', 'bbconnect');
            ?>
</h3>
			<div class="tright inside"><a class="button" id="delete-form" rel="<?php 
            echo $pid;
            ?>
"><?php 
            _e('Delete This Form', 'bbconnect');
            ?>
</a></div>
		</div>
		<?php 
        }
    }
    ?>
			
		<?php 
    do_action('bbconnect_form_ext_msg', $pid);
    ?>
			
	</div>
		
	
	<script type="text/javascript">
		jQuery.noConflict();
		jQuery(document).ready(function(){
			jQuery('#wpfooter').hide();
			jQuery('#show-form').on('click', '.delete', function(){
				jQuery(this).closest('li').remove();
			});
			// SORTING FUNCTION FOR LISTS
			jQuery(function() {
				jQuery('.forms-sortable').sortable({
					connectWith: '.connected-forms-sortable', 
					appendTo: document.body, 
					placeholder: 'pp-ui-highlight', 
					forcePlaceholderSize: true, 
					forceHelperSize: true,  
					update: function(event, ui) { 
						var cid = jQuery(this).attr('id');
						var oid = jQuery(this).attr('title');
						var fid = ui.item.attr('id');
						ui.item.find('.column-input').attr('name','_bbc_option['+oid+']['+cid+'][]');
					}
				}).disableSelection();
			});
			jQuery('#add-form-field').click(function(){
				//var cref = jQuery(this).previous('select');
				var fid = jQuery('#show-form select').val();
				var fna = jQuery('#show-form select option:selected').text();
				jQuery('<li><div class="t-wrapper"><div class="t-title">'+fna+'<span></span><span class="right"><a class="delete" rel="'+fid+'" title="<?php 
    echo $delete;
    ?>
">&nbsp;</a><a class="undo" rel="'+fid+'" title="<?php 
    echo $undo;
    ?>
">&nbsp;</a></span><input class="column-input" type="hidden" id="'+fid+'" name="_bbc_option[<?php 
    echo $option;
    ?>
][column_1][]" value="'+fid+'" /></div></div></li>').appendTo('#column_1');
				return false;
			});
		});
	</script>
	<?php 
}