<?php
/**
* File Type: Settings Class
*/
if (!class_exists('cs_plugin_options')) {
class cs_plugin_options {
public function __construct() {
}
//======================================================================
// Settings Menu Function
//======================================================================
public function cs_framework_settings() {
//add_submenu_page('edit.php?post_type=jobs', 'Settings ', 'Settings', 'manage_options', 'cs_settings', array(&$this, 'cs_settings'));
add_theme_page('Payment Settings', __('Payment Settings','cs_frame'), 'read', 'cs_settings', array(&$this, 'cs_settings'));
}
//======================================================================
// Directory Menu Function
//======================================================================
public function cs_settings() {
cs_settings_options_page();
}
/* ------------------------------------------------------------
* Array Fields
* ----------------------------------------------------------- */
function cs_in_array_field($array_val, $array_field, $array, $strict = false) {
if ($strict) {
foreach ($array as $item)
if (isset($item[$array_field]) && $item[$array_field] === $array_val)
return true;
}
else {
foreach ($array as $item)
if (isset($item[$array_field]) && $item[$array_field] == $array_val)
return true;
}
return false;
}
/* ------------------------------------------------------------
* Check Duplicate Values
* ----------------------------------------------------------- */
function cs_check_duplicate_value($array_val, $array_field, $array) {
$cs_val_counter = 0;
foreach ($array as $item) {
if (isset($item[$array_field]) && $item[$array_field] == $array_val) {
$cs_val_counter++;
}
}
if ($cs_val_counter > 1)
return true;
return false;
}
}
//End Class
}
function cs_settings_fields($key, $param) {
global $post;
$cs_gateway_options = get_option('cs_gateway_options');
$cs_value = $param['std'];
$html = '';
switch ($param['type']) {
case 'text':
if (isset($cs_gateway_options)) {
if (isset($cs_gateway_options[$param['id']])) {
$val = $cs_gateway_options[$param['id']];
} else {
$val = $param['std'];
}
} else {
$val = $param['std'];
}
$output = '<ul class="form-elements" id="' . $param['id'] . '_textfield">';
$output .= '<li class="to-label">
<label>' . esc_attr($param["name"]) . '<span>' . esc_attr($param['hint_text']) . '</span></label>
</li>
<li class="to-field"><input name="' . $param['id'] . '" id="' . $param['id'] . '" type="' . $param['type'] . '" value="' . $val . '" class="vsmall" />';
$output .= '<p>' . esc_attr($param['desc']) . '</p></li>';
$output .= '</ul>';
$html .= $output;
break;
case 'textarea':
$val = $param['std'];
$std = get_option($param['id']);
if (isset($cs_gateway_options)) {
if (isset($cs_gateway_options[$param['id']])) {
$val = $cs_gateway_options[$param['id']];
} else {
$val = $param['std'];
}
} else {
$val = $param['std'];
}
$output = '<ul class="form-elements" id="' . $param['id'] . '_textarea">
<li class="to-label">
<label>' . esc_attr($param['name']) . '<span>' . esc_attr($param['hint_text']) . '</span></label>
</li>
<li class="to-field">
<div class="input-sec">
<textarea rows="10" cols="60" name="' . $param['id'] . '" id="' . $param['id'] . '" type="' . $param['type'] . '">' . htmlspecialchars_decode($val) . '</textarea>
</div>
<div class="left-info"><p>' . esc_attr($param['desc']) . '</p></div>
</li>
</ul>';
$html .= $output;
break;
case "checkbox":
$saved_std = '';
$std = '';
if (isset($cs_gateway_options)) {
if (isset($cs_gateway_options[$param['id']])) {
$saved_std = $cs_gateway_options[$param['id']];
}
} else {
$std = $param['std'];
}
$checked = '';
if (!empty($saved_std)) {
if ($saved_std == 'on') {
$checked = 'checked="checked"';
} else {
$checked = '';
}
} elseif ($std == 'on') {
$checked = 'checked="checked"';
} else {
$checked = '';
}
$output = '<ul class="form-elements" id="' . $param['id'] . '_checkbox">
<li class="to-label">
<label>' . esc_attr($param['name']) . '<span>' . esc_attr($param['hint_text']) . '</span></label>
</li>
<li class="to-field"><div class="input-sec"><label class="pbwp-checkbox">
<input type="hidden" name="' . $param['id'] . '" value="off" />
<input type="checkbox" class="myClass" name="' . $param['id'] . '" id="' . $param['id'] . '" ' . $checked . ' />
<span class="pbwp-box"></span>
</label></div><div class="left-info">
<p>' . esc_attr($param['desc']) . '</p>
</div></li>
</ul>';
$html .= $output;
break;
case "logo":
if (isset($cs_gateway_options) and $cs_gateway_options <> '' && isset($cs_gateway_options[$param['id']])) {
$val = $cs_gateway_options[$param['id']];
} else {
$val = $param['std'];
}
$output = '';
$display = ($val <> '' ? 'display' : 'none');
if (isset($value['tab'])) {
$output .='<div class="main_tab"><div class="horizontal_tab" style="display:' . $param['display'] . '" id="' . $param['tab'] . '">';
}
$output .= '<ul class="form-elements" id="' . $param['id'] . '_upload">
<li class="to-label">
<label>' . esc_attr($param['name']) . '<span>' . esc_attr($param['hint_text']) . '</span></label>
</li>
<li class="to-field">
<div class="page-wrap" style="overflow:hidden;display:' . $display . '" id="' . $param['id'] . '_box" >
<div class="gal-active">
<div class="dragareamain" style="padding-bottom:0px;">
<ul id="gal-sortable">
<li class="ui-state-default" id="">
<div class="thumb-secs cs-custom-image"> <img src="' . esc_url($val) . '" id="' . $param['id'] . '_img" />
<div class="gal-edit-opts"> <a href=javascript:del_media("' . $param['id'] . '") class="delete"></a> </div>
</div>
</li>
</ul>
</div>
</div>
</div>
<input id="' . $param['id'] . '" name="' . $param['id'] . '" type="hidden" class="" value="' . $val . '"/>
<label class="browse-icon"><input name="' . $param['id'] . '" type="button" class="cs-uploadMedia left" value="Browse"/></label>
</li>
</ul>';
$html .= $output;
break;
case 'select' :
$output = '<ul class="form-elements">';
$output .= '<li class="to-label"><label>' . $param['title'] . '</label></li>';
$output .= '<li class="to-field">';
$output .= '<div class="input-select">';
$output .= '<select name="cs_transaction_meta[' . $key . ']" id="' . $key . '" class="cs-form-select cs-input">' . "\n";
foreach ($param['options'] as $value => $option) {
$selected = '';
if ($cs_value == $value) {
$selected = 'selected="selected"';
}
$output .= '<option value="' . $value . '" ' . $selected . '>' . $option . '</option>' . "\n";
}
$output .= '</select>' . "\n";
$output .= '<span class="cs-form-desc">' . $param['description'] . '</span>' . "\n</div>";
$output .= '</li>';
$output .= '</ul>';
// append
$html .= $output;
break;
default :
break;
}
return $html;
}
if (class_exists('cs_plugin_options')) {
$settings_object = new cs_plugin_options();
add_action('admin_menu', array(&$settings_object, 'cs_framework_settings'));
}