コード例 #1
0
ファイル: plugin.php プロジェクト: zulfnore/WR-PageBuilder
 /**
  * Initialize WR Library.
  *
  * @return  void
  */
 public static function init()
 {
     global $pagenow;
     // Register Ajax actions
     if ('admin-ajax.php' == $pagenow && isset($_GET['action']) && in_array($_GET['action'], self::$actions)) {
         // Init WordPress Filesystem Abstraction
         WR_Pb_Init_File_System::get_instance();
         // Register Ajax actions
         switch ($_GET['action']) {
             case 'wr-addons-management':
                 WR_Pb_Product_Addons::hook();
                 break;
         }
     }
     // Add filter to fine-tune uploaded file name
     add_filter('wp_handle_upload_prefilter', array(__CLASS__, 'wp_handle_upload_prefilter'));
     // Do 'wr_init' action
     do_action('wr_pb_init');
     // Register 'wr_sample_settings_url' filter
     add_filter('wr_pagebuilder_settings_url', array(__CLASS__, 'settings_url'));
 }
コード例 #2
0
ファイル: converter.php プロジェクト: zulfnore/WR-PageBuilder
 /**
  * Get all available data converters.
  *
  * @return  array
  */
 public static function get_converters()
 {
     global $post;
     // Initialize WordPress Filesystem Abstraction
     $wp_filesystem = WR_Pb_Init_File_System::get_instance();
     // Get available data converter
     $files = $wp_filesystem->dirlist(dirname(__FILE__));
     $converters = array();
     foreach ($files as $file) {
         if ('converter.php' != $file['name']) {
             $converter = substr($file['name'], 0, -4);
             // Generate data converter class name
             $class = explode('-', $converter);
             $class = array_map('ucfirst', $class);
             $class = 'WR_Pb_Converter_' . implode('_', $class);
             if (class_exists($class, true)) {
                 // Check if there is data to convert
                 if (call_user_func(array($class, 'check'), $post)) {
                     $converters[$converter] = ucwords(str_replace('-', ' ', substr($file['name'], 0, -4)));
                 }
             }
         }
     }
     // Allow 3rd-party plugin to hook into data conversion
     $converters = apply_filters('wr_pb_get_data_converters', $converters);
     return $converters;
 }
コード例 #3
0
ファイル: addons.php プロジェクト: zulfnore/WR-PageBuilder
 /**
  * Detect plugin file of installed add-on and activate plugin.
  *
  * @param   string  $addon   Identified name of add-on (as defined in WooRockets server).
  * @param   string  $action  Last executed action.
  *
  * return  void
  */
 protected static function activate($addon, $action = '')
 {
     // Check capabilities
     if (!current_user_can('activate_plugins')) {
         throw new Exception(__('You do not have sufficient permissions to activate plugins for this site.'));
     }
     // Get WordPress's WordPress Filesystem Abstraction object
     $wp_filesystem = WR_Pb_Init_File_System::get_instance();
     // Get plugin slug
     $plugin = self::check($addon, false);
     if (empty($plugin)) {
         throw new Exception(__('Cannot detect plugin to activate.', WR_LIBRARY_TEXTDOMAIN));
     }
     // Activate plugin
     $result = activate_plugin($plugin, '', is_network_admin());
     if (is_wp_error($result)) {
         return array('success' => true, 'addon' => $addon, 'action' => $action, 'message' => $result->get_error_message());
     }
 }