ProShell v2.0
Dashboard
Server Info
Server: 158.106.128.192
PHP: 8.2.33
home
planet5
public_html
bansibaba.com
2026-09-12 18:01:16
Editing: widgets.php
Cancel
Save Changes
<?php class am4Widgets extends am4Plugin{ function action_WidgetsInit(){ foreach(get_declared_classes() as $c){ if(preg_match("/am4Widget_\S+/", $c)){ register_widget($c); } } } function showWidgetProtectionBlock($widget, $instance){ $view = new am4View("widget_protection"); $view->assign("instance", $instance); $view->assign("widget", $widget); $view->render(); } function isWidgetAvailable($widget, $instance){ $api = am4PluginsManager::getAPI(); // Allow to see all widgets for admin users; if(am4PluginsManager::skipProtection()) return true; if(!$api->isLoggedIn()){ if(in_array('guest', (array)$instance['access'])){ return true; } return false; } // Check access options; $access = new am4UserAccess(); if(in_array('not_have', (array)$instance['access']) && $access->allFalse(am4AccessRequirement::createRequirements($instance['not_have']))) return true; if(in_array('have', (array)$instance['access']) && $access->anyTrue(am4AccessRequirement::createRequirements($instance['have']))) return true; return false; } } class am4Widget_login extends WP_Widget{ protected $elements; function __construct(){ parent::__construct(false, __("aMember Widget", 'am4-plugin'),array('classname' => 'widget_text', 'description' => __('Login form and aMember subscriptions links', 'am4-plugin'))); $this->addFormElement("text", 'before_login_title', __('Before Login Title:', 'am4-plugin'), __('Login', 'am4-plugin')); $this->addFormElement("text", 'after_login_title', __('After Login Title:', 'am4-plugin'), __('Your Subscriptions', 'am4-plugin')); $this->addFormElement("text", 'password_title', __('Password Title', 'am4-plugin'), __('Password', 'am4-plugin')); $this->addFormElement("text", 'username_title', __('Username Title:', 'am4-plugin'), __('Login', 'am4-plugin')); $this->addFormElement("text", 'login_button_title', __('Login Button Title:', 'am4-plugin'), __('Login', 'am4-plugin')); $this->addFormElement("text", 'register_link_title', __('Register Link Title:', 'am4-plugin') , __('Signup Here', 'am4-plugin')); $this->addFormElement("text", 'lost_password_title', __('Lost Password Title:', 'am4-plugin'), __('Lost Password', 'am4-plugin')); $this->addFormElement("text", 'renew_subscription_title', __('Renew Subscription Title:', 'am4-plugin'),__('Renew Subscription', 'am4-plugin')); $this->addFormElement("text", 'payment_history_title', __('Payment History Title:', 'am4-plugin'), __('Payment History', 'am4-plugin')); $this->addFormElement("text", 'logout_title', __('Logout Title:', 'am4-plugin'), __('Logout', 'am4-plugin')); $this->addFormElement("text", 'change_profile_title', __('Change Profile Title:', 'am4-plugin'), __('Edit Profile', 'am4-plugin')); $this->addFormElement("text", 'signup_page_url', __('Signup Page URL', 'am4-plugin') , am4PluginsManager::getAPI()->getSignupURL()); $this->addFormElement("text", 'renewal_page_url', __('Renewal Page URL', 'am4-plugin') , am4PluginsManager::getAPI()->getSignupURL()); $this->addFormElement("text", 'lost_password_page_url', __('Lost Password Page URL', 'am4-plugin'), am4PluginsManager::getAPI()->getLoginURL()); $this->addFormElement("text", 'profile_page_url', __('Profile Page URL', 'am4-plugin') , am4PluginsManager::getAPI()->getProfileURL()); $this->addFormElement("text", 'history_page_url', __('Payment History Page URL', 'am4-plugin'), am4PluginsManager::getAmemberURL()."/member/payment-history"); $this->addFormElement("text", 'logout_page_url', __('Logout page URL', 'am4-plugin') , am4PluginsManager::getAPI()->getLogoutURL()); $this->addFormElement("checkbox",'amember_links', __('Active Subscriptions Links', 'am4-plugin'), 1); $this->addFormElement("checkbox",'renew_subscription_link', __('Renew subscription Link', 'am4-plugin'), 1); $this->addFormElement("checkbox",'payment_history_link', __('Payment History Link', 'am4-plugin'), 1); $this->addFormElement("checkbox",'logout_link', __('Logout Link', 'am4-plugin'), 1); $this->addFormElement("checkbox",'register_link', __('Register Link', 'am4-plugin'), 1); $this->addFormElement("checkbox",'forgot_password_link', __('Forgot Password Link', 'am4-plugin'), 1); $this->addFormElement("checkbox",'change_profile_link', __('Change Profile Link', 'am4-plugin'), 1); } function addFormElement($type, $name, $title, $default){ $this->elements[$type][$name] = array('type'=>$type, 'name'=>$name,'title'=>$title, 'default'=>$default); } function showElements($instance, $type){ foreach($this->elements[$type] as $k=>$v){ switch($type){ case 'text' : $this->form_text_element($instance, $v['name'], $v['title']); break; case 'checkbox' : $this->form_checkbox_element($instance, $v['name'], $v['title']); break; default : throw new Exception('Unknown element type: '.$type); } } } // Get string if defained; function load_defaults($instance){ $_d = array(); foreach($this->elements as $v){ foreach($v as $elem){ $_d[$elem['name']] = $elem['default']; } } $instance = array_merge($_d, $instance); foreach($instance as $k=>$v){ $instance[$k] = esc_attr($v); } return $instance; } function form_text_element($instance, $name, $text){ ?> <div><label for="<?php echo $this->get_field_id($name); ?>"><?php print $text; ?> <input class="widefat" id="<?php echo $this->get_field_id($name); ?>" name="<?php echo $this->get_field_name($name); ?>" type="text" value="<?php print $instance[$name]; ?>" /> </label></div><br/> <?php } function form_checkbox_element($instance, $name, $text){ ?> <label for="<?php echo $this->get_field_id($name); ?>"> <input name="<?php echo $this->get_field_name($name); ?>" type="hidden" value="0"/> <input class="widefat" id="<?php echo $this->get_field_id($name); ?>" name="<?php echo $this->get_field_name($name); ?>" type="checkbox" value="1" <?php checked(1,$instance[$name]); ?>/> <?php print $text; ?></label><br/> <?php } function form($instance){ $instance = $this->load_defaults($instance); $this->showElements($instance, "text"); ?> <div> <b><?php _e('Show Links', 'am4-plugin');?></b><br/><br/> <?php // Form checkbox elements $this->showElements($instance, "checkbox"); ?> </div> <?php } function update($new, $old){ return $new; } function widget($args, $instance){ global $current_user; $instance = $this->load_defaults($instance); $api = am4PluginsManager::getAPI(); extract($args); $before_login_title = apply_filters('widget_title', $instance['before_login_title']); $after_login_title = apply_filters('widget_title', $instance['after_login_title']); if($api->isLoggedIn()){ $title = $after_login_title; }else{ $title = $before_login_title; } print $before_widget; print $before_title.$title.$after_title; // usefull links at the bottom; if($api->isLoggedIn()){ $this->after_login_widget($instance); }else{ $this->before_login_widget($instance); } print $after_widget; } function before_login_widget($instance){ // Login form here $view = new am4View("widget_login_form"); $view->assign("instance",$instance); $view->render(); } function after_login_widget($instance){ global $current_user; // Get current user's subscription and show usefull links; $amember_api = am4PluginsManager::getAPI(); $view = new am4View("widget_after_login"); $view->assign("instance",$instance); if($amember_api->isLoggedIn()){ $view->assign("user", $amember_api->getUser()); $view->assign("links", $amember_api->getUserLinks()); } $view->assign('isLoggedIn', $amember_api->isLoggedIn()); $view->render(); } } include_once(ABSPATH . WPINC . "/default-widgets.php"); class am4Widget_text extends WP_Widget_Text { function am4Widget_text(){ $widget_ops = array('classname' => 'widget_text', 'description' => __('Arbitrary text or HTML', 'am4-plugin')); $control_ops = array('width' => 400, 'height' => 350); $this->WP_Widget('amember_text', __('aMember Text Widget', 'am4-plugin'),$widget_ops, $control_ops); } function form($instance){ parent::form($instance); am4PluginsManager::get('widgets')->showWidgetProtectionBlock($this, $instance); } function update($new_instance, $old_instance) { $instance = parent::update($new_instance, $old_instance); $instance['access'] = $new_instance['access']; $instance['have'] = $new_instance['have']; $instance['not_have'] = $new_instance['not_have']; return $instance; } function get_field_name($field_name,$is_array=false) { if($is_array){ return 'widget-' . $this->id_base . '[' . $this->number . '][' . $field_name . '][]'; }else{ return 'widget-' . $this->id_base . '[' . $this->number . '][' . $field_name . ']'; } } function widget($args, $instance){ global $current_user; if(am4PluginsManager::get("widgets")->isWidgetAvailable($this, $instance)){ $instance['text'] = do_shortcode($instance['text']); return parent::widget($args, $instance); } } } class am4Widget_menu extends WP_Nav_Menu_Widget{ function am4Widget_menu(){ $widget_ops = array('description' => __('Custom Menu with aMember protection settings', 'am4-plugin')); $this->WP_Widget('amember_menu', __('aMember menu Widget', 'am4-plugin'), $widget_ops, $control_ops); } function form($instance){ parent::form($instance); am4PluginsManager::get('widgets')->showWidgetProtectionBlock($this, $instance); } function update($new_instance, $old_instance) { $instance = parent::update($new_instance, $old_instance); $instance['access'] = $new_instance['access']; $instance['have'] = $new_instance['have']; $instance['not_have'] = $new_instance['not_have']; return $instance; } function get_field_name($field_name,$is_array=false) { if($is_array){ return 'widget-' . $this->id_base . '[' . $this->number . '][' . $field_name . '][]'; }else{ return 'widget-' . $this->id_base . '[' . $this->number . '][' . $field_name . ']'; } } function widget($args, $instance){ global $current_user; if(am4PluginsManager::get("widgets")->isWidgetAvailable($this, $instance)){ return parent::widget($args, $instance); } } }
Upload Files
Cancel
Upload
Create New
Cancel
Create
Change Permissions
Cancel
Save
Change Date
Cancel
Save
Rename Item
Cancel
Save
Confirm Delete
Are you sure you want to delete the selected items?
Cancel
Delete