Plugin Directory

Changeset 1793314


Ignore:
Timestamp:
12/27/2017 09:42:45 PM (8 years ago)
Author:
tcmccarthy1
Message:

Releases version 2.0.0

Location:
tcs3
Files:
3726 added
22 deleted
10 edited
1 copied

Legend:

Unmodified
Added
Removed
  • tcs3/tags/2.0.0/Gruntfile.js

    r1324447 r1793314  
    1 module.exports = function(grunt) {
     1module.exports = function (grunt) {
    22
    33    // Project configuration.
     
    77        uglify: {
    88            files: {
    9                 src: 'js/tcS3.js', // source files mask
     9                src: ['js/*.js', '!js/*.min.js'], // source files mask
    1010                dest: 'js/', // destination folder
    1111                expand: true, // allow dynamic building
     
    2525
    2626        concat: {
    27             dist:{
    28                 src: ['assets/js/*.js', '!assets/js/app.js'],
    29                 dest: 'js/tcS3.js',
     27            dist: {
     28                src: ['assets/js/*.js'],
     29                dest: 'js/app.js',
    3030            }
    3131        },
     
    4545        watch: {
    4646            js: {
    47                 files: 'assets/js/*.js',
    48                 tasks: ['concat', 'uglify']
     47                files: ['assets/js/*.js', 'assets/js/*/*.js', 'Gruntfile.js'],
     48                tasks: ['newer:jshint', 'newer:concat', 'newer:uglify']
    4949            },
    5050
     
    5353                tasks: ['compass', 'cssmin']
    5454            }
     55        },
     56
     57        jshint: {
     58            options: {
     59                curly: true,
     60                eqnull: true,
     61                browser: true,
     62                expr: true,
     63                globals: {
     64                    jQuery: true
     65                },
     66                sub: true
     67
     68            },
     69            uses_defaults: ['assets/js/*.js', '!assets/js/__*.js', 'assets/js/*/*.js', '!assets/js/*/__*.js']
     70        },
     71
     72        removelogging: {
     73            dist: {
     74                src: "js/app.js",
     75                dest: "js/app.js",
     76            }
    5577        }
    5678    });
    5779
    5880    // load plugins
    59     grunt.loadNpmTasks('grunt-contrib-compass');
    60     grunt.loadNpmTasks('grunt-contrib-watch');
    61     grunt.loadNpmTasks('grunt-contrib-uglify');
    62     grunt.loadNpmTasks('grunt-contrib-concat');
    63     grunt.loadNpmTasks('grunt-contrib-cssmin');
     81    // load plugins
     82    require('load-grunt-tasks')(grunt, { scope: 'devDependencies' });
    6483
    6584    // register at least this one task
    66     grunt.registerTask('default', ['concat', 'uglify', 'compass', 'cssmin']);
    67     grunt.registerTask('dev', ['concat', 'uglify', 'compass', 'cssmin', 'watch']);
     85    // register at least this one task
     86    grunt.registerTask('default', ['concat', 'removelogging', 'uglify', 'compass', 'cssmin']);
     87    grunt.registerTask('dev', ['jshint', 'concat', 'uglify', 'compass', 'cssmin', 'watch']);
     88    grunt.registerTask('des', ['compass', 'cssmin', 'watch:css']);
    6889};
  • tcs3/tags/2.0.0/assets/scss/_base.scss

    r1589252 r1793314  
    1 td.s3 {
    2     img {
    3         display: none;
    4 
    5         &.active {
    6             display: block;
    7         }
    8 
    9         &.notuploaded {
    10             opacity: 0.5;
    11         }
    12     }
     1html, body {
     2    font-size: 16px;
     3    width: 100%;
     4    height: 100%;
    135}
    14 
    15 .migration {
    16     .progressbar {
    17         position: relative;
    18 
    19         .progressbar-label {
    20             position   : absolute;
    21             left       : 50%;
    22             top        : 4px;
    23             font-weight: bold;
    24             text-shadow: 1px 1px 0 #fff;
    25         }
    26     }
    27 }
  • tcs3/tags/2.0.0/package.json

    r1324447 r1793314  
    11{
    2     "name": "newsday-vote-gallery",
    3     "version": "0.0.1",
    4     "private": true,
    5     "author": {
    6         "name": "TC McCarthy",
    7         "email": "tc.mccarthy1@gmail.com"
    8     },
    9 
    10     "dependencies": {
    11         "load-grunt-tasks": "~0.2.0"
    12     },
    13 
    14     "devDependencies": {
    15         "grunt": "~0.4.5",
    16         "grunt-contrib-uglify": "~0.5.0",
    17         "grunt-contrib-compass": "*",
    18         "grunt-contrib-watch": "~0.5.3",
    19         "grunt-contrib-concat": "~0.3.0",
    20         "grunt-contrib-cssmin": "*"
    21     },
    22 
    23     "engines": {
    24         "node": ">0.10.8"
    25     }
     2  "name": "tcS3",
     3  "version": "2.0.0",
     4  "private": true,
     5  "author": {
     6    "name": "TC McCarthy",
     7    "email": "tc.mccarthy1@gmail.com"
     8  },
     9  "dependencies": {},
     10  "devDependencies": {
     11    "grunt": "^1.0.1",
     12    "grunt-contrib-compass": "^1.1.1",
     13    "grunt-contrib-concat": "^1.0.1",
     14    "grunt-contrib-cssmin": "^2.0.0",
     15    "grunt-contrib-jshint": "^1.1.0",
     16    "grunt-contrib-uglify": "^2.2.0",
     17    "grunt-contrib-watch": "^1.0.0",
     18    "grunt-newer": "^1.2.0",
     19    "grunt-remove-logging": "^0.2.0",
     20    "load-grunt-tasks": "^3.5.2"
     21  },
     22  "engines": {
     23    "node": ">0.10.8"
     24  }
    2625}
  • tcs3/tags/2.0.0/readme.txt

    r1595799 r1793314  
    33Tags: Amazon, S3, upload, media, multisite, aws
    44Requires at least: 3.5
    5 Tested up to: 4.7.2
    6 Stable tag: 1.9.1
     5Tested up to: 4.9.1
     6Stable tag: 2.0.0
    77License: GPL, version 2
    88License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    1111
    1212== Description ==
    13 This all-inclusive plugin uses the AWS SDK for PHP to facilitate uploads directly from your Wordpress instance to S3. Amazon's inexpensive, unlimited cloud storage system is an excellent asset backend for all websites and this plugin allows you to seamlessly interact with your S3 bucket right from within your dashboard. Best of all, this plugin requires nothing special from you -- it has been tested for performance on shared hosting, VPS and dedicated servers and worked on each, out of the box, both on Apache and nginX. tcS3 has been tested on wordpress 3.7 - 4.0 and worked well on all versions.
     13This all-inclusive plugin uses the AWS SDK for PHP to facilitate uploads directly from your Wordpress instance to S3. Amazon's inexpensive, unlimited cloud storage system is an excellent asset backend for all websites and this plugin allows you to seamlessly interact with your S3 bucket right from within your dashboard. Best of all, this plugin requires nothing special from you -- it has been tested for performance on shared hosting, VPS and dedicated servers and worked on each, out of the box, both on Apache and nginX. tcS3 has been tested on wordpress 3.7 - 4.9 and worked well on all versions.
    1414
    1515This plugin is being released in beta -- the wide popularity of S3 makes it difficult for me, the only developer on this project, to know every possible use case for it, so I'm relying on feedback from its use to provide further enhancements.
     
    1717Current capabilities
    1818
     19Upload directly to S3 (with the option to delete from your local instance immediately after a successful upload)
    1920
    20  Upload directly to S3 (with the option to delete from your local instance immediately after a successful upload)
     21Delete media from S3 when it's deleted from your library
    2122
    22  Push all prexisting images on a single wordpress site to S3
    23 
    24  Push or repush a single image to S3 right from within the media library
    25 
    26  Delete media from S3 when it's deleted from your library
    27 
    28  Adds a redundancy layer where it lightly but intelligently figures out if your image is available on S3 and falls back to your webserver's copy of it if it isn't.
    29 
     23Adds a redundancy layer where it lightly but intelligently figures out if your image is available on S3 and falls back to your webserver's copy of it if it isn't.
    3024
    3125The check mentioned above will go a long way to help improve the up-time of your images. It sets up a WP Rewrite rule and then modifies your images to use this new URL scheme. Accessing the images through the new URL allows the plugin to check the file's headers on S3 to determing if the file can be loaded form your bucket. If it can, your users browser is redirected to the image on S3. If it can't, the plugin then checks the local URLs you provide in the plugin setup and if it finds the image there redirects the user's browser there. If that also fails the image 404s.
     
    3327Advanced features
    3428
    35 
    36 
    3729The plugin's use of the AWS SDK for PHP allows for a more flexible configuration. Out of the box the plugin is set up to do two things, and if you never change them you'll probably be fine.
    38 
    39 
    40 
    41  Set cache headers on your image so repeat visitors load the image faster and don't cost you a GET against S3
    42 
    43  Performs multithreaded uploads on files larger than 5MB -- larger files can take longer for your webserver to send to S3... those can really slow down your site! So, the plugin will split your files up into chunks no smaller than 5MB and send them to S3 that way, seamlessly, without your having to ask.
    44 
    45  Optional Memcache (only displays when your server supports it) or file system (supported everywhere) caching of header lookup results to save on PHP resource usage. You can set the TTL of the header lookup cache AND the cache headers on S3 right from within the dashboard
    46 
     30Set cache headers on your image so repeat visitors load the image faster and don't cost you a GET against S3
     31Performs multithreaded uploads on files larger than 5MB -- larger files can take longer for your webserver to send to S3... those can really slow down your site! So, the plugin will split your files up into chunks no smaller than 5MB and send them to S3 that way, seamlessly, without your having to ask.
    4732
    4833Install
     
    6045
    6146== Changelog ==
     47= 2.0.0 =
     48* Redesigns options page
     49* Allows for instance override of network config in WPMU
     50* Upgrades to latest version of the AWS SDK
     51* Adds additional AWS regions
     52* Improves configuration experience
     53* Reduces plugin footprint
     54
     55
    6256= 1.9.1 =
    6357* Reverts accidentally released ads feature. Sorry for the mishap on this -- the selectors were broad and still a work in progress (ads showing on non-plugin pages). Elements of the wrong branch got introduced into this release inadvertently.
  • tcs3/tags/2.0.0/tcS3.php

    r1595814 r1793314  
    11<?php
    22/**
    3  * Plugin Name: TCS3 -- Send uploads directly to S3
    4  * Plugin URI: http://tcm.io
     3 * Plugin Name: tcS3 -- Send uploads directly to S3
     4 * Plugin URI: https://mccarthydigitalconsulting.com
    55 * Description: Allows site admins to push uploads to S3
    6  * Version: 1.9.1
    7  * Author: TC McCarthy
    8  * Author URI: http://tcm.io
     6 * Version: 2.0.0
     7 * Author: TC McCarthy, McCarthy Digital Consulting
     8 * Author URI: https://mccarthydigitalconsulting.com
    99 * License: GPL2
    1010 */
    1111
    12 $root = dirname(__FILE__) . "/";
    13 $version = "1.9";
     12 // composer autoloader
     13 require_once(__DIR__ . "/vendor/autoload.php");
    1414
    15 require($root . "aws/aws-autoloader.php");
    16 require_once($root . "classes/tcS3.class.php");
    17 require_once($root . "classes/tcS3_wp.class.php");
     15 class tcs3
     16 {
     17     public function __construct()
     18     {
     19         add_action("after_setup_theme", [$this, "init"], 20);
     20         // $this->init();
     21     }
    1822
    19 //instantiate class with base ops
    20 $tcS3 = (object) array(
    21     "_base" => new tcS3(),
    22     "_wp" => new tcS3_WP()
    23 );
     23     public function init()
     24     {
     25         $this->base_ = new tcs3_base();
     26         $this->aws_ops_ = new tcs3_aws_ops($this->base_->options);
     27         $this->wp_media_ = new tcs3_wp_media($this->base_->options);
     28         $this->wp_options_ = new tcs3_wp_options($this->base_->options);
     29         $this->wp_ajax_ = new tcs3_ajax();
     30     }
     31 }
     32
     33 $tcS3 = new tcs3();
  • tcs3/trunk/Gruntfile.js

    r1324447 r1793314  
    1 module.exports = function(grunt) {
     1module.exports = function (grunt) {
    22
    33    // Project configuration.
     
    77        uglify: {
    88            files: {
    9                 src: 'js/tcS3.js', // source files mask
     9                src: ['js/*.js', '!js/*.min.js'], // source files mask
    1010                dest: 'js/', // destination folder
    1111                expand: true, // allow dynamic building
     
    2525
    2626        concat: {
    27             dist:{
    28                 src: ['assets/js/*.js', '!assets/js/app.js'],
    29                 dest: 'js/tcS3.js',
     27            dist: {
     28                src: ['assets/js/*.js'],
     29                dest: 'js/app.js',
    3030            }
    3131        },
     
    4545        watch: {
    4646            js: {
    47                 files: 'assets/js/*.js',
    48                 tasks: ['concat', 'uglify']
     47                files: ['assets/js/*.js', 'assets/js/*/*.js', 'Gruntfile.js'],
     48                tasks: ['newer:jshint', 'newer:concat', 'newer:uglify']
    4949            },
    5050
     
    5353                tasks: ['compass', 'cssmin']
    5454            }
     55        },
     56
     57        jshint: {
     58            options: {
     59                curly: true,
     60                eqnull: true,
     61                browser: true,
     62                expr: true,
     63                globals: {
     64                    jQuery: true
     65                },
     66                sub: true
     67
     68            },
     69            uses_defaults: ['assets/js/*.js', '!assets/js/__*.js', 'assets/js/*/*.js', '!assets/js/*/__*.js']
     70        },
     71
     72        removelogging: {
     73            dist: {
     74                src: "js/app.js",
     75                dest: "js/app.js",
     76            }
    5577        }
    5678    });
    5779
    5880    // load plugins
    59     grunt.loadNpmTasks('grunt-contrib-compass');
    60     grunt.loadNpmTasks('grunt-contrib-watch');
    61     grunt.loadNpmTasks('grunt-contrib-uglify');
    62     grunt.loadNpmTasks('grunt-contrib-concat');
    63     grunt.loadNpmTasks('grunt-contrib-cssmin');
     81    // load plugins
     82    require('load-grunt-tasks')(grunt, { scope: 'devDependencies' });
    6483
    6584    // register at least this one task
    66     grunt.registerTask('default', ['concat', 'uglify', 'compass', 'cssmin']);
    67     grunt.registerTask('dev', ['concat', 'uglify', 'compass', 'cssmin', 'watch']);
     85    // register at least this one task
     86    grunt.registerTask('default', ['concat', 'removelogging', 'uglify', 'compass', 'cssmin']);
     87    grunt.registerTask('dev', ['jshint', 'concat', 'uglify', 'compass', 'cssmin', 'watch']);
     88    grunt.registerTask('des', ['compass', 'cssmin', 'watch:css']);
    6889};
  • tcs3/trunk/assets/scss/_base.scss

    r1589252 r1793314  
    1 td.s3 {
    2     img {
    3         display: none;
    4 
    5         &.active {
    6             display: block;
    7         }
    8 
    9         &.notuploaded {
    10             opacity: 0.5;
    11         }
    12     }
     1html, body {
     2    font-size: 16px;
     3    width: 100%;
     4    height: 100%;
    135}
    14 
    15 .migration {
    16     .progressbar {
    17         position: relative;
    18 
    19         .progressbar-label {
    20             position   : absolute;
    21             left       : 50%;
    22             top        : 4px;
    23             font-weight: bold;
    24             text-shadow: 1px 1px 0 #fff;
    25         }
    26     }
    27 }
  • tcs3/trunk/package.json

    r1324447 r1793314  
    11{
    2     "name": "newsday-vote-gallery",
    3     "version": "0.0.1",
    4     "private": true,
    5     "author": {
    6         "name": "TC McCarthy",
    7         "email": "tc.mccarthy1@gmail.com"
    8     },
    9 
    10     "dependencies": {
    11         "load-grunt-tasks": "~0.2.0"
    12     },
    13 
    14     "devDependencies": {
    15         "grunt": "~0.4.5",
    16         "grunt-contrib-uglify": "~0.5.0",
    17         "grunt-contrib-compass": "*",
    18         "grunt-contrib-watch": "~0.5.3",
    19         "grunt-contrib-concat": "~0.3.0",
    20         "grunt-contrib-cssmin": "*"
    21     },
    22 
    23     "engines": {
    24         "node": ">0.10.8"
    25     }
     2  "name": "tcS3",
     3  "version": "2.0.0",
     4  "private": true,
     5  "author": {
     6    "name": "TC McCarthy",
     7    "email": "tc.mccarthy1@gmail.com"
     8  },
     9  "dependencies": {},
     10  "devDependencies": {
     11    "grunt": "^1.0.1",
     12    "grunt-contrib-compass": "^1.1.1",
     13    "grunt-contrib-concat": "^1.0.1",
     14    "grunt-contrib-cssmin": "^2.0.0",
     15    "grunt-contrib-jshint": "^1.1.0",
     16    "grunt-contrib-uglify": "^2.2.0",
     17    "grunt-contrib-watch": "^1.0.0",
     18    "grunt-newer": "^1.2.0",
     19    "grunt-remove-logging": "^0.2.0",
     20    "load-grunt-tasks": "^3.5.2"
     21  },
     22  "engines": {
     23    "node": ">0.10.8"
     24  }
    2625}
  • tcs3/trunk/readme.txt

    r1595799 r1793314  
    33Tags: Amazon, S3, upload, media, multisite, aws
    44Requires at least: 3.5
    5 Tested up to: 4.7.2
    6 Stable tag: 1.9.1
     5Tested up to: 4.9.1
     6Stable tag: 2.0.0
    77License: GPL, version 2
    88License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    1111
    1212== Description ==
    13 This all-inclusive plugin uses the AWS SDK for PHP to facilitate uploads directly from your Wordpress instance to S3. Amazon's inexpensive, unlimited cloud storage system is an excellent asset backend for all websites and this plugin allows you to seamlessly interact with your S3 bucket right from within your dashboard. Best of all, this plugin requires nothing special from you -- it has been tested for performance on shared hosting, VPS and dedicated servers and worked on each, out of the box, both on Apache and nginX. tcS3 has been tested on wordpress 3.7 - 4.0 and worked well on all versions.
     13This all-inclusive plugin uses the AWS SDK for PHP to facilitate uploads directly from your Wordpress instance to S3. Amazon's inexpensive, unlimited cloud storage system is an excellent asset backend for all websites and this plugin allows you to seamlessly interact with your S3 bucket right from within your dashboard. Best of all, this plugin requires nothing special from you -- it has been tested for performance on shared hosting, VPS and dedicated servers and worked on each, out of the box, both on Apache and nginX. tcS3 has been tested on wordpress 3.7 - 4.9 and worked well on all versions.
    1414
    1515This plugin is being released in beta -- the wide popularity of S3 makes it difficult for me, the only developer on this project, to know every possible use case for it, so I'm relying on feedback from its use to provide further enhancements.
    1616
    17 Current capabilities
     17== Current capabilities ==
     18* Use EC2 instance profile, environment variables or IAM keys to connect to S3
     19* Upload directly to S3 (with the option to delete from your local instance immediately after a successful upload)
     20* Delete media from S3 when it's deleted from your library
     21* Update URLs to point directly at your S3 bucket using the link you specify (adding flexibility to point to CDN services like CloudFlare or Cloudfront or pointing directly to your bucket)
    1822
     23== Advanced features ==
     24* The plugin's use of the AWS SDK for PHP allows for a more flexible configuration. Out of the box the plugin is set up to do two things, and if you never change them you'll probably be fine.
     25* Set cache headers on your image so repeat visitors load the image faster and don't cost you a GET against S3
     26* Performs multithreaded uploads on files larger than 5MB -- larger files can take longer for your webserver to send to S3... those can really slow down your site! So, the plugin will split your files up into chunks no smaller than 5MB and send them to S3 that way, seamlessly, without your having to ask.
     27* Plugin kept light and fast by breaking plugin and dependencies up into classes and autoloading them via Composer
    1928
    20  Upload directly to S3 (with the option to delete from your local instance immediately after a successful upload)
    21 
    22  Push all prexisting images on a single wordpress site to S3
    23 
    24  Push or repush a single image to S3 right from within the media library
    25 
    26  Delete media from S3 when it's deleted from your library
    27 
    28  Adds a redundancy layer where it lightly but intelligently figures out if your image is available on S3 and falls back to your webserver's copy of it if it isn't.
    29 
    30 
    31 The check mentioned above will go a long way to help improve the up-time of your images. It sets up a WP Rewrite rule and then modifies your images to use this new URL scheme. Accessing the images through the new URL allows the plugin to check the file's headers on S3 to determing if the file can be loaded form your bucket. If it can, your users browser is redirected to the image on S3. If it can't, the plugin then checks the local URLs you provide in the plugin setup and if it finds the image there redirects the user's browser there. If that also fails the image 404s.
    32 
    33 Advanced features
    34 
    35 
    36 
    37 The plugin's use of the AWS SDK for PHP allows for a more flexible configuration. Out of the box the plugin is set up to do two things, and if you never change them you'll probably be fine.
    38 
    39 
    40 
    41  Set cache headers on your image so repeat visitors load the image faster and don't cost you a GET against S3
    42 
    43  Performs multithreaded uploads on files larger than 5MB -- larger files can take longer for your webserver to send to S3... those can really slow down your site! So, the plugin will split your files up into chunks no smaller than 5MB and send them to S3 that way, seamlessly, without your having to ask.
    44 
    45  Optional Memcache (only displays when your server supports it) or file system (supported everywhere) caching of header lookup results to save on PHP resource usage. You can set the TTL of the header lookup cache AND the cache headers on S3 right from within the dashboard
    46 
    47 
    48 Install
    49 
    50 
     29== Install ==
    5130This plugin is installed just like any other. Simply upload the zip file you can download from github and upload it using the WordPress dashboard or FTP. This plugin has been submitted to the Wordpress team for review as well and will hopefully be available in the Wordpress plugin repository soon.
    5231
    53 Unsolicited advice
    54 
    55 
     32== Unsolicited advice ==
    5633While S3 is relatively inexpensive (very inexpensive the more you use it), it's not free and it's not just how much you upload to it, but how much traffic you're getting. If your bucket is receiving a lot of GET requests (which happens when you have a lot of traffic on your site) it could get expensive (take a look at Amazon's S3 pricing guide). The cache headers being assigned by this plugin will certainly help, but if you sign up for a free Cloudflare account and set up your S3 bucket as a subdomain that Cloudflare is caching, responses to initial requests will come from S3, but many subsequent requests will hit Cloudflare and cost you nothing (and images will load faster because Cloudflare is a CDN).
    5734
     
    6037
    6138== Changelog ==
     39= 2.0.0 =
     40* Redesigns options page
     41* Allows for instance override of network config in WPMU
     42* Upgrades to latest version of the AWS SDK
     43* Adds additional AWS regions
     44* Improves configuration experience
     45* Reduces plugin footprint
     46
     47
    6248= 1.9.1 =
    6349* Reverts accidentally released ads feature. Sorry for the mishap on this -- the selectors were broad and still a work in progress (ads showing on non-plugin pages). Elements of the wrong branch got introduced into this release inadvertently.
  • tcs3/trunk/tcS3.php

    r1595814 r1793314  
    11<?php
    22/**
    3  * Plugin Name: TCS3 -- Send uploads directly to S3
    4  * Plugin URI: http://tcm.io
     3 * Plugin Name: tcS3 -- Send uploads directly to S3
     4 * Plugin URI: https://mccarthydigitalconsulting.com
    55 * Description: Allows site admins to push uploads to S3
    6  * Version: 1.9.1
    7  * Author: TC McCarthy
    8  * Author URI: http://tcm.io
     6 * Version: 2.0.0
     7 * Author: TC McCarthy, McCarthy Digital Consulting
     8 * Author URI: https://mccarthydigitalconsulting.com
    99 * License: GPL2
    1010 */
    1111
    12 $root = dirname(__FILE__) . "/";
    13 $version = "1.9";
     12 // composer autoloader
     13 require_once(__DIR__ . "/vendor/autoload.php");
    1414
    15 require($root . "aws/aws-autoloader.php");
    16 require_once($root . "classes/tcS3.class.php");
    17 require_once($root . "classes/tcS3_wp.class.php");
     15 class tcs3
     16 {
     17     public function __construct()
     18     {
     19         add_action("after_setup_theme", [$this, "init"], 20);
     20         // $this->init();
     21     }
    1822
    19 //instantiate class with base ops
    20 $tcS3 = (object) array(
    21     "_base" => new tcS3(),
    22     "_wp" => new tcS3_WP()
    23 );
     23     public function init()
     24     {
     25         $this->base_ = new tcs3_base();
     26         $this->aws_ops_ = new tcs3_aws_ops($this->base_->options);
     27         $this->wp_media_ = new tcs3_wp_media($this->base_->options);
     28         $this->wp_options_ = new tcs3_wp_options($this->base_->options);
     29         $this->wp_ajax_ = new tcs3_ajax();
     30     }
     31 }
     32
     33 $tcS3 = new tcs3();
Note: See TracChangeset for help on using the changeset viewer.