• Home
  • Archive
  • Tools
  • Contact Us

The Customize Windows

Technology Journal

  • Cloud Computing
  • Computer
  • Digital Photography
  • Windows 7
  • Archive
  • Cloud Computing
  • Virtualization
  • Computer and Internet
  • Digital Photography
  • Android
  • Sysadmin
  • Electronics
  • Big Data
  • Virtualization
  • Downloads
  • Web Development
  • Apple
  • Android
Advertisement
You are here:Home » OpenStack Swift & HPCloud CDN PHP Bindings : Basics

By Abhishek Ghosh February 19, 2015 7:40 am Updated on February 19, 2015

OpenStack Swift & HPCloud CDN PHP Bindings : Basics

Advertisement

Here is the basics of OpenStack Swift & HPCloud CDN PHP Bindings for the WordPress Plugin developers and those who works with PHP based CMS. PHP, honestly is a bad programming language. Why bad, it is quite difficult to explain. But, Perl was intended to work instead of PHP.

We first described the method to use OpenStack Swift (HP Cloud CDN) with WordPress W3TC. If you use that method, you must pay us a fee. Else, we will file criminal case against you. Because that is a concept not software. There is no question of Freedom here, because might earn money from your Plugin sucking us. This is to stop the exploit what ~60% WordPress developers including W3TC do. OpenStack and HP need not to pay, You must read all the lines here. We might charge a ransom for an existing plugin’s extension or can charge a minimum for a new plugin. If you do not want to pay, then work from original official resource.

You will require PHP 5.3.x or greater. We suggest to test on Apache2-PHP setup, that is a typical LAMP.

Advertisement

---

 

OpenStack Swift & HPCloud CDN PHP Bindings : Important

 

We do not like PHP, but frankly we need to use because the community development is more around PHP. It never means that PHP will never die();. Now, there are PHP Experts, then WordPress Experts, even WordPress Frontend Experts. The Public directory of a server is NOT exactly out of the server. Running those scripts to hack, practically nicely works at /root with 100% sudo privilege. We use GNU/Linux, not UNIX. There is no UNIX Wheel Group in Linux. Kindly do not echo the path on your WordPress plugin’s output on frontend like :

include_once('/usr/share/nginx/html/wp-content/plugins/this_plugin/that_thing.php'

Such HTML comment can fully blow a full OpenStack installation, forget about the only server where the website is running. It is fully telling the hidden fact – WordPress is installed at /usr/share/nginx/html/ and one owner is www-data. Only a form is what is needed if the user uses W3TC or any Cache Plugin to run SQL injection.

There is absolutely no shortcut to just modify any existing plugin intended for Rackspace Cloud Files as they use API based authentication for the tenant (read USERS OF Rackspace Cloud Files). Your Plugin FOR OpenStack Swift WILL WORK WITH HPCloud CDN – the official code contribution is by HP.

Other ways are described by us – that includes using the Python Script. You are bound to give us clear credit (not money) if you use any of our method is being used. You need not to give us credit if you use any of the method which is described by OpenStack. You are bound to give HP the credit if any of their method is being used. You must not delete the commented out Licensing Parts of codes.

HP uses GNU GPL compatible license, that is very old method which were used in 1960 for software development. There was no Microsoft like companies, there were no concept of closed sourced software. If you are NOT their partner, you must follow their rules.
We might be able to use the things related to HP, but you must check their rules.
Working with these demands account information for your HPCloud account or OpenStack account. We are taking it granted that you know them.

Methods are described for using the Plugin for Shared Hosting too. Namespaces are separated with double-colon (::) not backslash (\) as backslash have special meaning to Doxygen. HP uses @retval instead of @return.
These were for PHP compatibility. These method avoids using Composer. Doxygen is the standard tool for creating documentation from C++. If you are PHP Expert (pun intended), you’ll not know.

OpenStack Swift & HPCloud CDN PHP Bindings

 

OpenStack Swift & HPCloud CDN PHP Bindings : Basics

 

You will get the Tagged source code from here :

Vim
1
https://github.com/hpcloud/HPCloud–PHP/releases

You need to use stream wrapper support, so that you can transparently read and write files to the HPCloud Object Storage and CDN service without using any API at all. You can use the methods like this:

Vim
1
2
3
4
5
6
fopen()/fclose()
fread()/fwrite()
file_get_contents()
stream_get_contents()
stat()/fstat()
is_readable()/is_writable()

These are more related to PHP than WordPress :

Vim
1
http://us3.php.net/manual/en/ref.filesystem.php

This is how you can call the Bootstrap file, PSR-0 autoloader will not be needed :

Vim
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
// call the file, add . according to the relative position
require ‘HPCloud/Bootstrap.php’;
// fail safe
\HPCloud\Bootstrap::useAutoloader();
// stream wrappers ON
\HPCloud\Bootstrap::useStreamWrappers();
// provide info
$cxt = stream_context_create(array(
  ‘username’ => ‘johndoe’, // use lowercase
  ‘password’ => ‘secret’, // that is used for dashboard
  ‘tenantid’ => ‘123456’, // you’ll get in the OpenStack RC file
  ‘endpoint’ => ‘https://region-a.geo-1.objects.hpcloudsvc.com/v1/xxxxxxxxxxx/example-container’, // double check
));
// Get an object
// right into $myObject.
$myObject = file_get_contents(‘swift://region-a.geo-1.objects.hpcloudsvc.com/v1/xxxxxxxxxxx/example-container/foo.txt’, FALSE, $cxt); // double check
// PHP closure might not be needed
// ?>

xxxxxxxxxxx is a unique identity number. You should ask it and GET via PHP-HTML form via WordPress Setting page of the Plugin. We can authenticate by calling the Python Bash Script. That can be used as alternate failsafe method or for pushing in advanced mode.

We can create the main file (in WordPress Plugin) :

Vim
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
/*
Plugin Name: HP Cloud OpenStack CDN
Plugin URI: https://thecustomizewindows.com/
Description: This plugin stores WordPress media files on, and delivers them from, the HP Cloud CDN or OpenStack Swift.
Version: Pre-Alpha
Contributors: Dr. Abbhishek Ghosh, Abhishek_Ghosh
Author URI: https://thecustomizewindows.com/
License: Not Released
*/
// Admin restriction
defined(‘WP_PLUGIN_URL’) or die(‘Restricted access’);
//Require scripts and libraries
require_once(“lib/functions.php”); // assumed
require_once(“admin/functions.php”);
require_once(“lib/class.hp_cdn.php”); // assumed
if( !class_exists(“OpenStack”) ) {
require_once(“lib/HP Cloud PHP Binding goes here”);
}
// constants
define(‘HP_CDN_PATH’, ABSPATH.PLUGINDIR.‘/hp-cloud-files-cdn/’);
define(‘HP_CDN_URL’, WP_PLUGIN_URL.‘/hp-cloud-files-cdn/’);
define(‘HP_CDN_OPTIONS’, “wp_hp_cdn_settings” );
// you know why
global $wpdb;
// plugin install check
function rscdn_install() {
require_once( ABSPATH . ‘wp-admin/includes/upgrade.php’ );
global $wpdb;
// example default CDN settings
$cdn_settings = new stdClass();
$cdn_settings->username = ‘Username’;
// add more here
add_option( HP_CDN_OPTIONS, $cdn_settings, ”, ‘yes’ );
    unset($_SESSION[‘cdn’]);
}
register_activation_hook( __FILE__, ‘hpcdn_install’ );
function hpcdn_uninstall() {
global $wpdb;
@delete_option( HP_CDN_OPTIONS );
@delete_site_option( HP_CDN_OPTIONS );
    unset($_SESSION[‘cdn’]);
}
register_uninstall_hook( __FILE__, ‘hpcdn_uninstall’ );
// examples
function hp_cdn_admin_js() {
wp_enqueue_script(‘media-upload’);
wp_enqueue_script(‘admin-js’, HP_CDN_URL.‘assets/js/admin.js’);
}
add_action(‘admin_enqueue_scripts’, ‘hp_cdn_admin_js’);
?>

Yeah, that :

Vim
1
2
3
4
require_once(“lib/class.hp_cdn.php”); // assumed
if( !class_exists(“OpenStack”) ) {
require_once(“lib/HP Cloud PHP Binding goes here”);
}

will call the stuffs. You can add the credentials here :

Vim
1
2
3
4
5
6
// example default CDN settings
$cdn_settings = new stdClass();
$cdn_settings->username = ‘Username’;
// add more here
add_option( HP_CDN_OPTIONS, $cdn_settings, ”, ‘yes’ );
    unset($_SESSION[‘cdn’]);

$cdn_settings->username = 'this value';, $cdn_settings->endpoint = 'this value'; practically ends the game. Thats why we added We might charge a ransom for an existing plugin's extension, else people can publish it as a paid plugin on those WordPress Jungle marketplace with $160 value.

Tagged With limelight cdn openstack swift , openstack cdn url , openstack swift cdn , paperuri:(c0b6511e6d354d1238cab7ee4f046b3f)
Facebook Twitter Pinterest

Abhishek Ghosh

About Abhishek Ghosh

Abhishek Ghosh is a Businessman, Surgeon, Author and Blogger. You can keep touch with him on Twitter - @AbhishekCTRL.

Here’s what we’ve got for you which might like :

Articles Related to OpenStack Swift & HPCloud CDN PHP Bindings : Basics

  • Changing Data With cURL for OpenStack Swift (HP Cloud CDN)

    Changing Data With cURL For Object is Quite Easy in OpenStack Swift. Here Are Examples With HP Cloud CDN To Make it Clear. Official Examples Are Bad.

  • Python Script to Upload Files to OpenStack Swift (HP Cloud CDN)

    Here is a Simple Python Script to Upload Files to OpenStack Swift, for Our Case HP Cloud CDN. Very easy to use from Mac or Linux Server.

  • Upload WordPress Objects to OpenStack Swift (HP Cloud CDN)

    Here is How to Upload WordPress Objects to OpenStack Swift, Working Example is With HP Cloud CDN and W3TC Plugin. Necessity is the Mother.

  • Deploy OctoPress on OpenStack Swift (HP Cloud)

    Here is How To Deploy OctoPress on OpenStack Swift, Example Given With HP Helion Cloud With Only Python Swift Client & a Custom Shebang Script.

performing a search on this website can help you. Also, we have YouTube Videos.

Take The Conversation Further ...

We'd love to know your thoughts on this article.
Meet the Author over on Twitter to join the conversation right now!

If you want to Advertise on our Article or want a Sponsored Article, you are invited to Contact us.

Contact Us

Subscribe To Our Free Newsletter

Get new posts by email:

Please Confirm the Subscription When Approval Email Will Arrive in Your Email Inbox as Second Step.

Search this website…

 

Popular Articles

Our Homepage is best place to find popular articles!

Here Are Some Good to Read Articles :

  • Cloud Computing Service Models
  • What is Cloud Computing?
  • Cloud Computing and Social Networks in Mobile Space
  • ARM Processor Architecture
  • What Camera Mode to Choose
  • Indispensable MySQL queries for custom fields in WordPress
  • Windows 7 Speech Recognition Scripting Related Tutorials

Social Networks

  • Pinterest (24.3K Followers)
  • Twitter (5.8k Followers)
  • Facebook (5.7k Followers)
  • LinkedIn (3.7k Followers)
  • YouTube (1.3k Followers)
  • GitHub (Repository)
  • GitHub (Gists)
Looking to publish sponsored article on our website?

Contact us

Recent Posts

  • Influence of Digitization on Procurement : Part 1June 6, 2023
  • How We Can Show Apple Icon, Windows Logo on Website TextJune 5, 2023
  • What is Google Bard? How it WorksJune 5, 2023
  • How to Create a PHP Installer Script to Create Tables in MySQL DatabaseJune 4, 2023
  • What is Desktop Publishing (DTP)?June 3, 2023
PC users can consult Corrine Chorney for Security.

Want to know more about us?

Read Notability and Mentions & Our Setup.

Copyright © 2023 - The Customize Windows | dESIGNed by The Customize Windows

Copyright  · Privacy Policy  · Advertising Policy  · Terms of Service  · Refund Policy

We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies.
Do not sell my personal information.
Cookie SettingsAccept
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDurationDescription
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
SAVE & ACCEPT