コード例 #1
0
 /**
  * Builds the options panel for this Payment Gateway.
  *
  * @package optimizeMember\Menu_Pages
  * @since 140617
  */
 public static function stripe_ops_page()
 {
     c_ws_plugin__optimizemember_menu_pages::update_all_options();
     // Updates options.
     $logs_dir = $GLOBALS['WS_PLUGIN__']['optimizemember']['c']['logs_dir'];
     if (!is_dir($logs_dir) && is_writable(dirname(c_ws_plugin__optimizemember_utils_dirs::strip_dir_app_data($logs_dir)))) {
         mkdir($logs_dir, 0777, TRUE) . clearstatcache();
     }
     $htaccess = $GLOBALS['WS_PLUGIN__']['optimizemember']['c']['logs_dir'] . '/.htaccess';
     $htaccess_contents = trim(c_ws_plugin__optimizemember_utilities::evl(file_get_contents($GLOBALS['WS_PLUGIN__']['optimizemember']['c']['logs_dir_htaccess'])));
     if (is_dir($logs_dir) && is_writable($logs_dir) && !file_exists($htaccess)) {
         file_put_contents($htaccess, $htaccess_contents) . clearstatcache();
     }
     if ($GLOBALS['WS_PLUGIN__']['optimizemember']['o']['gateway_debug_logs']) {
         if (!is_dir($logs_dir)) {
             // If the security-enabled logs directory does not exist yet.
             c_ws_plugin__optimizemember_admin_notices::display_admin_notice('The security-enabled logs directory (<code>' . esc_html(c_ws_plugin__optimizemember_utils_dirs::doc_root_path($logs_dir)) . '</code>) does not exist. Please create this directory manually &amp; make it writable (chmod 777).', TRUE);
         } else {
             if (!is_writable($logs_dir)) {
                 // If the logs directory is not writable yet.
                 c_ws_plugin__optimizemember_admin_notices::display_admin_notice('Permissions error. The security-enabled logs directory (<code>' . esc_html(c_ws_plugin__optimizemember_utils_dirs::doc_root_path($logs_dir)) . '</code>) is not writable. Please make this directory writable (chmod 777).', TRUE);
             }
         }
         if (!file_exists($htaccess)) {
             // If the .htaccess file has not been created yet.
             c_ws_plugin__optimizemember_admin_notices::display_admin_notice('The .htaccess protection file (<code>' . esc_html(c_ws_plugin__optimizemember_utils_dirs::doc_root_path($htaccess)) . '</code>) does not exist. Please create this file manually. Inside your .htaccess file, add this:<br /><pre>' . esc_html($htaccess_contents) . '</pre>', TRUE);
         } else {
             if (!preg_match('/deny from all/i', file_get_contents($htaccess))) {
                 // Else if the .htaccess file does not offer the required protection.
                 c_ws_plugin__optimizemember_admin_notices::display_admin_notice('Unprotected. The .htaccess protection file (<code>' . esc_html(c_ws_plugin__optimizemember_utils_dirs::doc_root_path($htaccess)) . '</code>) does not contain <code>deny from all</code>. Inside your .htaccess file, add this:<br /><pre>' . esc_html($htaccess_contents) . '</pre>', TRUE);
             }
         }
     }
     include_once dirname(dirname(dirname(dirname(__FILE__)))) . '/menu-pages/stripe-ops.inc.php';
 }
コード例 #2
0
ファイル: default.php プロジェクト: JalpMi/v2contact
 /**
  * shortcode parsing of membership file downloads element
  * @param array $atts
  * @param string $content
  * @return String
  */
 static function membership_download($atts, $content)
 {
     // Decode encoded chars
     $atts = op_urldecode($atts);
     extract(shortcode_atts(array('style' => 1), $atts));
     //</editor-fold>
     // some preliminary checks
     // creating member dir if it does not exist
     if (!is_dir($files_dir = $GLOBALS['WS_PLUGIN__']['optimizemember']['c']['files_dir'])) {
         if (is_writable(dirname(c_ws_plugin__optimizemember_utils_dirs::strip_dir_app_data($files_dir)))) {
             mkdir($files_dir, 0777, true);
         }
     }
     // creating .htaccess file if it does not exist!
     if (is_dir($files_dir) && is_writable($files_dir)) {
         if (!file_exists($htaccess = $files_dir . '/.htaccess') || !apply_filters('ws_plugin__s2member_preserve_files_dir_htaccess', false, get_defined_vars())) {
             file_put_contents($htaccess, trim(c_ws_plugin__optimizemember_utilities::evl(file_get_contents($GLOBALS['WS_PLUGIN__']['optimizemember']['c']['files_dir_htaccess']))));
         }
     }
     $content = do_shortcode(op_clean_shortcode_content($content));
     $content = op_process_asset_content($content);
     if (!empty($content)) {
         $html = '<ul class="downloadlist-' . $style . ' border">' . $content . '</ul>';
     } else {
         $html = '';
     }
     return $html;
 }
コード例 #3
0
 /**
  * Builds the options panel for this Payment Gateway.
  *
  * @package optimizeMember\Menu_Pages
  * @since 1.5
  *
  * @return null
  */
 public static function ccbill_ops_page()
 {
     c_ws_plugin__optimizemember_menu_pages::update_all_options();
     /**/
     $logs_dir = $GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["logs_dir"];
     /**/
     if (!is_dir($logs_dir) && is_writable(dirname(c_ws_plugin__optimizemember_utils_dirs::strip_dir_app_data($logs_dir)))) {
         mkdir($logs_dir, 0777, true) . clearstatcache();
     }
     /**/
     $htaccess = $GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["logs_dir"] . "/.htaccess";
     $htaccess_contents = trim(c_ws_plugin__optimizemember_utilities::evl(file_get_contents($GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["logs_dir_htaccess"])));
     /**/
     if (is_dir($logs_dir) && is_writable($logs_dir) && !file_exists($htaccess)) {
         file_put_contents($htaccess, $htaccess_contents) . clearstatcache();
     }
     /**/
     if ($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["gateway_debug_logs"]) {
         if (!is_dir($logs_dir)) {
             /* If the security-enabled logs directory does not exist yet. */
             c_ws_plugin__optimizemember_admin_notices::display_admin_notice('The security-enabled logs directory ( <code>' . esc_html(c_ws_plugin__optimizemember_utils_dirs::doc_root_path($logs_dir)) . '</code> ) does not exist. Please create this directory manually &amp; make it writable ( chmod 777 ).', true);
         } else {
             if (!is_writable($logs_dir)) {
                 /* If the logs directory is not writable yet. */
                 c_ws_plugin__optimizemember_admin_notices::display_admin_notice('Permissions error. The security-enabled logs directory ( <code>' . esc_html(c_ws_plugin__optimizemember_utils_dirs::doc_root_path($logs_dir)) . '</code> ) is not writable. Please make this directory writable ( chmod 777 ).', true);
             }
         }
         /**/
         if (!file_exists($htaccess)) {
             /* If the .htaccess file has not been created yet. */
             c_ws_plugin__optimizemember_admin_notices::display_admin_notice('The .htaccess protection file ( <code>' . esc_html(c_ws_plugin__optimizemember_utils_dirs::doc_root_path($htaccess)) . '</code> ) does not exist. Please create this file manually. Inside your .htaccess file, add this:<br /><pre>' . esc_html($htaccess_contents) . '</pre>', true);
         } else {
             if (!preg_match("/deny from all/i", file_get_contents($htaccess))) {
                 /* Else if the .htaccess file does not offer the required protection. */
                 c_ws_plugin__optimizemember_admin_notices::display_admin_notice('Unprotected. The .htaccess protection file ( <code>' . esc_html(c_ws_plugin__optimizemember_utils_dirs::doc_root_path($htaccess)) . '</code> ) does not contain <code>deny from all</code>. Inside your .htaccess file, add this:<br /><pre>' . esc_html($htaccess_contents) . '</pre>', true);
             }
         }
     }
     /**/
     include_once dirname(dirname(dirname(dirname(__FILE__)))) . "/menu-pages/ccbill-ops.inc.php";
     /**/
     return;
     /* Return for uniformity. */
 }
コード例 #4
0
ファイル: installation.inc.php プロジェクト: JalpMi/v2contact
 /**
  * Deactivation routines for optimizeMember.
  *
  * @package optimizeMember\Installation
  * @since 3.5
  *
  * @return null
  */
 public static function deactivate()
 {
     global $wpdb;
     /* Global database object reference. */
     global $current_site, $current_blog;
     /* Multisite. */
     /**/
     do_action("ws_plugin__optimizemember_before_deactivation", get_defined_vars());
     /**/
     /*THIS LINES MOVE PRO FOLDER INTO RIGHT PLACE!*/
     //@rename(WP_PLUGIN_DIR.'/optimizeMember-pro', $GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["dir"].'/optimizeMember-pro');
     if ($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["run_deactivation_routines"]) {
         c_ws_plugin__optimizemember_roles_caps::unlink_roles();
         /* Unlink Roles/Caps. */
         /**/
         c_ws_plugin__optimizemember_files::remove_no_gzip_from_root_htaccess();
         /**/
         if (is_dir($files_dir = $GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["files_dir"])) {
             if (file_exists($htaccess = $files_dir . "/.htaccess")) {
                 if (is_writable($htaccess)) {
                     unlink($htaccess);
                 }
             }
             /**/
             @rmdir($files_dir) . @rmdir(c_ws_plugin__optimizemember_utils_dirs::strip_dir_app_data($files_dir));
         }
         /**/
         if (is_dir($logs_dir = $GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["logs_dir"])) {
             foreach (scandir($logs_dir) as $log_file) {
                 if (is_file($log_file = $logs_dir . "/" . $log_file)) {
                     if (is_writable($log_file)) {
                         unlink($log_file);
                     }
                 }
             }
             /**/
             @rmdir($logs_dir) . @rmdir(c_ws_plugin__optimizemember_utils_dirs::strip_dir_app_data($logs_dir));
         }
         /**/
         delete_option("ws_plugin__optimizemember_cache");
         delete_option("ws_plugin__optimizemember_notices");
         delete_option("ws_plugin__optimizemember_options");
         delete_option("ws_plugin__optimizemember_configured");
         delete_option("ws_plugin__optimizemember_activated_levels");
         delete_option("ws_plugin__optimizemember_activated_version");
         delete_option("ws_plugin__optimizemember_activated_mms_version");
         /**/
         if (is_multisite() && is_main_site()) {
             /* Site options? */
             delete_site_option("ws_plugin__optimizemember_options");
         }
         /**/
         $wpdb->query("DELETE FROM `" . $wpdb->options . "` WHERE `option_name` LIKE '%" . esc_sql(like_escape("optimizemember_")) . "%'");
         $wpdb->query("DELETE FROM `" . $wpdb->options . "` WHERE `option_name` LIKE '" . esc_sql(like_escape("_transient_s2m_")) . "%'");
         $wpdb->query("DELETE FROM `" . $wpdb->options . "` WHERE `option_name` LIKE '" . esc_sql(like_escape("_transient_timeout_s2m_")) . "%'");
         $wpdb->query("DELETE FROM `" . $wpdb->postmeta . "` WHERE `meta_key` LIKE '%" . esc_sql(like_escape("optimizemember_")) . "%'");
         $wpdb->query("DELETE FROM `" . $wpdb->usermeta . "` WHERE `meta_key` LIKE '%" . esc_sql(like_escape("optimizemember_")) . "%'");
         /**/
         do_action("ws_plugin__optimizemember_during_deactivation", get_defined_vars());
     }
     /**/
     do_action("ws_plugin__optimizemember_after_deactivation", get_defined_vars());
     /**/
     return;
     /* Return for uniformity. */
 }
コード例 #5
0
ファイル: menu-pages.inc.php プロジェクト: JalpMi/v2contact
 /**
  * Builds and handles the Download Options page.
  * 
  * @package optimizeMember\Menu_Pages
  * @since 3.5
  * 
  * @return null
  */
 public static function down_ops_page()
 {
     do_action("ws_plugin__optimizemember_before_down_ops_page", get_defined_vars());
     /**/
     c_ws_plugin__optimizemember_menu_pages::update_all_options();
     /**/
     $files_dir = $GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["files_dir"];
     /**/
     $htaccess = $GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["files_dir"] . "/.htaccess";
     $htaccess_contents = trim(c_ws_plugin__optimizemember_utilities::evl(file_get_contents($GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["files_dir_htaccess"])));
     /**/
     $no_gzip_htaccess = ABSPATH . ".htaccess";
     $no_gzip_htaccess_contents = trim(c_ws_plugin__optimizemember_utilities::evl(file_get_contents($GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["files_no_gzip_htaccess"])));
     /**/
     if (!c_ws_plugin__optimizemember_files::no_gzip_rules_in_root_htaccess()) {
         c_ws_plugin__optimizemember_files::write_no_gzip_into_root_htaccess() . clearstatcache();
     }
     /**/
     if (!is_dir($files_dir) && is_writable(dirname(c_ws_plugin__optimizemember_utils_dirs::strip_dir_app_data($files_dir)))) {
         mkdir($files_dir, 0777, true) . clearstatcache();
     }
     /**/
     if (is_dir($files_dir) && is_writable($files_dir) && !file_exists($htaccess)) {
         file_put_contents($htaccess, $htaccess_contents) . clearstatcache();
     }
     /**/
     if (!c_ws_plugin__optimizemember_files::no_gzip_rules_in_root_htaccess()) {
         c_ws_plugin__optimizemember_admin_notices::display_admin_notice('Possible GZIP conflict on server. Unable to write GZIP exclusions into root .htaccess file (<code>' . esc_html(c_ws_plugin__optimizemember_utils_dirs::doc_root_path($no_gzip_htaccess)) . '</code>). Please read the panel below: <strong>Preventing GZIP Conflicts</strong>, and add this section yourself:<br /><pre>' . esc_html($no_gzip_htaccess_contents) . '</pre>', true);
     }
     /**/
     if (!is_dir($files_dir)) {
         /* If the security-enabled files directory does not exist yet. */
         c_ws_plugin__optimizemember_admin_notices::display_admin_notice('The security-enabled files directory (<code>' . esc_html(c_ws_plugin__optimizemember_utils_dirs::doc_root_path($files_dir)) . '</code>) does not exist. Please create this directory manually.', true);
     }
     /**/
     if (!file_exists($htaccess)) {
         /* If the `.htaccess` file has not been created yet. */
         c_ws_plugin__optimizemember_admin_notices::display_admin_notice('The .htaccess protection file (<code>' . esc_html(c_ws_plugin__optimizemember_utils_dirs::doc_root_path($htaccess)) . '</code>) does not exist. Please create this file manually. Inside your .htaccess file, add this:<br /><pre>' . esc_html($htaccess_contents) . '</pre>', true);
     } else {
         if (!preg_match("/deny from all/i", file_get_contents($htaccess))) {
             /* Else if the `.htaccess` file does not offer the required protection. */
             c_ws_plugin__optimizemember_admin_notices::display_admin_notice('Unprotected. The .htaccess protection file (<code>' . esc_html(c_ws_plugin__optimizemember_utils_dirs::doc_root_path($htaccess)) . '</code>) does not contain <code>deny from all</code>. Inside your .htaccess file, add this:<br /><pre>' . esc_html($htaccess_contents) . '</pre>', true);
         }
     }
     /**/
     if (!empty($_POST["ws_plugin__optimizemember_amazon_cf_files_auto_configure_distros"]) && ($nonce = $_POST["ws_plugin__optimizemember_amazon_cf_files_auto_configure_distros"]) && wp_verify_nonce($nonce, "ws-plugin--optimizemember-amazon-cf-files-auto-configure-distros")) {
         if (($amazon_cf_auto_configure_distros = c_ws_plugin__optimizemember_files_in::amazon_cf_auto_configure_distros()) && $amazon_cf_auto_configure_distros["success"]) {
             c_ws_plugin__optimizemember_admin_notices::display_admin_notice('Amazon CloudFront Distributions auto-configured successfully. Please allow 30 minutes for propagation.' . ($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["amazon_cf_files_distro_downloads_cname"] ? '<br /><em>Downloads Distribution CNAME: <code>' . esc_html($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["amazon_cf_files_distro_downloads_cname"]) . ' &mdash;&raquo; ' . esc_html($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["amazon_cf_files_distro_downloads_dname"]) . '</code></em>' : '') . ($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["amazon_cf_files_distro_streaming_cname"] ? '<br /><em>Streaming Distribution CNAME: <code>' . esc_html($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["amazon_cf_files_distro_streaming_cname"]) . ' &mdash;&raquo; ' . esc_html($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["amazon_cf_files_distro_streaming_dname"]) . '</code></em>' : ''));
         } else {
             /* Else there was an error. We need to report this back to the site owner so they can understand what's going on. */
             (c_ws_plugin__optimizemember_menu_pages::$pre_display_errors["cf_files_auto_configure_distros"] = true) . c_ws_plugin__optimizemember_admin_notices::display_admin_notice('Unable to auto-configure Amazon CloudFront Distributions.<br />Error code: <code>' . esc_html($amazon_cf_auto_configure_distros["code"]) . '</code>. Error Message: <code>' . esc_html($amazon_cf_auto_configure_distros["message"]) . '</code>', true);
         }
     }
     /**/
     if (!empty($_POST["ws_plugin__optimizemember_amazon_s3_files_auto_configure_acls"]) && ($nonce = $_POST["ws_plugin__optimizemember_amazon_s3_files_auto_configure_acls"]) && wp_verify_nonce($nonce, "ws-plugin--optimizemember-amazon-s3-files-auto-configure-acls")) {
         if (($amazon_s3_auto_configure_acls = c_ws_plugin__optimizemember_files_in::amazon_s3_auto_configure_acls()) && $amazon_s3_auto_configure_acls["success"]) {
             c_ws_plugin__optimizemember_admin_notices::display_admin_notice('Amazon S3 ACLs auto-configured successfully.');
         } else {
             /* Else there was an error. We need to report this back to the site owner so they can understand what's going on. */
             (c_ws_plugin__optimizemember_menu_pages::$pre_display_errors["s3_files_auto_configure_acls"] = true) . c_ws_plugin__optimizemember_admin_notices::display_admin_notice('Unable to auto-configure Amazon S3 ACLs.<br />Error code: <code>' . esc_html($amazon_s3_auto_configure_acls["code"]) . '</code>. Error Message: <code>' . esc_html($amazon_s3_auto_configure_acls["message"]) . '</code>', true);
         }
     }
     /**/
     include_once dirname(dirname(__FILE__)) . "/menu-pages/down-ops.inc.php";
     /**/
     do_action("ws_plugin__optimizemember_after_down_ops_page", get_defined_vars());
     /**/
     return;
     /* Return for uniformity. */
 }