* @license GPL-3.0+ * @link https://asoriba.com * @copyright 2016 Asoriba * * @wordpress-plugin * Plugin Name: Asoriba Payments * Plugin URI: http://asoriba.com * Description: The Asoriba Payments plugin is designed purposely to assist Churches and Christian Bodies receive donations and raise funds from their websites.You should have an account on Asoriba to make use of this plugin. * Version: 1.0.55 * Author: Asoriba * Author URI: http://asoriba.com * Text Domain: asoriba-payments * License: GPL-3.0+ * License URI: http://www.gnu.org/licenses/gpl-3.0.txt * Domain Path: /lang */ if (!defined('ABSPATH')) { die; } require_once( ABSPATH . 'wp-admin/includes/plugin.php' ); function log_me($message) { if (WP_DEBUG === true) { if (is_array($message) || is_object($message)) { error_log(print_r($message, true)); } else { error_log($message); } } } /** * Get all values from specific key in a multidimensional array * * @param $key string * @param $arr array * @return null|string|array */ //Adds a menu to the admin menu add_action( 'admin_menu', 'asoriba_menu_page' ); function asoriba_menu_page() { add_menu_page( 'asoriba', 'Asoriba', 'manage_options', 'asoriba_menu_page_slug', 'asoriba_pointsoptions_do_page', plugins_url( '/views/images/icon.png' , __FILE__ ), 55 ); } add_action('admin_init', 'asoriba_pointsoptions_init' ); function asoriba_pointsoptions_init(){ register_setting( 'asoriba_settings_options', 'asoriba_options_branch' ); register_setting( 'asoriba_settings_key', 'asoriba_client_email' ); register_setting( 'asoriba_settings_key', 'asoriba_secret_key' ); register_setting( 'asoriba_settings_key', 'asoriba_client_logo' ); register_setting( 'asoriba_settings_key', 'asoriba_client_id' ); } add_action('admin_menu', 'register_asoriba_about_page'); function register_asoriba_about_page() { add_submenu_page( 'asoriba_menu_page_slug', 'Asoriba Payments', 'Dashboard', 'manage_options', 'asoriba_menu_page_slug' ); add_submenu_page( 'asoriba_menu_page_slug', 'Asoriba Payments', 'Settings', 'manage_options', 'asoriba_key_slug', 'asoriba_submenu_key_callback' ); } /** * Add action links to the plugin list for Page Builder. * * @param $links * @return array */ function asoriba_panels_plugin_action_links($links) { // unset( $links['edit'] ); $setting_url="admin.php?page=asoriba_key_slug"; $settings_link = 'Settings'; array_unshift($links, $settings_link); return $links; } add_action('plugin_action_links_' . plugin_basename(__FILE__), 'asoriba_panels_plugin_action_links'); function asoriba_pointsoptions_do_page() { ?>

Manage your Payments here

Asoriba Payments is not properly configured.' . ' ' . 'Set up' . ''. '
'; } else { echo get_option('asoriba_key'); ?> 'GET', 'timeout' => 45, 'redirection' => 5, 'blocking' => true, 'headers' => array("Content-type" => "application/json", "X-ASORIBA-WIDGET-CLIENT-SOURCE" => "wordpress", "X-ASORIBA-WIDGET-SECRET-KEY" => get_option('asoriba_secret_key'), "X-ASORIBA-WIDGET-CLIENT-ID" => get_option('asoriba_client_id'), ) ) ); if ( is_wp_error( $response ) ) { } else { $m = (json_encode($response['body'], true)); $m = stripslashes($m); $m=substr($m,1,(strlen($m)-1)); $m=substr($m,0,-1); $m = json_decode($m, true); // var_dump ($m["results"]); $gateways = $m["results"][2]["gateways"]; $branches = $m["results"][1]["branches"]; $mmmm = json_encode($branches, false); // var_dump(json_decode($mmmm, false)); $mmmm = json_decode($mmmm, false); //create a new array $secondArray = Array(); foreach($mmmm as $value){ $secondArray[$value->id] = $value->branch_name; } } if (get_option('asoriba_options_branch') != "") { ?>
Your current branch:
Change Branch:

Select Branch

Authenticate your Asoriba account

  • Enter your email and password
Email
Password

Sign Up here " ); ?>

'GET', 'timeout' => 45, 'redirection' => 5, 'blocking' => true, 'headers' => array("Content-type" => "application/json", "X-ASORIBA-WIDGET-CLIENT-SOURCE" => "wordpress", "X-ASORIBA-WIDGET-SECRET-KEY" => get_option('asoriba_secret_key'), "X-ASORIBA-WIDGET-CLIENT-ID" => get_option('asoriba_client_id'), ) ) ); if ( is_wp_error( $response ) ) { } else { $m = (json_encode($response['body'], true)); $m = stripslashes($m); $m=substr($m,1,(strlen($m)-1)); $m=substr($m,0,-1); $m = json_decode($m, true); // var_dump ($m["results"]); $gateways = $m["results"][2]["gateways"]; $branches = $m["results"][1]["branches"]; $mmmm = json_encode($branches, false); // var_dump(json_decode($mmmm, false)); $mmmm = json_decode($mmmm, false); //create a new array $secondArray = Array(); foreach($mmmm as $value){ $secondArray[$value->id] = $value->branch_name; } } ?>
Welcome onboard,
  1. Click on this link to manage your dashboard
  2. To manage your widget, go to Appearance -> Widgets to display your payment widget
Or you can logout:

get_widget_slug(), __('AsoribaPayments', $this->get_widget_slug()), array( 'classname' => $this->get_widget_slug().'-class', 'description' => __( 'Make Church Payments.', $this->get_widget_slug() ) ) ); // Register admin styles and scripts add_action( 'admin_echo_styles', array($this, 'register_admin_styles') ); add_action( 'admin_enqueue_scripts', array($this, 'register_admin_scripts') ); // Register site styles and scripts add_action( 'wp_enqueue_scripts', array($this, 'register_widget_styles') ); add_action( 'wp_enqueue_scripts', array($this, 'register_widget_scripts') ); } /** * Returns the widget slug. * * @return Plugin slug. */ public function get_widget_slug() { return $this->widget_slug; } /** * Outputs the content of the widget. * * @param array args The array of form elements * @param array instance The current instance of the widget */ public function widget($args, $instance) { // Check if there is a cached output $cache = wp_cache_get($this->get_widget_slug(), 'widget'); if (!is_array($cache)) { $cache = array(); } if (isset($args['widget_id'])) { $args['widget_id'] = $this->id; } if (isset($cache[$args['widget_id']])) { return print $cache[$args['widget_id']]; } extract($args, EXTR_SKIP); $widget_output = $before_widget; ob_start(); include(plugin_dir_path(__FILE__) . 'views/widget.php'); $widget_output .= ob_get_clean(); $widget_output .= $after_widget; $cache[$args['widget_id']] = $widget_output; wp_cache_set($this->get_widget_slug(), $cache, 'widget'); echo $widget_output; } /** * Flushes the widget's cache. */ public function flush_widget_cache() { wp_cache_delete($this->get_widget_slug(), 'widget'); } /** * Processes the widget's options to be saved. * * @param array new_instance The new instance of values to be generated via the update. * @param array old_instance The previous instance of values before the update. */ public function update($new_instance, $old_instance) { return array( 'title' => strip_tags($new_instance['title']), 'list_id' => strip_tags($new_instance['list_id']), 'include_name_fields' => strip_tags($new_instance['include_name_fields']), 'include_referral' => strip_tags($new_instance['include_referral']), ); } /** * Generates the administration form for the widget. * * @param array instance The array of keys and values for the widget. */ public function form($instance) { $instance = wp_parse_args((array)$instance); // Display the admin form include(plugin_dir_path(__FILE__) . 'views/admin.php'); } /** * Loads the widget's text domain for localization and translation. */ public function widget_textdomain() { load_plugin_textdomain( $this->get_widget_slug(), false, plugin_dir_path(__FILE__) . 'lang/' ); } /** * Fired when the plugin is activated. * * @param boolean $network_wide True if WPMU superadmin uses "Network Activate" action, false if WPMU is disabled or plugin is activated on an individual blog. */ public function activate($network_wide) { // TODO: Needed? } /** * Fired when the plugin is deactivated. * * @param boolean $network_wide True if WPMU superadmin uses "Network Activate" action, false if WPMU is disabled or plugin is activated on an individual blog */ public function deactivate($network_wide) { // TODO: Needed? } /** * Registers and enqueues admin-specific styles. */ public function register_admin_styles() { wp_enqueue_style( $this->get_widget_slug() . '-admin-styles', plugins_url('css/admin.css', __FILE__) ); } /** * Registers and enqueues admin-specific JavaScript. */ public function register_admin_scripts() { wp_enqueue_script( $this->get_widget_slug() . '-admin-script', plugins_url('js/admin.js', __FILE__), array('jquery') ); } /** * Registers and enqueues widget-specific styles. */ public function register_widget_styles() { wp_enqueue_style( $this->get_widget_slug() . '-widget-styles', plugins_url('css/widget.css', __FILE__) ); } /** * Registers and enqueues widget-specific scripts. */ public function register_widget_scripts() { wp_enqueue_script( $this->get_widget_slug() . '-script', plugins_url('js/widget.js', __FILE__), array('jquery') ); } } add_action('widgets_init', create_function('', 'register_widget("AsoribaPayments");')); // var_dump(array_value_recursive('carrot', $arr)); // array(2) { [0]=> string(6) "carrot" [1]=> string(7) "carrot2" } // var_dump(array_value_recursive('apple', $arr)); // null // var_dump(array_value_recursive('baz', $arr)); // string(3) "baz" // var_dump(array_value_recursive('candy', $arr)); // string(5) "candy" // var_dump(array_value_recursive('pear', $arr)); // null