Plugin Directory

Changeset 2940003


Ignore:
Timestamp:
07/18/2023 04:37:36 PM (3 years ago)
Author:
moazsup
Message:

UI fixes and automatic connection simplified

Location:
embed-sharepoint-onedrive-documents
Files:
245 added
6 deleted
2 edited

Legend:

Unmodified
Added
Removed
  • embed-sharepoint-onedrive-documents/trunk/embed-sharepoint-onedrive-documents.php

    r2934207 r2940003  
    11<?php
    2 /**
    3  * Plugin Name: Embed SharePoint OneDrive Documents
    4  * Plugin URI: https://plugins.miniorange.com/
    5  * Description: This plugin will allow you to sync users/files/sites from SharePoint Online/Office 365 to WordPress.
    6  * Version: 2.0.7
    7  * Author: miniOrange
    8  * License: GPLv2 or later
    9  * License URI: http://www.gnu.org/licenses/gpl-2.0.html
    10  *
    11  * @package embed-sharepoint-onedrive-documents
    12  */
     2
     3/*
     4Plugin Name: Embed SharePoint OneDrive Documents
     5Plugin URI: https://plugins.miniorange.com/
     6Description: This plugin will allow you to sync users/files/sites from SharePoint Online/Office 365 to wordpress.
     7Version: 2.0.8
     8Author: miniOrange
     9License: GPLv2 or later
     10License URI: http://www.gnu.org/licenses/gpl-2.0.html
     11*/
    1312
    1413namespace MoSharePointObjectSync;
    15 
    16 if ( ! defined( 'ABSPATH' ) ) {
    17     exit;
     14require_once __DIR__ . '/vendor/autoload.php';
     15
     16use MoSharePointObjectSync\View\adminView;
     17use MoSharePointObjectSync\Controller\adminController;
     18use MoSharePointObjectSync\Observer\adminObserver;
     19use MoSharePointObjectSync\Observer\documentObserver;
     20use MoSharePointObjectSync\Observer\shortcodeSharepoint;
     21
     22use MoSharePointObjectSync\View\feedbackForm;
     23use MoSharePointObjectSync\Wrappers\wpWrapper;
     24
     25define('MO_SPS_PLUGIN_FILE',__FILE__);
     26define('MO_SPS_PLUGIN_DIR',__DIR__.DIRECTORY_SEPARATOR);
     27define('PLUGIN_VERSION','2.0.8');
     28
     29class MOsps{
     30
     31    private static $instance;
     32    public static $version = PLUGIN_VERSION;
     33
     34    public static function mo_sps_load_instance(){
     35        if(!isset(self::$instance)){
     36            $class = __CLASS__;
     37            self::$instance = new $class;
     38            self::$instance->mo_sps_load_hooks();
     39        }
     40        return self::$instance;
     41    }
     42
     43    public function mo_sps_load_hooks(){
     44
     45        add_action('admin_menu',[$this,'mo_sps_admin_menu']);
     46        add_action( 'admin_enqueue_scripts', [$this, 'mo_sps_settings_style' ] );
     47        add_action( 'admin_init', array ($this, 'mo_sp_redirect_after_activation') );
     48        add_action('admin_init',[adminController::getController(),'mo_sps_admin_controller']);
     49        add_action( 'admin_footer', [feedbackForm::getView() , 'mo_sps_display_feedback_form'] );
     50        add_action('init',[adminObserver::getObserver(),'mo_sps_admin_observer']);
     51     
     52
     53        register_activation_hook(__FILE__,array($this,'mo_sps_plugin_activate'));
     54
     55        add_shortcode( 'MO_SPS_SHAREPOINT', [shortcodeSharepoint::getObserver(),'mo_sps_shortcode_document_observer'] );
     56
     57        add_filter( 'plugin_action_links_' . plugin_basename(__FILE__), array($this,'settings_link'));
     58        add_action( 'init',[$this,'mo_sps_gutenburg']);
     59
     60        add_action( "wp_ajax_mysearchaction", [documentObserver::getObserver(), 'mo_sps_document_search_observer'] );
     61        add_action( "wp_ajax_load_files_docs", [documentObserver::getObserver(), 'mo_sps_get_all_files_docs'] );
     62        add_action( "wp_ajax_load_files_docs_breadcrump", [documentObserver::getObserver(), 'mo_sps_get_all_files_docs_breadcrump'] );
     63        add_action( "wp_ajax_load_folders", [documentObserver::getObserver(), 'mo_sps_get_all_folders'] );
     64        add_action( "wp_ajax_load_drives", [documentObserver::getObserver(), 'mo_sps_get_all_drives'] );
     65        add_action( "wp_ajax_mysyncaction", [documentObserver::getObserver(),'mo_sps_document_observer'] );
     66
     67
     68        add_action( 'admin_enqueue_scripts', array( $this, 'mo_sps_settings_script' ) );
     69        register_uninstall_hook(__FILE__, 'mo_sps_uninstall');
     70    }
     71
     72
     73
     74    public function mo_sps_load_media_library_scripts()
     75    {
     76        global $pagenow;
     77
     78        $mode = get_user_option('media_library_mode', get_current_user_id()) ? get_user_option('media_library_mode', get_current_user_id()) : 'grid';
     79        if ($mode === 'list' || $mode === 'grid') {
     80            $this->mo_sps_load_assets();
     81        }
     82
     83       
     84    }
     85
     86    public function mo_sps_load_assets()
     87    {
     88        wp_enqueue_script('jquery');
     89
     90 
     91        wp_enqueue_style(
     92            'mo-sps-style',
     93            plugins_url('/includes/css/media.css', __FILE__),
     94            array(),
     95            PLUGIN_VERSION
     96        );
     97
     98            wp_register_script(
     99                'mo-sps-base',
     100                plugins_url('/includes/js/media.js', __FILE__),
     101                array('jquery'),
     102                PLUGIN_VERSION
     103            );
     104           
     105            $params = [ 
     106                'sharepoint_icon' => esc_url(plugin_dir_url(__FILE__).'/images/microsoft-sharepoint.svg'),
     107                'admin_uri' => admin_url(),
     108            ];
     109            wp_enqueue_script('mo-sps-base');
     110            wp_localize_script('mo-sps-base', 'mo_sps', $params);
     111
     112 
     113    }
     114
     115    public function mo_sps_plugin_activate(){
     116        wpWrapper::mo_sps_set_option("mo_sps_feedback_config",array());
     117        update_option('mo_sp_do_activation_redirect', true);
     118    }
     119   
     120    function mo_sp_redirect_after_activation() {
     121        if (get_option('mo_sp_do_activation_redirect')) {
     122            delete_option('mo_sp_do_activation_redirect');
     123
     124            if(!isset($_GET['activate-multi'])) {
     125                wp_redirect(admin_url() . 'admin.php?page=mo_sps');
     126                exit;
     127            }
     128        }
     129    }
     130
     131    public function mo_sps_admin_menu(){
     132        $page = add_menu_page(
     133            'SharePoint/OneDrive' .__('+ Sync'),
     134            'SharePoint /   OneDrive',
     135            'administrator',
     136            'mo_sps',
     137            [adminView::getView(),'mo_sps_menu_display'],
     138            plugin_dir_url( __FILE__ ) . 'images/miniorange.png'
     139        );
     140    }
     141
     142    function mo_sps_settings_style($page){
     143
     144        global $pagenow;
     145
     146        if ($pagenow === 'upload.php') {
     147            $this->mo_sps_load_media_library_scripts();
     148        }
     149
     150        if( $page != 'toplevel_page_mo_sps'){
     151            return;
     152        }
     153        $css_url = plugins_url('includes/css/mo_sps_settings.css',__FILE__);
     154        $css_phone_url = plugins_url('includes/css/phone.css',__FILE__);
     155        $css_jquery_ui_url = plugins_url('includes/css/jquery-ui.css',__FILE__);
     156        $css_license_view_url = plugins_url('includes/css/license.css',__FILE__);
     157
     158        wp_enqueue_style('mo_sps_css',$css_url,array(),self::$version);
     159        wp_enqueue_style('mo_sps_phone_css',$css_phone_url,array(),self::$version);
     160        wp_enqueue_style('mo_sps_jquery_ui_css',$css_jquery_ui_url,array(),self::$version);
     161        wp_enqueue_style('mo_sps_license_view_css',$css_license_view_url,array(),self::$version);
     162    }
     163
     164    function mo_sps_settings_script($page){
     165        $phone_js_url = plugins_url('includes/js/phone.js',__FILE__);
     166        $setting_js_url= plugins_url('includes/js/settings.js',__FILE__);
     167        wp_enqueue_script('mo_sps_phone_js',$phone_js_url,array(),self::$version);
     168        wp_enqueue_script('mo_settings_js',$setting_js_url,array(),self::$version);
     169
     170    }
     171
     172    function so_enqueue_scripts(){
     173        wp_register_script(
     174          'ajaxHandle',
     175          plugins_url('includes/js/ajax.js', __FILE__),
     176          array(),
     177          false,
     178          true
     179        );
     180        wp_enqueue_script( 'ajaxHandle' );
     181        wp_localize_script(
     182          'ajaxHandle',
     183          'ajax_object',
     184          array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) )
     185        );
     186      }
     187
     188    function settings_link( $links ) {
     189        // Build and escape the URL.
     190        $url = esc_url( add_query_arg(
     191            'page',
     192            'mo_sps',
     193            get_admin_url() . 'admin.php'
     194        ) );
     195        // Create the link.
     196        $settings_link = "<a href='$url'>" . __( 'Settings' ) . '</a>';
     197        // Adds the link to the end of the array.
     198        array_push(
     199            $links,
     200            $settings_link
     201        );
     202        return $links;
     203    }
     204      function mo_sps_gutenburg()  {
     205        $src = plugins_url('includes/js/gutenburg-block.js',__FILE__);
     206       
     207        wp_register_script('custom-cta-js', $src, array('wp-blocks','wp-editor'), self::$version);
     208
     209       
     210        if(isset($_GET['post']))
     211        {
     212            $post_id = $_GET['post'];
     213            $post_info = get_post( $post_id);
     214            $post_content = wp_strip_all_tags($post_info->post_content);
     215           
     216        wp_localize_script('custom-cta-js','post_content',$post_content);
     217
     218           
     219    }
     220
     221        register_block_type('sps/custom-cta',array(
     222             'editor_script' => 'custom-cta-js',
     223
     224        ));
     225
     226       
     227    }
     228
    18229}
    19 
    20 require_once __DIR__ . '/class-wp-namespace-autoloader.php';
    21 
    22 $autoloader = new WP_Namespace_Autoloader(
    23     array(
    24         'directory'        => __DIR__,
    25         'namespace_prefix' => 'MoSharePointObjectSync',
    26         'classes_dir'      => array( '.' ),
    27     )
    28 );
    29 
    30 $autoloader->init();
    31 
    32 define( 'MO_SPS_PLUGIN_FILE', __FILE__ );
    33 define( 'MO_SPS_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
    34 define( 'MO_SPS_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
    35 define( 'MO_SPS_PLUGIN_VERSION', '2.0.7' );
    36 
    37 Sharepoint::load_instance();
     230MOsps::mo_sps_load_instance();
  • embed-sharepoint-onedrive-documents/trunk/readme.txt

    r2934207 r2940003  
    66Tested up to: 6.2
    77Requires PHP: 7.0 or higher
    8 Stable tag: 2.0.7
     8Stable tag: 2.0.8
    99License: GPLv2 or later
    1010License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    143143== ChangeLog ==
    144144
     145= 2.0.8 =
     146* UI Fixes.
     147
    145148= 2.0.7 =
    146149* Fixed scrolling UI problem in the plugin settings page.
     
    219222== Upgrade Notice ==
    220223
     224= 2.0.8 =
     225* UI Fixes.
     226
    221227= 2.0.7 =
    222228* Fixed scrolling UI problem in the plugin settings page.
Note: See TracChangeset for help on using the changeset viewer.