Initial commit
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| DYNECT API LOGIN INFO
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Enter your Dynect API login info here.
|
||||
|
|
||||
$config['customer_name'] = 'demo-pagely';
|
||||
$config['user_name'] = 'jstrebel';
|
||||
$config['password'] = '1234test';
|
||||
|
||||
*/
|
||||
@@ -0,0 +1,116 @@
|
||||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
/*
|
||||
| -------------------------------------------------------------------
|
||||
| AUTO-LOADER
|
||||
| -------------------------------------------------------------------
|
||||
| This file specifies which systems should be loaded by default.
|
||||
|
|
||||
| In order to keep the framework as light-weight as possible only the
|
||||
| absolute minimal resources are loaded by default. For example,
|
||||
| the database is not connected to automatically since no assumption
|
||||
| is made regarding whether you intend to use it. This file lets
|
||||
| you globally define which systems you would like loaded with every
|
||||
| request.
|
||||
|
|
||||
| -------------------------------------------------------------------
|
||||
| Instructions
|
||||
| -------------------------------------------------------------------
|
||||
|
|
||||
| These are the things you can load automatically:
|
||||
|
|
||||
| 1. Libraries
|
||||
| 2. Helper files
|
||||
| 3. Plugins
|
||||
| 4. Custom config files
|
||||
| 5. Language files
|
||||
| 6. Models
|
||||
|
|
||||
*/
|
||||
|
||||
/*
|
||||
| -------------------------------------------------------------------
|
||||
| Auto-load Libraries
|
||||
| -------------------------------------------------------------------
|
||||
| These are the classes located in the system/libraries folder
|
||||
| or in your system/application/libraries folder.
|
||||
|
|
||||
| Prototype:
|
||||
|
|
||||
| $autoload['libraries'] = array('database', 'session', 'xmlrpc');
|
||||
*/
|
||||
|
||||
$autoload['libraries'] = array();
|
||||
|
||||
|
||||
/*
|
||||
| -------------------------------------------------------------------
|
||||
| Auto-load Helper Files
|
||||
| -------------------------------------------------------------------
|
||||
| Prototype:
|
||||
|
|
||||
| $autoload['helper'] = array('url', 'file');
|
||||
*/
|
||||
|
||||
$autoload['helper'] = array();
|
||||
|
||||
|
||||
/*
|
||||
| -------------------------------------------------------------------
|
||||
| Auto-load Plugins
|
||||
| -------------------------------------------------------------------
|
||||
| Prototype:
|
||||
|
|
||||
| $autoload['plugin'] = array('captcha', 'js_calendar');
|
||||
*/
|
||||
|
||||
$autoload['plugin'] = array();
|
||||
|
||||
|
||||
/*
|
||||
| -------------------------------------------------------------------
|
||||
| Auto-load Config files
|
||||
| -------------------------------------------------------------------
|
||||
| Prototype:
|
||||
|
|
||||
| $autoload['config'] = array('config1', 'config2');
|
||||
|
|
||||
| NOTE: This item is intended for use ONLY if you have created custom
|
||||
| config files. Otherwise, leave it blank.
|
||||
|
|
||||
*/
|
||||
|
||||
$autoload['config'] = array();
|
||||
|
||||
|
||||
/*
|
||||
| -------------------------------------------------------------------
|
||||
| Auto-load Language files
|
||||
| -------------------------------------------------------------------
|
||||
| Prototype:
|
||||
|
|
||||
| $autoload['language'] = array('lang1', 'lang2');
|
||||
|
|
||||
| NOTE: Do not include the "_lang" part of your file. For example
|
||||
| "codeigniter_lang.php" would be referenced as array('codeigniter');
|
||||
|
|
||||
*/
|
||||
|
||||
$autoload['language'] = array();
|
||||
|
||||
|
||||
/*
|
||||
| -------------------------------------------------------------------
|
||||
| Auto-load Models
|
||||
| -------------------------------------------------------------------
|
||||
| Prototype:
|
||||
|
|
||||
| $autoload['model'] = array('model1', 'model2');
|
||||
|
|
||||
*/
|
||||
|
||||
$autoload['model'] = array();
|
||||
|
||||
|
||||
|
||||
/* End of file autoload.php */
|
||||
/* Location: ./system/application/config/autoload.php */
|
||||
@@ -0,0 +1,329 @@
|
||||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Base Site URL
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| URL to your CodeIgniter root. Typically this will be your base URL,
|
||||
| WITH a trailing slash:
|
||||
|
|
||||
| http://example.com/
|
||||
|
|
||||
*/
|
||||
$config['base_url'] = "http://example.com/";
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Index File
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Typically this will be your index.php file, unless you've renamed it to
|
||||
| something else. If you are using mod_rewrite to remove the page set this
|
||||
| variable so that it is blank.
|
||||
|
|
||||
*/
|
||||
$config['index_page'] = "index.php";
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| URI PROTOCOL
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This item determines which server global should be used to retrieve the
|
||||
| URI string. The default setting of "AUTO" works for most servers.
|
||||
| If your links do not seem to work, try one of the other delicious flavors:
|
||||
|
|
||||
| 'AUTO' Default - auto detects
|
||||
| 'PATH_INFO' Uses the PATH_INFO
|
||||
| 'QUERY_STRING' Uses the QUERY_STRING
|
||||
| 'REQUEST_URI' Uses the REQUEST_URI
|
||||
| 'ORIG_PATH_INFO' Uses the ORIG_PATH_INFO
|
||||
|
|
||||
*/
|
||||
$config['uri_protocol'] = "AUTO";
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| URL suffix
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option allows you to add a suffix to all URLs generated by CodeIgniter.
|
||||
| For more information please see the user guide:
|
||||
|
|
||||
| http://codeigniter.com/user_guide/general/urls.html
|
||||
*/
|
||||
|
||||
$config['url_suffix'] = "";
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Language
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This determines which set of language files should be used. Make sure
|
||||
| there is an available translation if you intend to use something other
|
||||
| than english.
|
||||
|
|
||||
*/
|
||||
$config['language'] = "english";
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Character Set
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This determines which character set is used by default in various methods
|
||||
| that require a character set to be provided.
|
||||
|
|
||||
*/
|
||||
$config['charset'] = "UTF-8";
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Enable/Disable System Hooks
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| If you would like to use the "hooks" feature you must enable it by
|
||||
| setting this variable to TRUE (boolean). See the user guide for details.
|
||||
|
|
||||
*/
|
||||
$config['enable_hooks'] = FALSE;
|
||||
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Class Extension Prefix
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This item allows you to set the filename/classname prefix when extending
|
||||
| native libraries. For more information please see the user guide:
|
||||
|
|
||||
| http://codeigniter.com/user_guide/general/core_classes.html
|
||||
| http://codeigniter.com/user_guide/general/creating_libraries.html
|
||||
|
|
||||
*/
|
||||
$config['subclass_prefix'] = 'MY_';
|
||||
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Allowed URL Characters
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This lets you specify with a regular expression which characters are permitted
|
||||
| within your URLs. When someone tries to submit a URL with disallowed
|
||||
| characters they will get a warning message.
|
||||
|
|
||||
| As a security measure you are STRONGLY encouraged to restrict URLs to
|
||||
| as few characters as possible. By default only these are allowed: a-z 0-9~%.:_-
|
||||
|
|
||||
| Leave blank to allow all characters -- but only if you are insane.
|
||||
|
|
||||
| DO NOT CHANGE THIS UNLESS YOU FULLY UNDERSTAND THE REPERCUSSIONS!!
|
||||
|
|
||||
*/
|
||||
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
|
||||
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Enable Query Strings
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| By default CodeIgniter uses search-engine friendly segment based URLs:
|
||||
| example.com/who/what/where/
|
||||
|
|
||||
| You can optionally enable standard query string based URLs:
|
||||
| example.com?who=me&what=something&where=here
|
||||
|
|
||||
| Options are: TRUE or FALSE (boolean)
|
||||
|
|
||||
| The other items let you set the query string "words" that will
|
||||
| invoke your controllers and its functions:
|
||||
| example.com/index.php?c=controller&m=function
|
||||
|
|
||||
| Please note that some of the helpers won't work as expected when
|
||||
| this feature is enabled, since CodeIgniter is designed primarily to
|
||||
| use segment based URLs.
|
||||
|
|
||||
*/
|
||||
$config['enable_query_strings'] = FALSE;
|
||||
$config['controller_trigger'] = 'c';
|
||||
$config['function_trigger'] = 'm';
|
||||
$config['directory_trigger'] = 'd'; // experimental not currently in use
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Error Logging Threshold
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| If you have enabled error logging, you can set an error threshold to
|
||||
| determine what gets logged. Threshold options are:
|
||||
| You can enable error logging by setting a threshold over zero. The
|
||||
| threshold determines what gets logged. Threshold options are:
|
||||
|
|
||||
| 0 = Disables logging, Error logging TURNED OFF
|
||||
| 1 = Error Messages (including PHP errors)
|
||||
| 2 = Debug Messages
|
||||
| 3 = Informational Messages
|
||||
| 4 = All Messages
|
||||
|
|
||||
| For a live site you'll usually only enable Errors (1) to be logged otherwise
|
||||
| your log files will fill up very fast.
|
||||
|
|
||||
*/
|
||||
$config['log_threshold'] = 0;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Error Logging Directory Path
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Leave this BLANK unless you would like to set something other than the default
|
||||
| system/logs/ folder. Use a full server path with trailing slash.
|
||||
|
|
||||
*/
|
||||
$config['log_path'] = '';
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Date Format for Logs
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Each item that is logged has an associated date. You can use PHP date
|
||||
| codes to set your own date formatting
|
||||
|
|
||||
*/
|
||||
$config['log_date_format'] = 'Y-m-d H:i:s';
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cache Directory Path
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Leave this BLANK unless you would like to set something other than the default
|
||||
| system/cache/ folder. Use a full server path with trailing slash.
|
||||
|
|
||||
*/
|
||||
$config['cache_path'] = '';
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Encryption Key
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| If you use the Encryption class or the Sessions class with encryption
|
||||
| enabled you MUST set an encryption key. See the user guide for info.
|
||||
|
|
||||
*/
|
||||
$config['encryption_key'] = "";
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Variables
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| 'session_cookie_name' = the name you want for the cookie
|
||||
| 'encrypt_sess_cookie' = TRUE/FALSE (boolean). Whether to encrypt the cookie
|
||||
| 'session_expiration' = the number of SECONDS you want the session to last.
|
||||
| by default sessions last 7200 seconds (two hours). Set to zero for no expiration.
|
||||
| 'time_to_update' = how many seconds between CI refreshing Session Information
|
||||
|
|
||||
*/
|
||||
$config['sess_cookie_name'] = 'ci_session';
|
||||
$config['sess_expiration'] = 7200;
|
||||
$config['sess_encrypt_cookie'] = FALSE;
|
||||
$config['sess_use_database'] = FALSE;
|
||||
$config['sess_table_name'] = 'ci_sessions';
|
||||
$config['sess_match_ip'] = FALSE;
|
||||
$config['sess_match_useragent'] = TRUE;
|
||||
$config['sess_time_to_update'] = 300;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cookie Related Variables
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| 'cookie_prefix' = Set a prefix if you need to avoid collisions
|
||||
| 'cookie_domain' = Set to .your-domain.com for site-wide cookies
|
||||
| 'cookie_path' = Typically will be a forward slash
|
||||
|
|
||||
*/
|
||||
$config['cookie_prefix'] = "";
|
||||
$config['cookie_domain'] = "";
|
||||
$config['cookie_path'] = "/";
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Global XSS Filtering
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Determines whether the XSS filter is always active when GET, POST or
|
||||
| COOKIE data is encountered
|
||||
|
|
||||
*/
|
||||
$config['global_xss_filtering'] = FALSE;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Output Compression
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Enables Gzip output compression for faster page loads. When enabled,
|
||||
| the output class will test whether your server supports Gzip.
|
||||
| Even if it does, however, not all browsers support compression
|
||||
| so enable only if you are reasonably sure your visitors can handle it.
|
||||
|
|
||||
| VERY IMPORTANT: If you are getting a blank page when compression is enabled it
|
||||
| means you are prematurely outputting something to your browser. It could
|
||||
| even be a line of whitespace at the end of one of your scripts. For
|
||||
| compression to work, nothing can be sent before the output buffer is called
|
||||
| by the output class. Do not "echo" any values with compression enabled.
|
||||
|
|
||||
*/
|
||||
$config['compress_output'] = FALSE;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Master Time Reference
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Options are "local" or "gmt". This pref tells the system whether to use
|
||||
| your server's local time as the master "now" reference, or convert it to
|
||||
| GMT. See the "date helper" page of the user guide for information
|
||||
| regarding date handling.
|
||||
|
|
||||
*/
|
||||
$config['time_reference'] = 'local';
|
||||
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Rewrite PHP Short Tags
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| If your PHP installation does not have short tag support enabled CI
|
||||
| can rewrite the tags on-the-fly, enabling you to utilize that syntax
|
||||
| in your view files. Options are TRUE or FALSE (boolean)
|
||||
|
|
||||
*/
|
||||
$config['rewrite_short_tags'] = FALSE;
|
||||
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Reverse Proxy IPs
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| If your server is behind a reverse proxy, you must whitelist the proxy IP
|
||||
| addresses from which CodeIgniter should trust the HTTP_X_FORWARDED_FOR
|
||||
| header in order to properly identify the visitor's IP address.
|
||||
| Comma-delimited, e.g. '10.0.1.200,10.0.1.201'
|
||||
|
|
||||
*/
|
||||
$config['proxy_ips'] = '';
|
||||
|
||||
|
||||
/* End of file config.php */
|
||||
/* Location: ./system/application/config/config.php */
|
||||
@@ -0,0 +1,41 @@
|
||||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| File and Directory Modes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| These prefs are used when checking and setting modes when working
|
||||
| with the file system. The defaults are fine on servers with proper
|
||||
| security, but you may wish (or even need) to change the values in
|
||||
| certain environments (Apache running a separate process for each
|
||||
| user, PHP under CGI with Apache suEXEC, etc.). Octal values should
|
||||
| always be used to set the mode correctly.
|
||||
|
|
||||
*/
|
||||
define('FILE_READ_MODE', 0644);
|
||||
define('FILE_WRITE_MODE', 0666);
|
||||
define('DIR_READ_MODE', 0755);
|
||||
define('DIR_WRITE_MODE', 0777);
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| File Stream Modes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| These modes are used when working with fopen()/popen()
|
||||
|
|
||||
*/
|
||||
|
||||
define('FOPEN_READ', 'rb');
|
||||
define('FOPEN_READ_WRITE', 'r+b');
|
||||
define('FOPEN_WRITE_CREATE_DESTRUCTIVE', 'wb'); // truncates existing file data, use with care
|
||||
define('FOPEN_READ_WRITE_CREATE_DESTRUCTIVE', 'w+b'); // truncates existing file data, use with care
|
||||
define('FOPEN_WRITE_CREATE', 'ab');
|
||||
define('FOPEN_READ_WRITE_CREATE', 'a+b');
|
||||
define('FOPEN_WRITE_CREATE_STRICT', 'xb');
|
||||
define('FOPEN_READ_WRITE_CREATE_STRICT', 'x+b');
|
||||
|
||||
|
||||
/* End of file constants.php */
|
||||
/* Location: ./system/application/config/constants.php */
|
||||
@@ -0,0 +1,55 @@
|
||||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
/*
|
||||
| -------------------------------------------------------------------
|
||||
| DATABASE CONNECTIVITY SETTINGS
|
||||
| -------------------------------------------------------------------
|
||||
| This file will contain the settings needed to access your database.
|
||||
|
|
||||
| For complete instructions please consult the "Database Connection"
|
||||
| page of the User Guide.
|
||||
|
|
||||
| -------------------------------------------------------------------
|
||||
| EXPLANATION OF VARIABLES
|
||||
| -------------------------------------------------------------------
|
||||
|
|
||||
| ['hostname'] The hostname of your database server.
|
||||
| ['username'] The username used to connect to the database
|
||||
| ['password'] The password used to connect to the database
|
||||
| ['database'] The name of the database you want to connect to
|
||||
| ['dbdriver'] The database type. ie: mysql. Currently supported:
|
||||
mysql, mysqli, postgre, odbc, mssql, sqlite, oci8
|
||||
| ['dbprefix'] You can add an optional prefix, which will be added
|
||||
| to the table name when using the Active Record class
|
||||
| ['pconnect'] TRUE/FALSE - Whether to use a persistent connection
|
||||
| ['db_debug'] TRUE/FALSE - Whether database errors should be displayed.
|
||||
| ['cache_on'] TRUE/FALSE - Enables/disables query caching
|
||||
| ['cachedir'] The path to the folder where cache files should be stored
|
||||
| ['char_set'] The character set used in communicating with the database
|
||||
| ['dbcollat'] The character collation used in communicating with the database
|
||||
|
|
||||
| The $active_group variable lets you choose which connection group to
|
||||
| make active. By default there is only one group (the "default" group).
|
||||
|
|
||||
| The $active_record variables lets you determine whether or not to load
|
||||
| the active record class
|
||||
*/
|
||||
|
||||
$active_group = "default";
|
||||
$active_record = TRUE;
|
||||
|
||||
$db['default']['hostname'] = "localhost";
|
||||
$db['default']['username'] = "";
|
||||
$db['default']['password'] = "";
|
||||
$db['default']['database'] = "";
|
||||
$db['default']['dbdriver'] = "mysql";
|
||||
$db['default']['dbprefix'] = "";
|
||||
$db['default']['pconnect'] = TRUE;
|
||||
$db['default']['db_debug'] = TRUE;
|
||||
$db['default']['cache_on'] = FALSE;
|
||||
$db['default']['cachedir'] = "";
|
||||
$db['default']['char_set'] = "utf8";
|
||||
$db['default']['dbcollat'] = "utf8_general_ci";
|
||||
|
||||
|
||||
/* End of file database.php */
|
||||
/* Location: ./system/application/config/database.php */
|
||||
@@ -0,0 +1,15 @@
|
||||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
$_doctypes = array(
|
||||
'xhtml11' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">',
|
||||
'xhtml1-strict' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">',
|
||||
'xhtml1-trans' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',
|
||||
'xhtml1-frame' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">',
|
||||
'html5' => '<!DOCTYPE html>',
|
||||
'html4-strict' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">',
|
||||
'html4-trans' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">',
|
||||
'html4-frame' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">'
|
||||
);
|
||||
|
||||
/* End of file doctypes.php */
|
||||
/* Location: application/config/doctypes.php */
|
||||
@@ -0,0 +1,14 @@
|
||||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| DYNECT API LOGIN INFO
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Enter your Dynect API login info here.
|
||||
|
|
||||
*/
|
||||
$config['customer_name'] = 'demo-pagely';
|
||||
$config['user_name'] = 'jstrebel';
|
||||
$config['password'] = '1234test';
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
/*
|
||||
| -------------------------------------------------------------------------
|
||||
| Hooks
|
||||
| -------------------------------------------------------------------------
|
||||
| This file lets you define "hooks" to extend CI without hacking the core
|
||||
| files. Please see the user guide for info:
|
||||
|
|
||||
| http://codeigniter.com/user_guide/general/hooks.html
|
||||
|
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/* End of file hooks.php */
|
||||
/* Location: ./system/application/config/hooks.php */
|
||||
@@ -0,0 +1,10 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>403 Forbidden</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>Directory access is forbidden.</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,105 @@
|
||||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
/*
|
||||
| -------------------------------------------------------------------
|
||||
| MIME TYPES
|
||||
| -------------------------------------------------------------------
|
||||
| This file contains an array of mime types. It is used by the
|
||||
| Upload class to help identify allowed file types.
|
||||
|
|
||||
*/
|
||||
|
||||
$mimes = array( 'hqx' => 'application/mac-binhex40',
|
||||
'cpt' => 'application/mac-compactpro',
|
||||
'csv' => array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel'),
|
||||
'bin' => 'application/macbinary',
|
||||
'dms' => 'application/octet-stream',
|
||||
'lha' => 'application/octet-stream',
|
||||
'lzh' => 'application/octet-stream',
|
||||
'exe' => 'application/octet-stream',
|
||||
'class' => 'application/octet-stream',
|
||||
'psd' => 'application/x-photoshop',
|
||||
'so' => 'application/octet-stream',
|
||||
'sea' => 'application/octet-stream',
|
||||
'dll' => 'application/octet-stream',
|
||||
'oda' => 'application/oda',
|
||||
'pdf' => array('application/pdf', 'application/x-download'),
|
||||
'ai' => 'application/postscript',
|
||||
'eps' => 'application/postscript',
|
||||
'ps' => 'application/postscript',
|
||||
'smi' => 'application/smil',
|
||||
'smil' => 'application/smil',
|
||||
'mif' => 'application/vnd.mif',
|
||||
'xls' => array('application/excel', 'application/vnd.ms-excel', 'application/msexcel'),
|
||||
'ppt' => array('application/powerpoint', 'application/vnd.ms-powerpoint'),
|
||||
'wbxml' => 'application/wbxml',
|
||||
'wmlc' => 'application/wmlc',
|
||||
'dcr' => 'application/x-director',
|
||||
'dir' => 'application/x-director',
|
||||
'dxr' => 'application/x-director',
|
||||
'dvi' => 'application/x-dvi',
|
||||
'gtar' => 'application/x-gtar',
|
||||
'gz' => 'application/x-gzip',
|
||||
'php' => 'application/x-httpd-php',
|
||||
'php4' => 'application/x-httpd-php',
|
||||
'php3' => 'application/x-httpd-php',
|
||||
'phtml' => 'application/x-httpd-php',
|
||||
'phps' => 'application/x-httpd-php-source',
|
||||
'js' => 'application/x-javascript',
|
||||
'swf' => 'application/x-shockwave-flash',
|
||||
'sit' => 'application/x-stuffit',
|
||||
'tar' => 'application/x-tar',
|
||||
'tgz' => 'application/x-tar',
|
||||
'xhtml' => 'application/xhtml+xml',
|
||||
'xht' => 'application/xhtml+xml',
|
||||
'zip' => array('application/x-zip', 'application/zip', 'application/x-zip-compressed'),
|
||||
'mid' => 'audio/midi',
|
||||
'midi' => 'audio/midi',
|
||||
'mpga' => 'audio/mpeg',
|
||||
'mp2' => 'audio/mpeg',
|
||||
'mp3' => array('audio/mpeg', 'audio/mpg'),
|
||||
'aif' => 'audio/x-aiff',
|
||||
'aiff' => 'audio/x-aiff',
|
||||
'aifc' => 'audio/x-aiff',
|
||||
'ram' => 'audio/x-pn-realaudio',
|
||||
'rm' => 'audio/x-pn-realaudio',
|
||||
'rpm' => 'audio/x-pn-realaudio-plugin',
|
||||
'ra' => 'audio/x-realaudio',
|
||||
'rv' => 'video/vnd.rn-realvideo',
|
||||
'wav' => 'audio/x-wav',
|
||||
'bmp' => 'image/bmp',
|
||||
'gif' => 'image/gif',
|
||||
'jpeg' => array('image/jpeg', 'image/pjpeg'),
|
||||
'jpg' => array('image/jpeg', 'image/pjpeg'),
|
||||
'jpe' => array('image/jpeg', 'image/pjpeg'),
|
||||
'png' => array('image/png', 'image/x-png'),
|
||||
'tiff' => 'image/tiff',
|
||||
'tif' => 'image/tiff',
|
||||
'css' => 'text/css',
|
||||
'html' => 'text/html',
|
||||
'htm' => 'text/html',
|
||||
'shtml' => 'text/html',
|
||||
'txt' => 'text/plain',
|
||||
'text' => 'text/plain',
|
||||
'log' => array('text/plain', 'text/x-log'),
|
||||
'rtx' => 'text/richtext',
|
||||
'rtf' => 'text/rtf',
|
||||
'xml' => 'text/xml',
|
||||
'xsl' => 'text/xml',
|
||||
'mpeg' => 'video/mpeg',
|
||||
'mpg' => 'video/mpeg',
|
||||
'mpe' => 'video/mpeg',
|
||||
'qt' => 'video/quicktime',
|
||||
'mov' => 'video/quicktime',
|
||||
'avi' => 'video/x-msvideo',
|
||||
'movie' => 'video/x-sgi-movie',
|
||||
'doc' => 'application/msword',
|
||||
'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
|
||||
'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
|
||||
'word' => array('application/msword', 'application/octet-stream'),
|
||||
'xl' => 'application/excel',
|
||||
'eml' => 'message/rfc822'
|
||||
);
|
||||
|
||||
|
||||
/* End of file mimes.php */
|
||||
/* Location: ./system/application/config/mimes.php */
|
||||
@@ -0,0 +1,71 @@
|
||||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| POSTMARK API KEY
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Enter your Postmark API key here.
|
||||
|
|
||||
| This key is available by visiting your Postmark Rack, clicking 'Details'
|
||||
| next to the desiered server, then clicking 'Settings & API Credentials'
|
||||
|
|
||||
*/
|
||||
$config['api_key'] = '';
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| FROM NAME & FROM ADDRESS
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| These are optional settings
|
||||
|
|
||||
| If you're going to be using the same Sender Signature for all emails, it
|
||||
| might be easier to assign it here, than doing so with each individual
|
||||
| email. If you are not using this setting, comment it out.
|
||||
|
|
||||
| Configure your Sender Signatures at http://postmarkapp.com/signatures
|
||||
*/
|
||||
$config['from_name'] = 'Will Bradley';
|
||||
$config['from_address'] = 'bradley.will@gmail.com';
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| VALIDATION
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Setting validation to TRUE will require that you pass Postmark valid
|
||||
| email addresses for sender and reciever. If these are not valid email
|
||||
| addresses, the request to send an email will not be sent to Postmark.
|
||||
|
|
||||
| This is reccomended on high traffic servers
|
||||
|
|
||||
*/
|
||||
$config['validation'] = TRUE;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| STRIP_HTML
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Setting strip_tags to TRUE will strip all HTML tags from _plain_message
|
||||
| using PHP's strip_tags() function. It should be noted that the output
|
||||
| will probably be far from what you would expect.
|
||||
|
|
||||
| Experimental Feature
|
||||
|
|
||||
*/
|
||||
$config['strip_html'] = TRUE;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| DEVELOP
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Often when implementing your client library or when integrating an
|
||||
| existing library into your application you would want to send 'test'
|
||||
| emails that don't actually get delivered to the recipient. You just need
|
||||
| to know if your data is valid. You can do that by setting this to TRUE
|
||||
|
|
||||
*/
|
||||
$config['develop'] = TRUE;
|
||||
@@ -0,0 +1,48 @@
|
||||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
/*
|
||||
| -------------------------------------------------------------------------
|
||||
| URI ROUTING
|
||||
| -------------------------------------------------------------------------
|
||||
| This file lets you re-map URI requests to specific controller functions.
|
||||
|
|
||||
| Typically there is a one-to-one relationship between a URL string
|
||||
| and its corresponding controller class/method. The segments in a
|
||||
| URL normally follow this pattern:
|
||||
|
|
||||
| example.com/class/method/id/
|
||||
|
|
||||
| In some instances, however, you may want to remap this relationship
|
||||
| so that a different class/function is called than the one
|
||||
| corresponding to the URL.
|
||||
|
|
||||
| Please see the user guide for complete details:
|
||||
|
|
||||
| http://codeigniter.com/user_guide/general/routing.html
|
||||
|
|
||||
| -------------------------------------------------------------------------
|
||||
| RESERVED ROUTES
|
||||
| -------------------------------------------------------------------------
|
||||
|
|
||||
| There are two reserved routes:
|
||||
|
|
||||
| $route['default_controller'] = 'welcome';
|
||||
|
|
||||
| This route indicates which controller class should be loaded if the
|
||||
| URI contains no data. In the above example, the "welcome" class
|
||||
| would be loaded.
|
||||
|
|
||||
| $route['scaffolding_trigger'] = 'scaffolding';
|
||||
|
|
||||
| This route lets you set a "secret" word that will trigger the
|
||||
| scaffolding feature for added security. Note: Scaffolding must be
|
||||
| enabled in the controller in which you intend to use it. The reserved
|
||||
| routes must come before any wildcard or regular expression routes.
|
||||
|
|
||||
*/
|
||||
|
||||
$route['default_controller'] = "welcome";
|
||||
$route['scaffolding_trigger'] = "";
|
||||
|
||||
|
||||
/* End of file routes.php */
|
||||
/* Location: ./system/application/config/routes.php */
|
||||
@@ -0,0 +1,66 @@
|
||||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
/*
|
||||
| -------------------------------------------------------------------
|
||||
| SMILEYS
|
||||
| -------------------------------------------------------------------
|
||||
| This file contains an array of smileys for use with the emoticon helper.
|
||||
| Individual images can be used to replace multiple simileys. For example:
|
||||
| :-) and :) use the same image replacement.
|
||||
|
|
||||
| Please see user guide for more info:
|
||||
| http://codeigniter.com/user_guide/helpers/smiley_helper.html
|
||||
|
|
||||
*/
|
||||
|
||||
$smileys = array(
|
||||
|
||||
// smiley image name width height alt
|
||||
|
||||
':-)' => array('grin.gif', '19', '19', 'grin'),
|
||||
':lol:' => array('lol.gif', '19', '19', 'LOL'),
|
||||
':cheese:' => array('cheese.gif', '19', '19', 'cheese'),
|
||||
':)' => array('smile.gif', '19', '19', 'smile'),
|
||||
';-)' => array('wink.gif', '19', '19', 'wink'),
|
||||
';)' => array('wink.gif', '19', '19', 'wink'),
|
||||
':smirk:' => array('smirk.gif', '19', '19', 'smirk'),
|
||||
':roll:' => array('rolleyes.gif', '19', '19', 'rolleyes'),
|
||||
':-S' => array('confused.gif', '19', '19', 'confused'),
|
||||
':wow:' => array('surprise.gif', '19', '19', 'surprised'),
|
||||
':bug:' => array('bigsurprise.gif', '19', '19', 'big surprise'),
|
||||
':-P' => array('tongue_laugh.gif', '19', '19', 'tongue laugh'),
|
||||
'%-P' => array('tongue_rolleye.gif', '19', '19', 'tongue rolleye'),
|
||||
';-P' => array('tongue_wink.gif', '19', '19', 'tongue wink'),
|
||||
':P' => array('raspberry.gif', '19', '19', 'raspberry'),
|
||||
':blank:' => array('blank.gif', '19', '19', 'blank stare'),
|
||||
':long:' => array('longface.gif', '19', '19', 'long face'),
|
||||
':ohh:' => array('ohh.gif', '19', '19', 'ohh'),
|
||||
':grrr:' => array('grrr.gif', '19', '19', 'grrr'),
|
||||
':gulp:' => array('gulp.gif', '19', '19', 'gulp'),
|
||||
'8-/' => array('ohoh.gif', '19', '19', 'oh oh'),
|
||||
':down:' => array('downer.gif', '19', '19', 'downer'),
|
||||
':red:' => array('embarrassed.gif', '19', '19', 'red face'),
|
||||
':sick:' => array('sick.gif', '19', '19', 'sick'),
|
||||
':shut:' => array('shuteye.gif', '19', '19', 'shut eye'),
|
||||
':-/' => array('hmm.gif', '19', '19', 'hmmm'),
|
||||
'>:(' => array('mad.gif', '19', '19', 'mad'),
|
||||
':mad:' => array('mad.gif', '19', '19', 'mad'),
|
||||
'>:-(' => array('angry.gif', '19', '19', 'angry'),
|
||||
':angry:' => array('angry.gif', '19', '19', 'angry'),
|
||||
':zip:' => array('zip.gif', '19', '19', 'zipper'),
|
||||
':kiss:' => array('kiss.gif', '19', '19', 'kiss'),
|
||||
':ahhh:' => array('shock.gif', '19', '19', 'shock'),
|
||||
':coolsmile:' => array('shade_smile.gif', '19', '19', 'cool smile'),
|
||||
':coolsmirk:' => array('shade_smirk.gif', '19', '19', 'cool smirk'),
|
||||
':coolgrin:' => array('shade_grin.gif', '19', '19', 'cool grin'),
|
||||
':coolhmm:' => array('shade_hmm.gif', '19', '19', 'cool hmm'),
|
||||
':coolmad:' => array('shade_mad.gif', '19', '19', 'cool mad'),
|
||||
':coolcheese:' => array('shade_cheese.gif', '19', '19', 'cool cheese'),
|
||||
':vampire:' => array('vampire.gif', '19', '19', 'vampire'),
|
||||
':snake:' => array('snake.gif', '19', '19', 'snake'),
|
||||
':exclaim:' => array('exclaim.gif', '19', '19', 'excaim'),
|
||||
':question:' => array('question.gif', '19', '19', 'question') // no comma after last item
|
||||
|
||||
);
|
||||
|
||||
/* End of file smileys.php */
|
||||
/* Location: ./system/application/config/smileys.php */
|
||||
@@ -0,0 +1,175 @@
|
||||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
/*
|
||||
| -------------------------------------------------------------------
|
||||
| USER AGENT TYPES
|
||||
| -------------------------------------------------------------------
|
||||
| This file contains four arrays of user agent data. It is used by the
|
||||
| User Agent Class to help identify browser, platform, robot, and
|
||||
| mobile device data. The array keys are used to identify the device
|
||||
| and the array values are used to set the actual name of the item.
|
||||
|
|
||||
*/
|
||||
|
||||
$platforms = array (
|
||||
'windows nt 6.0' => 'Windows Longhorn',
|
||||
'windows nt 5.2' => 'Windows 2003',
|
||||
'windows nt 5.0' => 'Windows 2000',
|
||||
'windows nt 5.1' => 'Windows XP',
|
||||
'windows nt 4.0' => 'Windows NT 4.0',
|
||||
'winnt4.0' => 'Windows NT 4.0',
|
||||
'winnt 4.0' => 'Windows NT',
|
||||
'winnt' => 'Windows NT',
|
||||
'windows 98' => 'Windows 98',
|
||||
'win98' => 'Windows 98',
|
||||
'windows 95' => 'Windows 95',
|
||||
'win95' => 'Windows 95',
|
||||
'windows' => 'Unknown Windows OS',
|
||||
'os x' => 'Mac OS X',
|
||||
'ppc mac' => 'Power PC Mac',
|
||||
'freebsd' => 'FreeBSD',
|
||||
'ppc' => 'Macintosh',
|
||||
'linux' => 'Linux',
|
||||
'debian' => 'Debian',
|
||||
'sunos' => 'Sun Solaris',
|
||||
'beos' => 'BeOS',
|
||||
'apachebench' => 'ApacheBench',
|
||||
'aix' => 'AIX',
|
||||
'irix' => 'Irix',
|
||||
'osf' => 'DEC OSF',
|
||||
'hp-ux' => 'HP-UX',
|
||||
'netbsd' => 'NetBSD',
|
||||
'bsdi' => 'BSDi',
|
||||
'openbsd' => 'OpenBSD',
|
||||
'gnu' => 'GNU/Linux',
|
||||
'unix' => 'Unknown Unix OS'
|
||||
);
|
||||
|
||||
|
||||
// The order of this array should NOT be changed. Many browsers return
|
||||
// multiple browser types so we want to identify the sub-type first.
|
||||
$browsers = array(
|
||||
'Opera' => 'Opera',
|
||||
'MSIE' => 'Internet Explorer',
|
||||
'Internet Explorer' => 'Internet Explorer',
|
||||
'Shiira' => 'Shiira',
|
||||
'Firefox' => 'Firefox',
|
||||
'Chimera' => 'Chimera',
|
||||
'Phoenix' => 'Phoenix',
|
||||
'Firebird' => 'Firebird',
|
||||
'Camino' => 'Camino',
|
||||
'Netscape' => 'Netscape',
|
||||
'OmniWeb' => 'OmniWeb',
|
||||
'Safari' => 'Safari',
|
||||
'Mozilla' => 'Mozilla',
|
||||
'Konqueror' => 'Konqueror',
|
||||
'icab' => 'iCab',
|
||||
'Lynx' => 'Lynx',
|
||||
'Links' => 'Links',
|
||||
'hotjava' => 'HotJava',
|
||||
'amaya' => 'Amaya',
|
||||
'IBrowse' => 'IBrowse'
|
||||
);
|
||||
|
||||
$mobiles = array(
|
||||
// legacy array, old values commented out
|
||||
'mobileexplorer' => 'Mobile Explorer',
|
||||
// 'openwave' => 'Open Wave',
|
||||
// 'opera mini' => 'Opera Mini',
|
||||
// 'operamini' => 'Opera Mini',
|
||||
// 'elaine' => 'Palm',
|
||||
'palmsource' => 'Palm',
|
||||
// 'digital paths' => 'Palm',
|
||||
// 'avantgo' => 'Avantgo',
|
||||
// 'xiino' => 'Xiino',
|
||||
'palmscape' => 'Palmscape',
|
||||
// 'nokia' => 'Nokia',
|
||||
// 'ericsson' => 'Ericsson',
|
||||
// 'blackberry' => 'BlackBerry',
|
||||
// 'motorola' => 'Motorola'
|
||||
|
||||
// Phones and Manufacturers
|
||||
'motorola' => "Motorola",
|
||||
'nokia' => "Nokia",
|
||||
'palm' => "Palm",
|
||||
'iphone' => "Apple iPhone",
|
||||
'ipod' => "Apple iPod Touch",
|
||||
'sony' => "Sony Ericsson",
|
||||
'ericsson' => "Sony Ericsson",
|
||||
'blackberry' => "BlackBerry",
|
||||
'cocoon' => "O2 Cocoon",
|
||||
'blazer' => "Treo",
|
||||
'lg' => "LG",
|
||||
'amoi' => "Amoi",
|
||||
'xda' => "XDA",
|
||||
'mda' => "MDA",
|
||||
'vario' => "Vario",
|
||||
'htc' => "HTC",
|
||||
'samsung' => "Samsung",
|
||||
'sharp' => "Sharp",
|
||||
'sie-' => "Siemens",
|
||||
'alcatel' => "Alcatel",
|
||||
'benq' => "BenQ",
|
||||
'ipaq' => "HP iPaq",
|
||||
'mot-' => "Motorola",
|
||||
'playstation portable' => "PlayStation Portable",
|
||||
'hiptop' => "Danger Hiptop",
|
||||
'nec-' => "NEC",
|
||||
'panasonic' => "Panasonic",
|
||||
'philips' => "Philips",
|
||||
'sagem' => "Sagem",
|
||||
'sanyo' => "Sanyo",
|
||||
'spv' => "SPV",
|
||||
'zte' => "ZTE",
|
||||
'sendo' => "Sendo",
|
||||
|
||||
// Operating Systems
|
||||
'symbian' => "Symbian",
|
||||
'SymbianOS' => "SymbianOS",
|
||||
'elaine' => "Palm",
|
||||
'palm' => "Palm",
|
||||
'series60' => "Symbian S60",
|
||||
'windows ce' => "Windows CE",
|
||||
|
||||
// Browsers
|
||||
'obigo' => "Obigo",
|
||||
'netfront' => "Netfront Browser",
|
||||
'openwave' => "Openwave Browser",
|
||||
'mobilexplorer' => "Mobile Explorer",
|
||||
'operamini' => "Opera Mini",
|
||||
'opera mini' => "Opera Mini",
|
||||
|
||||
// Other
|
||||
'digital paths' => "Digital Paths",
|
||||
'avantgo' => "AvantGo",
|
||||
'xiino' => "Xiino",
|
||||
'novarra' => "Novarra Transcoder",
|
||||
'vodafone' => "Vodafone",
|
||||
'docomo' => "NTT DoCoMo",
|
||||
'o2' => "O2",
|
||||
|
||||
// Fallback
|
||||
'mobile' => "Generic Mobile",
|
||||
'wireless' => "Generic Mobile",
|
||||
'j2me' => "Generic Mobile",
|
||||
'midp' => "Generic Mobile",
|
||||
'cldc' => "Generic Mobile",
|
||||
'up.link' => "Generic Mobile",
|
||||
'up.browser' => "Generic Mobile",
|
||||
'smartphone' => "Generic Mobile",
|
||||
'cellphone' => "Generic Mobile"
|
||||
);
|
||||
|
||||
// There are hundreds of bots but these are the most common.
|
||||
$robots = array(
|
||||
'googlebot' => 'Googlebot',
|
||||
'msnbot' => 'MSNBot',
|
||||
'slurp' => 'Inktomi Slurp',
|
||||
'yahoo' => 'Yahoo',
|
||||
'askjeeves' => 'AskJeeves',
|
||||
'fastcrawler' => 'FastCrawler',
|
||||
'infoseek' => 'InfoSeek Robot 1.0',
|
||||
'lycos' => 'Lycos'
|
||||
);
|
||||
|
||||
/* End of file user_agents.php */
|
||||
/* Location: ./system/application/config/user_agents.php */
|
||||
@@ -0,0 +1,10 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>403 Forbidden</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>Directory access is forbidden.</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
class Welcome extends Controller {
|
||||
|
||||
function Welcome()
|
||||
{
|
||||
parent::Controller();
|
||||
}
|
||||
|
||||
function index()
|
||||
{
|
||||
$this->load->library('Dynect_API');
|
||||
$dyn = new Dynect_API();
|
||||
$dyn->login();
|
||||
// print_r($dyn->get_all_records('foobo.com','test.foobo.com'));
|
||||
// print_r($dyn->get_zones());
|
||||
print_r($dyn->create_zone("feebeetest1.com", "admin@feebeetest1.com", 3600));
|
||||
print_r($dyn->publish_zone("feebeetest1.com"));
|
||||
print_r($dyn->delete_zone("feebeetest1.com"));
|
||||
// print_r($dyn->get_records('A','foobo.com','test.foobo.com'));
|
||||
// print_r($dyn->create_record('A', 'feebeetest1.com', 'test.feebeetest1.com', array('address' => '127.0.0.1')));
|
||||
// print_r($dyn->delete_records('A', 'foobo.com', 'test.foobo.com'));
|
||||
|
||||
$dyn->logout();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/* End of file welcome.php */
|
||||
/* Location: ./system/application/controllers/welcome.php */
|
||||
@@ -0,0 +1,34 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>404 Page Not Found</title>
|
||||
<style type="text/css">
|
||||
|
||||
body {
|
||||
background-color: #fff;
|
||||
margin: 40px;
|
||||
font-family: Lucida Grande, Verdana, Sans-serif;
|
||||
font-size: 12px;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
#content {
|
||||
border: #999 1px solid;
|
||||
background-color: #fff;
|
||||
padding: 20px 20px 12px 20px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-weight: normal;
|
||||
font-size: 14px;
|
||||
color: #990000;
|
||||
margin: 0 0 4px 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="content">
|
||||
<h1><?php echo $heading; ?></h1>
|
||||
<?php echo $message; ?>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,34 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Database Error</title>
|
||||
<style type="text/css">
|
||||
|
||||
body {
|
||||
background-color: #fff;
|
||||
margin: 40px;
|
||||
font-family: Lucida Grande, Verdana, Sans-serif;
|
||||
font-size: 12px;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
#content {
|
||||
border: #999 1px solid;
|
||||
background-color: #fff;
|
||||
padding: 20px 20px 12px 20px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-weight: normal;
|
||||
font-size: 14px;
|
||||
color: #990000;
|
||||
margin: 0 0 4px 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="content">
|
||||
<h1><?php echo $heading; ?></h1>
|
||||
<?php echo $message; ?>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,34 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Error</title>
|
||||
<style type="text/css">
|
||||
|
||||
body {
|
||||
background-color: #fff;
|
||||
margin: 40px;
|
||||
font-family: Lucida Grande, Verdana, Sans-serif;
|
||||
font-size: 12px;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
#content {
|
||||
border: #999 1px solid;
|
||||
background-color: #fff;
|
||||
padding: 20px 20px 12px 20px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-weight: normal;
|
||||
font-size: 14px;
|
||||
color: #990000;
|
||||
margin: 0 0 4px 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="content">
|
||||
<h1><?php echo $heading; ?></h1>
|
||||
<?php echo $message; ?>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,10 @@
|
||||
<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">
|
||||
|
||||
<h4>A PHP Error was encountered</h4>
|
||||
|
||||
<p>Severity: <?php echo $severity; ?></p>
|
||||
<p>Message: <?php echo $message; ?></p>
|
||||
<p>Filename: <?php echo $filepath; ?></p>
|
||||
<p>Line Number: <?php echo $line; ?></p>
|
||||
|
||||
</div>
|
||||
@@ -0,0 +1,10 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>403 Forbidden</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>Directory access is forbidden.</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,10 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>403 Forbidden</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>Directory access is forbidden.</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,10 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>403 Forbidden</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>Directory access is forbidden.</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,10 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>403 Forbidden</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>Directory access is forbidden.</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,10 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>403 Forbidden</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>Directory access is forbidden.</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,428 @@
|
||||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
/**
|
||||
* Dynect API SOAP Library
|
||||
*
|
||||
* Interfaces with the Dynect DNS service to query and modfiy DNS records.
|
||||
*
|
||||
* @category Libraries
|
||||
* @author Will Bradley, based on Dynect API examples.
|
||||
* @link http://www.zyphon.com
|
||||
*/
|
||||
|
||||
class Dynect_API {
|
||||
|
||||
//private
|
||||
var $CI;
|
||||
var $base_url = 'https://api2.dynect.net/wsdl/2.0.0/Dynect.wsdl'; // The Base Dynect API2 URL
|
||||
var $client; // The SOAP client
|
||||
var $token; // Dynect login token
|
||||
var $user_name = 'jstrebel'; // set by config
|
||||
var $customer_name = 'demo-pagely'; // set by config
|
||||
var $password = '1234test'; // set by config
|
||||
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @access public
|
||||
*/
|
||||
function Dynect_API() {
|
||||
$this->CI =& get_instance();
|
||||
|
||||
$this->client = new SoapClient($this->base_url, array('cache_wsdl' => 0)); //Connect to the WSDL
|
||||
|
||||
log_message('debug', 'Dynect_API Class Initialized');
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
|
||||
function login() {
|
||||
|
||||
/* ##########################
|
||||
|
||||
Logging In
|
||||
------------
|
||||
To log in to the dynect API you must call SessionLogin with customer name, username and password
|
||||
|
||||
Some Returned Values
|
||||
status - success or failure
|
||||
data->token - to be used with all other commands
|
||||
|
||||
** Complete Documentations can be found at
|
||||
https://manage.dynect.net/help/docs/api2/soap/
|
||||
|
||||
########################## */
|
||||
|
||||
if(!isset($this->user_name) || !isset($this->customer_name) || !isset($this->password)) {
|
||||
show_error('You must set your username, customer name, and password in application/config/dynect_api.php in order to login.');
|
||||
}
|
||||
else {
|
||||
|
||||
$parameters = array(
|
||||
'parameters' => array(
|
||||
'user_name'=> $this->user_name,
|
||||
'customer_name' => $this->customer_name,
|
||||
'password' => $this->password
|
||||
)
|
||||
);
|
||||
|
||||
$result = $this->client->__soapCall('SessionLogin',$parameters);
|
||||
|
||||
if(is_soap_fault($result)){
|
||||
trigger_error("SOAP Fault: (faultcode: {$result->faultcode}, faultstring: {$result->faultstring})", E_USER_ERROR);
|
||||
die();
|
||||
}
|
||||
|
||||
if($result->status == 'success'){
|
||||
$this->token = $result->data->token;
|
||||
return true;
|
||||
} else {
|
||||
log_message('error', 'Dynect_API could not log in. Result status: '.$result->status);
|
||||
die();
|
||||
}
|
||||
|
||||
} // end if isset user_name
|
||||
} // end login
|
||||
|
||||
function get_all_records($zone, $fqdn) {
|
||||
|
||||
/* ##########################
|
||||
|
||||
Getting All Records on a zone
|
||||
------------
|
||||
To get a list of all records send a GetANYRecords command with the token, zone, and fqdn as paramters
|
||||
|
||||
Some Returned Values
|
||||
status - success or failure
|
||||
data - object containing a list record type containers each with the rdata, fqdn, record_type, ttl and zone
|
||||
|
||||
** Complete Documentations can be found at
|
||||
https://manage.dynect.net/help/docs/api2/soap/
|
||||
|
||||
########################## */
|
||||
|
||||
$parameters = array(
|
||||
'parameters' => array(
|
||||
'token'=> $this->token,
|
||||
'zone' => $zone,
|
||||
'fqdn' => $fqdn
|
||||
)
|
||||
);
|
||||
|
||||
echo '<b>Retrieving all Records</b><br/>';
|
||||
echo '--------------------------<br/>';
|
||||
$result = $this->client->__soapCall('GetANYRecords',$parameters);
|
||||
|
||||
if(is_soap_fault($result)){
|
||||
trigger_error("SOAP Fault: (faultcode: {$result->faultcode}, faultstring: {$result->faultstring})", E_USER_ERROR);
|
||||
die();
|
||||
}
|
||||
|
||||
if($result->status == 'success'){
|
||||
return $result->data;
|
||||
} else {
|
||||
die('Unable to Get records');
|
||||
}
|
||||
|
||||
} // end get_record
|
||||
|
||||
|
||||
/**
|
||||
* Create a Zone
|
||||
*
|
||||
* @access public
|
||||
* @param Name of the zone
|
||||
* @param Administrative contact for this zone
|
||||
* @param Default TTL (in seconds) for records in the zone
|
||||
* @return void
|
||||
*/
|
||||
function create_zone($zone, $rname, $ttl = 3600) {
|
||||
|
||||
$parameters = array(
|
||||
'parameters' => array(
|
||||
'token'=> $this->token,
|
||||
'zone' => $zone,
|
||||
'rname' => $rname,
|
||||
'ttl' => $ttl
|
||||
)
|
||||
);
|
||||
|
||||
try{
|
||||
$result = $this->client->__soapCall('CreateZone',$parameters);
|
||||
}
|
||||
catch (SoapFault $ex) {
|
||||
trigger_error("SOAP Fault: ( ".var_export($ex->detail,true)." )", E_USER_ERROR);
|
||||
die();
|
||||
}
|
||||
|
||||
if($result->status == 'success'){
|
||||
return $result->data;
|
||||
} else {
|
||||
die('Unable to create zone');
|
||||
}
|
||||
|
||||
} // end create_zone
|
||||
|
||||
/**
|
||||
* Delete a Zone
|
||||
*
|
||||
* @access public
|
||||
* @param Name of the zone
|
||||
* @return boolean (true = success)
|
||||
*/
|
||||
function delete_zone($zone) {
|
||||
|
||||
$parameters = array(
|
||||
'parameters' => array(
|
||||
'token'=> $this->token,
|
||||
'zone' => $zone
|
||||
)
|
||||
);
|
||||
|
||||
try{
|
||||
$result = $this->client->__soapCall('DeleteOneZone',$parameters);
|
||||
}
|
||||
catch (SoapFault $ex) {
|
||||
trigger_error("SOAP Fault: ( ".var_export($ex->detail,true)." )", E_USER_ERROR);
|
||||
die();
|
||||
}
|
||||
|
||||
if($result->status == 'success'){
|
||||
return true;
|
||||
} else {
|
||||
die('Unable to delete zone');
|
||||
}
|
||||
|
||||
} // end delete_zone
|
||||
|
||||
|
||||
/**
|
||||
* Publish a Zone
|
||||
*
|
||||
* @access public
|
||||
* @param Name of the zone
|
||||
* @return boolean (true = success)
|
||||
*/
|
||||
function publish_zone($zone) {
|
||||
|
||||
$parameters = array(
|
||||
'parameters' => array(
|
||||
'token'=> $this->token,
|
||||
'zone' => $zone
|
||||
)
|
||||
);
|
||||
|
||||
try{
|
||||
$result = $this->client->__soapCall('PublishZone',$parameters);
|
||||
}
|
||||
catch (SoapFault $ex) {
|
||||
trigger_error("SOAP Fault: ( ".var_export($ex->detail,true)." )", E_USER_ERROR);
|
||||
die();
|
||||
}
|
||||
|
||||
if($result->status == 'success'){
|
||||
return true;
|
||||
} else {
|
||||
die('Unable to publish zone');
|
||||
}
|
||||
|
||||
} // end publish_zone
|
||||
|
||||
|
||||
/**
|
||||
* Delete Records - Deletes all records at fqdn of type
|
||||
*
|
||||
* @access public
|
||||
* @param Type of record to delete (A, AAAA, CNAME, DNSKEY, DS, KEY, LOC, MX, NS, PTR, RP, SOA, SRV, TXT)
|
||||
* @param Name of zone to delete records from
|
||||
* @param Name of node to delete records from
|
||||
* @return bool (true=success)
|
||||
*/
|
||||
function delete_records($type, $zone, $fqdn) {
|
||||
if(in_array($type, array('A', 'AAAA', 'CNAME', 'DNSKEY', 'DS', 'KEY', 'LOC', 'MX', 'NS', 'PTR', 'RP', 'SOA', 'SRV', 'TXT'))) {
|
||||
|
||||
$parameters = array(
|
||||
'parameters' => array(
|
||||
'token'=> $this->token,
|
||||
'fqdn' => $fqdn,
|
||||
'zone' => $zone
|
||||
)
|
||||
);
|
||||
|
||||
try{
|
||||
$result = $this->client->__soapCall('Delete'.$type.'Records',$parameters);
|
||||
}
|
||||
catch (SoapFault $ex) {
|
||||
trigger_error("SOAP Fault: ( ".var_export($ex->detail,true)." )", E_USER_ERROR);
|
||||
die();
|
||||
}
|
||||
|
||||
if($result->status == 'success'){
|
||||
return true;
|
||||
} else {
|
||||
die('Unable to create '.$type.' record.');
|
||||
}
|
||||
|
||||
}
|
||||
} // end delete_records
|
||||
|
||||
|
||||
/**
|
||||
* Create Record
|
||||
*
|
||||
* @access public
|
||||
* @param Type of record to create (A, AAAA, CNAME, DNSKEY, DS, KEY, LOC, MX, NS, PTR, RP, SOA, SRV, TXT)
|
||||
* @param Name of zone to add the record to
|
||||
* @param Name of node to add the record to
|
||||
* @param RData defining the record to add
|
||||
* @return array data
|
||||
string fqdn Fully qualified domain name of a node in the zone
|
||||
hash rdata RData defining the record
|
||||
(response data)
|
||||
string record_type The RRType of the record
|
||||
string ttl TTL for the record.
|
||||
string zone Name of the zone
|
||||
*/
|
||||
function create_record($type, $zone, $fqdn, $rdata) {
|
||||
if(in_array($type, array('A', 'AAAA', 'CNAME', 'DNSKEY', 'DS', 'KEY', 'LOC', 'MX', 'NS', 'PTR', 'RP', 'SOA', 'SRV', 'TXT'))) {
|
||||
|
||||
$parameters = array(
|
||||
'parameters' => array(
|
||||
'token'=> $this->token,
|
||||
'fqdn' => $fqdn,
|
||||
'zone' => $zone,
|
||||
'rdata' => $rdata
|
||||
)
|
||||
);
|
||||
|
||||
try{
|
||||
$result = $this->client->__soapCall('Create'.$type.'Record',$parameters);
|
||||
}
|
||||
catch (SoapFault $ex) {
|
||||
trigger_error("SOAP Fault: ( ".var_export($ex->detail,true)." )", E_USER_ERROR);
|
||||
die();
|
||||
}
|
||||
|
||||
if($result->status == 'success'){
|
||||
return $result->data;
|
||||
} else {
|
||||
die('Unable to create '.$type.' record.');
|
||||
}
|
||||
|
||||
}
|
||||
} // end create_record
|
||||
|
||||
|
||||
/**
|
||||
* Get Records
|
||||
*
|
||||
* @access public
|
||||
* @param Type of record to get (A, AAAA, CNAME, DNSKEY, DS, KEY, LOC, MX, NS, PTR, RP, SOA, SRV, TXT)
|
||||
* @param Name of zone to get the record of
|
||||
* @param Name of node to get the record of
|
||||
* @return array data
|
||||
string fqdn Fully qualified domain name of a node in the zone
|
||||
hash rdata RData defining the record
|
||||
(response data)
|
||||
string record_type The RRType of the record
|
||||
string ttl TTL for the record.
|
||||
string zone Name of the zone
|
||||
*/
|
||||
function get_records($type, $zone, $fqdn) {
|
||||
if(in_array($type, array('A', 'AAAA', 'CNAME', 'DNSKEY', 'DS', 'KEY', 'LOC', 'MX', 'NS', 'PTR', 'RP', 'SOA', 'SRV', 'TXT'))) {
|
||||
|
||||
$parameters = array(
|
||||
'parameters' => array(
|
||||
'token'=> $this->token,
|
||||
'fqdn' => $fqdn,
|
||||
'zone' => $zone
|
||||
)
|
||||
);
|
||||
|
||||
try{
|
||||
$result = $this->client->__soapCall('Get'.$type.'Records',$parameters);
|
||||
}
|
||||
catch (SoapFault $ex) {
|
||||
trigger_error("SOAP Fault: ( ".var_export($ex->faultstring,true)." )", E_USER_ERROR);
|
||||
die();
|
||||
}
|
||||
|
||||
if($result->status == 'success'){
|
||||
return $result->data;
|
||||
} else {
|
||||
die('Unable to get '.$type.' records.');
|
||||
}
|
||||
|
||||
}
|
||||
} // end get_records
|
||||
|
||||
|
||||
/**
|
||||
* Get all Zones
|
||||
*
|
||||
* @access public
|
||||
* @return zone data
|
||||
*/
|
||||
function get_zones() {
|
||||
|
||||
$parameters = array(
|
||||
'parameters' => array(
|
||||
'token'=> $this->token
|
||||
)
|
||||
);
|
||||
|
||||
$result = $this->client->__soapCall('GetZones',$parameters);
|
||||
|
||||
if(is_soap_fault($result)){
|
||||
trigger_error("SOAP Fault: (faultcode: {$result->faultcode}, faultstring: {$result->faultstring})", E_USER_ERROR);
|
||||
die();
|
||||
}
|
||||
|
||||
if($result->status == 'success'){
|
||||
return $result->data;
|
||||
} else {
|
||||
die('Unable to get zones');
|
||||
}
|
||||
|
||||
} // end get_zones
|
||||
|
||||
|
||||
function logout() {
|
||||
/* ##########################
|
||||
|
||||
Logging Out
|
||||
------------
|
||||
To log in to the dynect API you must call SessionLogout with the token received at login
|
||||
|
||||
Some Returned Values
|
||||
status - success or failure
|
||||
|
||||
** Complete Documentations can be found at
|
||||
https://manage.dynect.net/help/docs/api2/soap/
|
||||
|
||||
########################## */
|
||||
|
||||
$parameters = array(
|
||||
'parameters' => array(
|
||||
'token'=> $this->token
|
||||
)
|
||||
);
|
||||
|
||||
$result = $this->client->__soapCall('SessionLogout',$parameters);
|
||||
|
||||
if(is_soap_fault($result)){
|
||||
trigger_error("SOAP Fault: (faultcode: {$result->faultcode}, faultstring: {$result->faultstring})", E_USER_ERROR);
|
||||
die();
|
||||
}
|
||||
|
||||
$message = $result->msgs;
|
||||
|
||||
if($result->status != 'success'){
|
||||
log_message('error','Dynect_API unable to log out.');
|
||||
}
|
||||
} // end logout
|
||||
|
||||
|
||||
} // end class
|
||||
@@ -0,0 +1,452 @@
|
||||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
/**
|
||||
* Postmark Email Library
|
||||
*
|
||||
* Permits email to be sent using Postmarkapp.com's Servers
|
||||
*
|
||||
* @category Libraries
|
||||
* @author Based on work by János Rusiczki & Markus Hedlund’s.
|
||||
* @modified Heavily Modified by Zack Kitzmiller
|
||||
* @link http://www.github.com/zackkitzmiller/postmark-codeigniter
|
||||
*/
|
||||
|
||||
class Postmark {
|
||||
|
||||
//private
|
||||
var $CI;
|
||||
var $api_key = '';
|
||||
var $validation = FALSE;
|
||||
var $strip_html = FALSE;
|
||||
var $develop = FALSE;
|
||||
|
||||
var $from_name;
|
||||
var $from_address;
|
||||
|
||||
var $_reply_to_name;
|
||||
var $_reply_to_address;
|
||||
|
||||
var $_to_name;
|
||||
var $_to_address;
|
||||
|
||||
var $_cc_name;
|
||||
var $_cc_address;
|
||||
|
||||
var $_subject;
|
||||
var $_message_plain;
|
||||
var $_message_html;
|
||||
|
||||
var $_tag;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @access public
|
||||
* @param array initialization parameters
|
||||
*/
|
||||
function Postmark($params = array())
|
||||
{
|
||||
$this->CI =& get_instance();
|
||||
|
||||
if (count($params) > 0)
|
||||
{
|
||||
$this->initialize($params);
|
||||
}
|
||||
|
||||
if ($this->develop == TRUE)
|
||||
{
|
||||
$this->api_key = 'POSTMARK_API_TEST';
|
||||
}
|
||||
|
||||
log_message('debug', 'Postmark Class Initialized');
|
||||
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Initialize Preferences
|
||||
*
|
||||
* @access public
|
||||
* @param array initialization parameters
|
||||
* @return void
|
||||
*/
|
||||
function initialize($params)
|
||||
{
|
||||
$this->clear();
|
||||
if (count($params) > 0)
|
||||
{
|
||||
foreach ($params as $key => $value)
|
||||
{
|
||||
if (isset($this->$key))
|
||||
{
|
||||
$this->$key = $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Clear the Email Data
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function clear() {
|
||||
|
||||
$this->from_name = '';
|
||||
$this->from_address = '';
|
||||
|
||||
$this->_to_name = '';
|
||||
$this->_to_address = '';
|
||||
|
||||
$this->_cc_name = '';
|
||||
$this->_cc_address = '';
|
||||
|
||||
$this->_subject = '';
|
||||
$this->_message_plain = '';
|
||||
$this->_message_html = '';
|
||||
|
||||
$this->_tag = '';
|
||||
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Set Email FROM address
|
||||
*
|
||||
* This could also be set in the config file
|
||||
*
|
||||
* TODO:
|
||||
* Validate Email Addresses ala CodeIgniter's Email Class
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function from($address, $name = null)
|
||||
{
|
||||
|
||||
if ( ! $this->validation == TRUE)
|
||||
{
|
||||
$this->from_address = $address;
|
||||
$this->from_name = $name;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($this->_validate_email($address))
|
||||
{
|
||||
$this->from_address = $address;
|
||||
$this->from_name = $name;
|
||||
}
|
||||
else
|
||||
{
|
||||
show_error('You have entered an invalid sender address.');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Set Email TO address
|
||||
*
|
||||
* TODO:
|
||||
* Validate Email Addresses ala CodeIgniter's Email Class
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function to($address, $name = null)
|
||||
{
|
||||
|
||||
if ( ! $this->validation == TRUE)
|
||||
{
|
||||
$this->_to_address = $address;
|
||||
$this->_to_name = $name;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($this->_validate_email($address))
|
||||
{
|
||||
$this->_to_address = $address;
|
||||
$this->_to_name = $name;
|
||||
}
|
||||
else
|
||||
{
|
||||
show_error('You have entered an invalid recipient address.');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Set Email ReplyTo address
|
||||
*
|
||||
* TODO:
|
||||
* Validate Email Addresses ala CodeIgniter's Email Class
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function reply_to($address, $name = null)
|
||||
{
|
||||
|
||||
if ( ! $this->validation == TRUE)
|
||||
{
|
||||
$this->_reply_to_address = $address;
|
||||
$this->_reply_to_name = $name;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($this->_validate_email($address))
|
||||
{
|
||||
$this->_reply_to_address = $address;
|
||||
$this->_reply_to_name = $name;
|
||||
}
|
||||
else
|
||||
{
|
||||
show_error('You have entered an invalid reply to address.');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Set Email CC address
|
||||
*
|
||||
* TODO:
|
||||
* Validate Email Addresses ala CodeIgniter's Email Class
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function cc($address, $name = null)
|
||||
{
|
||||
|
||||
if ( ! $this->validation == TRUE)
|
||||
{
|
||||
$this->_cc_address = $address;
|
||||
$this->_cc_name = $name;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($this->_validate_email($address))
|
||||
{
|
||||
$this->_cc_address = $address;
|
||||
$this->_cc_name = $name;
|
||||
}
|
||||
else
|
||||
{
|
||||
show_error('You have entered an invalid recipient address.');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Set Email Subject
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function subject($subject)
|
||||
{
|
||||
$this->_subject = $subject;
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Set Tag
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function tag($tag)
|
||||
{
|
||||
$this->_tag = $tag;
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Set Email Message in Plain Text
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function message_plain($message)
|
||||
{
|
||||
if ( ! $this->strip_html )
|
||||
{
|
||||
$this->_message_plain = $message;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->_message_plain = $this->_strip_html($message);
|
||||
}
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Set Email Message in HTML
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function message_html($message)
|
||||
{
|
||||
$this->_message_html = $message;
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
/**
|
||||
* Private Function to prepare and send email
|
||||
*/
|
||||
function _prepare_data()
|
||||
{
|
||||
$data = array();
|
||||
$data['Subject'] = $this->_subject;
|
||||
|
||||
$data['From'] = is_null($this->from_name) ? $this->from_address : "{$this->from_name} <{$this->from_address}>";
|
||||
$data['To'] = is_null($this->_to_name) ? $this->_to_address : "{$this->_to_name} <{$this->_to_address}>";
|
||||
|
||||
if (!is_null($this->_cc_address) && ($this->_cc_address != '')) {
|
||||
$data['Cc'] = is_null($this->_cc_name) ? $this->_cc_address : "{$this->_cc_name} <{$this->_cc_address}>";
|
||||
}
|
||||
|
||||
if (!is_null($this->_reply_to_address) && ($this->_reply_to_address != '')) {
|
||||
$data['ReplyTo'] = is_null($this->_reply_to_name) ? $this->_reply_to_address : "{$this->_reply_to_name} <{$this->_reply_to_address}>";
|
||||
}
|
||||
|
||||
if (!is_null($this->_tag) && ($this->_tag != '')) {
|
||||
$data['tag'] = $this->_tag;
|
||||
}
|
||||
|
||||
if (!is_null($this->_message_html)) {
|
||||
$data['HtmlBody'] = $this->_message_html;
|
||||
}
|
||||
|
||||
if (!is_null($this->_message_plain)) {
|
||||
$data['TextBody'] = $this->_message_plain;
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
function send($from_address = null, $from_name = null, $to_address = null, $to_name = null, $subject = null, $message_plain = null, $message_html = null)
|
||||
{
|
||||
|
||||
if (!function_exists('curl_init'))
|
||||
{
|
||||
|
||||
if(function_exists('log_message'))
|
||||
{
|
||||
log_message('error', 'Postmark - PHP was not built with cURL enabled. Rebuild PHP with --with-curl to use cURL.');
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
if (!is_null($from_address)) $this->from($from_address, $from_name);
|
||||
if (!is_null($to_address)) $this->to($to_address, $to_name);
|
||||
if (!is_null($subject)) $this->subject($subject);
|
||||
if (!is_null($message_plain)) $this->message_plain($message_plain);
|
||||
if (!is_null($message_html)) $this->message_html($message_html);
|
||||
|
||||
if (is_null($this->api_key)) {
|
||||
show_error("Postmark API key is not set!");
|
||||
}
|
||||
|
||||
if (is_null($this->from_address)) {
|
||||
show_error("From address is not set!");
|
||||
}
|
||||
|
||||
if (is_null($this->_to_address)) {
|
||||
show_error("To address is not set!");
|
||||
}
|
||||
|
||||
if (is_null($this->_subject)) {
|
||||
show_error("Subject is not set!");
|
||||
}
|
||||
|
||||
if (is_null($this->_message_plain) && is_null($this->_message_html)) {
|
||||
show_error("Please either set plain message, HTML message or both!");
|
||||
}
|
||||
|
||||
$encoded_data = json_encode($this->_prepare_data());
|
||||
|
||||
$headers = array(
|
||||
'Accept: application/json',
|
||||
'Content-Type: application/json',
|
||||
'X-Postmark-Server-Token: ' . $this->api_key
|
||||
);
|
||||
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL, 'http://api.postmarkapp.com/email');
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $encoded_data);
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
||||
|
||||
$return = curl_exec($ch);
|
||||
log_message('debug', 'POSTMARK JSON: ' . $encoded_data . "\nHeaders: \n\t" . implode("\n\t", $headers) . "\nReturn:\n$return");
|
||||
|
||||
if (curl_error($ch) != '') {
|
||||
show_error(curl_error($ch));
|
||||
}
|
||||
|
||||
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
||||
log_message('debug', 'POSTMARK http code:' . $httpCode);
|
||||
|
||||
if (intval($httpCode / 100) != 2) {
|
||||
$message = json_decode($return)->Message;
|
||||
show_error('Error while mailing. Postmark returned HTTP code ' . $httpCode . ' with message "'.$message.'"');
|
||||
}
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Email Validation
|
||||
*
|
||||
* @access public
|
||||
* @param string
|
||||
* @return bool
|
||||
*/
|
||||
function _validate_email($address)
|
||||
{
|
||||
$addresses = explode(',', $address);
|
||||
|
||||
foreach($addresses as $k => $v) {
|
||||
if ( ! preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", trim($v))) {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Strip Html
|
||||
*
|
||||
* @access public
|
||||
* @param string
|
||||
* @return string
|
||||
*/
|
||||
function _strip_html($message)
|
||||
{
|
||||
$message = preg_replace('/\<br(\s*)?\/?\>/i', "\n", $message);
|
||||
return strip_tags($message);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>403 Forbidden</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>Directory access is forbidden.</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,10 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>403 Forbidden</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>Directory access is forbidden.</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,10 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>403 Forbidden</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>Directory access is forbidden.</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,62 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Welcome to CodeIgniter</title>
|
||||
|
||||
<style type="text/css">
|
||||
|
||||
body {
|
||||
background-color: #fff;
|
||||
margin: 40px;
|
||||
font-family: Lucida Grande, Verdana, Sans-serif;
|
||||
font-size: 14px;
|
||||
color: #4F5155;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #003399;
|
||||
background-color: transparent;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: #444;
|
||||
background-color: transparent;
|
||||
border-bottom: 1px solid #D0D0D0;
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
margin: 24px 0 2px 0;
|
||||
padding: 5px 0 6px 0;
|
||||
}
|
||||
|
||||
code {
|
||||
font-family: Monaco, Verdana, Sans-serif;
|
||||
font-size: 12px;
|
||||
background-color: #f9f9f9;
|
||||
border: 1px solid #D0D0D0;
|
||||
color: #002166;
|
||||
display: block;
|
||||
margin: 14px 0 14px 0;
|
||||
padding: 12px 10px 12px 10px;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1>Welcome to CodeIgniter!</h1>
|
||||
|
||||
<p>The page you are looking at is being generated dynamically by CodeIgniter.</p>
|
||||
|
||||
<p>If you would like to edit this page you'll find it located at:</p>
|
||||
<code>system/application/views/welcome_message.php</code>
|
||||
|
||||
<p>The corresponding controller for this page is found at:</p>
|
||||
<code>system/application/controllers/welcome.php</code>
|
||||
|
||||
<p>If you are exploring CodeIgniter for the very first time, you should start by reading the <a href="user_guide/">User Guide</a>.</p>
|
||||
|
||||
|
||||
<p><br />Page rendered in {elapsed_time} seconds</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user