ASong2U_Web/wp-content/plugins/gravityforms/select_columns.php

163 lines
7.8 KiB
PHP

<?php
//For backwards compatibility, load wordpress if it hasn't been loaded yet
//Will be used if this file is being called directly
if(!class_exists("RGForms")){
for ( $i = 0; $i < $depth = 10; $i++ ) {
$wp_root_path = str_repeat( '../', $i );
if ( file_exists("{$wp_root_path}wp-load.php" ) ) {
require_once("{$wp_root_path}wp-load.php");
require_once("{$wp_root_path}wp-admin/includes/admin.php");
break;
}
}
auth_redirect();
}
$form_id = $_GET["id"];
if(empty($form_id)){
echo __("Oops! We could not locate your form. Please try again.", "gravityforms");
exit;
}
//reading form metadata
$form = RGFormsModel::get_form_meta($form_id);
?>
<html>
<head>
<?php
wp_print_styles(array("wp-admin", "colors-fresh"));
?>
<script src="<?php echo GFCommon::get_base_url()?>/js/jquery-1.3.2.min.js?ver=<?php echo GFCommon::$version ?>"></script>
<script src="<?php echo GFCommon::get_base_url()?>/js/jquery-ui/ui.core.js?ver=<?php echo GFCommon::$version ?>"></script>
<script src="<?php echo GFCommon::get_base_url()?>/js/jquery-ui/ui.sortable.js?ver=<?php echo GFCommon::$version ?>"></script>
<style type="text/css">
body {font-family:"Lucida Grande",Verdana,Arial,sans-serif;}
#sortable_available, #sortable_selected { list-style-type: none; margin: 0; padding: 2px; height:250px; border:1px solid #eaeaea; -moz-border-radius:4px; -webkit-border-radius:4px; -khtml-border-radius:4px; border-radius:4px background-color:#FFF;}
#sortable_available li, #sortable_selected li { margin: 0 2px 2px 2px; padding:2px; width: 96%; border:1px solid white; cursor:pointer; font-size: 13px;}
.field_hover { border: 1px dashed #2175A9!important;}
.placeholder{background-color: #FFF0A5; height:20px;}
.gcolumn_wrapper {overflow:auto; height:290px;}
.gcolumn_container_left, .gcolumn_container_right {width:46%;}
.gcolumn_container_left {float:left;}
.gcolumn_container_right {float:right;}
.gform_select_column_heading{font-weight:bold; padding-bottom:7px; font-size:13px;}
.column-arrow-mid {float:left; width:45px; height:250px; background-image:url(images/arrow-rightleft.jpg); background-repeat:no-repeat; background-position:center center; margin-top:26px;}
.panel-instructions {border-bottom: 1px solid #dfdfdf; color:#555; font-size:11px; padding:4px 0; margin-bottom:6px}
div.panel-buttons {margin-top:8px}
div.panel-buttons {*margin-top:0px} /* ie specific */
</style>
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery("#sortable_available, #sortable_selected").sortable({connectWith: '.sortable_connected', placeholder: 'placeholder'});
jQuery(".sortable_connected li").hover(
function(){
jQuery(this).addClass("field_hover");
},
function(){
jQuery(this).removeClass("field_hover");
}
);
});
var columns = new Array();
function SelectColumns(){
jQuery("#sortable_selected li").each(function(){
columns.push(this.id);
});
self.parent.parent.ChangeColumns(columns);
}
</script>
</head>
<body>
<?php
$columns = RGFormsModel::get_grid_columns($form_id);
$field_ids = array_keys($columns);
$form = RGFormsModel::get_form_meta($form_id);
array_push($form["fields"],array("id" => "id" , "label" => __("Entry Id", "gravityforms")));
array_push($form["fields"],array("id" => "date_created" , "label" => __("Entry Date", "gravityforms")));
array_push($form["fields"],array("id" => "ip" , "label" => __("User IP", "gravityforms")));
array_push($form["fields"],array("id" => "source_url" , "label" => __("Source Url", "gravityforms")));
array_push($form["fields"],array("id" => "payment_status" , "label" => __("Payment Status", "gravityforms")));
array_push($form["fields"],array("id" => "transaction_id" , "label" => __("Transaction Id", "gravityforms")));
array_push($form["fields"],array("id" => "payment_amount" , "label" => __("Payment Amount", "gravityforms")));
array_push($form["fields"],array("id" => "payment_date" , "label" => __("Payment Date", "gravityforms")));
array_push($form["fields"],array("id" => "created_by" , "label" => __("User", "gravityforms")));
?>
<div class="panel-instructions"><?php _e("Drag & drop to order and select which columns are displayed in the entries table.", "gravityforms") ?></div>
<div class="gcolumn_wrapper">
<div class="gcolumn_container_left">
<div class="gform_select_column_heading"><?php _e("Active Columns", "gravityforms"); ?></div>
<ul id="sortable_selected" class="sortable_connected">
<?php
foreach($columns as $field_id => $field_info){
?>
<li id="<?php echo $field_id?>"><?php echo esc_html($field_info["label"]) ?></li>
<?php
}
?>
</ul>
</div>
<div class="column-arrow-mid"></div>
<div class="gcolumn_container_right" id="available_column">
<div class="gform_select_column_heading"> <?php _e("Inactive Columns", "gravityforms"); ?></div>
<ul id="sortable_available" class="sortable_connected">
<?php
foreach($form["fields"] as $field){
if(RGFormsModel::get_input_type($field) == "checkbox" && !in_array($field["id"], $field_ids)){
?>
<li id="<?php echo $field["id"]?>"><?php echo esc_html(rgar($field,"label")) ?></li>
<?php
}
if(is_array(rgar($field, "inputs"))){
foreach($field["inputs"] as $input){
if(!in_array($input["id"], $field_ids) && !($field["type"] == "creditcard" && in_array($input["id"], array(floatval("{$field["id"]}.2"), floatval("{$field["id"]}.3")))) ){
?>
<li id="<?php echo $input["id"]?>"><?php echo esc_html(GFCommon::get_label($field, $input["id"])) ?></li>
<?php
}
}
}
else if(!rgar($field, "displayOnly") && !in_array($field["id"], $field_ids) && RGFormsModel::get_input_type($field) != "list"){
?>
<li id="<?php echo $field["id"]?>"><?php echo esc_html($field["label"]) ?></li>
<?php
}
}
?>
</ul>
</div>
</div>
<div class="panel-buttons">
<input type="button" value=" <?php _e("Save", "gravityforms"); ?> " class="button-primary" onclick="SelectColumns();"/>&nbsp;
<input type="button" value="<?php _e("Cancel", "gravityforms"); ?>" class="button" onclick="self.parent.tb_remove();"/>
</div>
</body>
</html>
<?php
function rg_has_field_id($id, $field_ids){
foreach($field_ids as $field_id){
if(is_numeric($id) && is_numeric($field_id) && intval($id) == intval($field_id))
return true;
if($id == $field_id)
return true;
}
return false;
}