diff --git a/htdocs/.htaccess b/htdocs/.htaccess
index 235baf5..95c618d 100644
--- a/htdocs/.htaccess
+++ b/htdocs/.htaccess
@@ -1,6 +1,6 @@
RewriteEngine on
#RewriteBase /
-RewriteCond $1 !^(index\.php|static|favicon\.ico|robots\.txt|sitemap.xml|upgrade|google(.+)\.html)
+RewriteCond $1 !^(index\.php|static|favicon\.ico|robots\.txt|sitemap.xml|google(.+)\.html)
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
SetOutputFilter DEFLATE
diff --git a/htdocs/upgrade/.htaccess b/htdocs/upgrade/.htaccess
deleted file mode 100644
index 82637c3..0000000
--- a/htdocs/upgrade/.htaccess
+++ /dev/null
@@ -1,4 +0,0 @@
-
-Order Allow,Deny
-Deny from all
-
\ No newline at end of file
diff --git a/htdocs/upgrade/index.php b/htdocs/upgrade/index.php
deleted file mode 100644
index dbbe3db..0000000
--- a/htdocs/upgrade/index.php
+++ /dev/null
@@ -1,146 +0,0 @@
-";
- $message.= "Warning: All custom code will be erased!
";
- $message.= "Do you want to upgrade? Yes | No";
-}
-else
-{
- $title = "Upgrade Locked";
- $message = "Your upgrade directory is locked, unlock it by deleting \"lock\" file.";
-}
-
-if (isset($_GET['status']))
-{
- $uStatus = preg_replace("/[^a-zA-Z0-9.\/]+/", "", $_GET['status']);
- $uSubject = ((isset($_GET['subject'])) ? preg_replace("/[^a-zA-Z0-9.\/]+/", "", $_GET['status']) : "application/config/stikked.php");
- switch ($uStatus)
- {
- case "locked":
- $title = "Upgrade Locked";
- $message = "Your upgrade directory is locked, unlock it by deleting \"lock\" file.";
- break;
- case "missingTarget":
- case "missingUgs":
- $title = "Upgrade Failed";
- $message = "Your" . (($uStatus == "missingTarget") ? " configuration file {$targetMain}" : " upgrade schema file {$upgradeSchema}") . " is missing. Check it and try again.";
- break;
- case "lockFailed":
- $title = "Security risk: Lock failed";
- $message = "Locking \"upgrade\" directory failed, please, remove it manualy, otherwise, unlocked, it represents security risk.
";
- $message.= "However, update was successful.";
- break;
- case "success":
- $title = "Upgrade succeed";
- $message = "You're ready to go. ";
- $message = "<< Click here to go to your upgraded Stikked site.";
- break;
- case "AuthFailed":
- $title = "Access denied";
- $message = "You cannot access {$URL} file directly.";
- break;
- case "AuthFailed-config":
- $title = "Access denied";
- $message = "You cannot access upconf.php file directly.";
- break;
- case "failed":
- $title = "Upgrade failed";
- $message = "Upgrade has failed.
Your configuration {$targetMain} file must be writtable (chmod 777).";
- break;
- default:
- break;
- }
-}
-?>
-
-
-
-
- Upgrade
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/htdocs/upgrade/upconf.php b/htdocs/upgrade/upconf.php
deleted file mode 100644
index d6304f3..0000000
--- a/htdocs/upgrade/upconf.php
+++ /dev/null
@@ -1,27 +0,0 @@
-
- * @param mixed $d
- * @return string result
- */
-
-function parseOption($d)
-{
-
- if (is_bool($d))
- {
- return ($d) ? 'true' : 'false';
- }
- else
- if (is_numeric($d))
- {
- return $d;
- }
- else
- if (is_string($d))
- {
- return "'{$d}'";
- }
- else
- if (is_array($d))
- {
- return var_export($d, true);
- }
- else
- {
- return "''";
- }
-}
-$FIND = array(
- "{INS->SITE_NAME}",
- "{INS->DB_HOSTNAME}",
- "{INS->DB_DATABASE}",
- "{INS->DB_USERNAME}",
- "{INS->DB_PASSWORD}",
- "{INS->DB_PREFIX}",
- "{INS->THEME}",
- "{INS->COMBINE_ASSETS}",
- "{INS->CRON_KEY}",
- "{INS->URL_SHORTENING_NEW#1}",
- "{INS->YOURLS_URL}",
- "{INS->YOURLS_SIGNATURE}",
- "{INS->GWGD_URL}",
- "{INS->SHORTURL_SELECTED}",
- "{INS->URL_SHORTENING_NEW#2}",
- "{INS->BACKUP_USER}",
- "{INS->BACKUP_PASS}",
- "{INS->PER_PAGE}",
- "{INS->APIKEY}",
- "{INS->PRIVATE_ONLY}",
- "{INS->ENABLE_CAPTCHA}",
- "{INS->PUBLICKEY}",
- "{INS->PRIVATEKEY}",
- "{INS->DISABLEAPI}",
- "{INS->DISABLEKEEPFOREVER}",
- "{INS->BLOCKEDWORDS}",
- "{INS->DISABLE_SHORTURL}",
- "{INS->DISALLOW_SEARCH_ENGINES}",
- "{INS->SPAMADMIN_USER}",
- "{INS->SPAMADMIN_PASS}",
- "{INS->DEFAULT_EXPIRATION}",
- "{INS->DEFAULT_LANGUAGE}",
- "{INS->UNKNOWN_POSTER}",
- "{INS->UNKNOWN_TITLE}",
- "{INS->REQUIRE_AUTH}",
- "{INS->DISPLAYURL_OVERRIDE}",
- "{INS->NOUNS}",
- "{INS->ADJECTIVES}"
-);
-
-// To protect already upgraded configs, those values are also checked, if existing.
-$UPDATE = array(
- parseOption($config['site_name']) ,
- parseOption($config['db_hostname']) ,
- parseOption($config['db_database']) ,
- parseOption($config['db_username']) ,
- parseOption($config['db_password']) ,
- parseOption($config['db_prefix']) ,
- parseOption($config['theme']) ,
- parseOption($config['combine_assets']) ,
- parseOption($config['cron_key']) ,
- "\$config['url_shortening_use'] = " . (isset($config['url_shortening_use']) ? parseOption($config['url_shortening_use']) : "'off'") . ';' . PHP_EOL . "\$config['random_url_engines'] = " . ((isset($config['random_url_engines'])) ? parseOption($config['random_url_engines']) : "'googl,bitly'") . "; // Used only in random mode, read comment above for more info" . PHP_EOL,
- parseOption($config['yourls_url']) ,
- parseOption($config['yourls_signature']) ,
- parseOption($config['gwgd_url']) ,
- parseOption($config['shorturl_selected']) ,
- "// goo.gl API key" . PHP_EOL . "\$config['googl_url_api'] = " . (isset($config['googl_url_api']) ? parseOption($config['googl_url_api']) : "''") . ';' . PHP_EOL . "// Bit.ly API key" . PHP_EOL . "\$config['bitly_url_api'] = " . (isset($config['bitly_url_api']) ? parseOption($config['bitly_url_api']) : "''") . ";" . PHP_EOL,
- parseOption($config['backup_user']) ,
- parseOption($config['backup_pass']) ,
- parseOption($config['per_page']) ,
- parseOption($config['apikey']) ,
- parseOption($config['private_only']) ,
- parseOption($config['enable_captcha']) ,
- parseOption($config['recaptcha_publickey']) ,
- parseOption($config['recaptcha_privatekey']) ,
- parseOption($config['disable_api']) ,
- parseOption($config['disable_keep_forever']) ,
- parseOption($config['blocked_words']) ,
- parseOption($config['disable_shorturl']) ,
- parseOption($config['disallow_search_engines']) ,
- parseOption($config['spamadmin_user']) ,
- parseOption($config['spamadmin_pass']) ,
- parseOption($config['default_expiration']) ,
- parseOption($config['default_language']) ,
- parseOption($config['unknown_poster']) ,
- parseOption($config['unknown_title']) ,
- parseOption($config['require_auth']) ,
- parseOption($config['displayurl_override']) ,
- parseOption($config['nouns']) ,
- parseOption($config['adjectives'])
-);
-$tryTo = @chmod($targetMain, 0777); // Just try, if possible to evade permission errors
-
-$tryTo = @chmod("../upgrade", 0777); // Just try, if possible to evade permission errors
-
-
-if (file_put_contents($targetMain, str_replace($FIND, $UPDATE, $upgradeSchema)))
-{
-
- // If succesfull, lock upgrade
- $loadLock["LOCK"] = true;
-
- if (!file_put_contents("lock", serialize(array(
- "LOCK" => true
- ))))
- {
- header("location: index.php?status=lockFailed");
- exit;
- }
- header("location: index.php?status=success");
- exit;
-}
-else
-{
- header("location: index.php?status=failed");
- exit;
-}
-header("location: index.php?status=failed");
-exit;
diff --git a/htdocs/upgrade/upgrade_schema.ugs b/htdocs/upgrade/upgrade_schema.ugs
deleted file mode 100644
index 8fe31af..0000000
--- a/htdocs/upgrade/upgrade_schema.ugs
+++ /dev/null
@@ -1,245 +0,0 @@
-SITE_NAME};
-
-/**
- * Database connection
- *
- * Credentials for your database
- * The database structure will be created automatically
- *
-*/
-$config['db_hostname'] = {INS->DB_HOSTNAME};
-$config['db_database'] = {INS->DB_DATABASE};
-$config['db_username'] = {INS->DB_USERNAME};
-$config['db_password'] = {INS->DB_PASSWORD};
-
-/**
- * Table prefix
- * Generate table prefix for stikked db, commonly used if the webhoster only has one db.
- * Use underscore as suffix to easily see the tables.
- * example: $config['db_prefix'] = 'stikked_';
- * use $config['db_prefix'] = ''; if you don't want to use table prefix.
-*/
-$config['db_prefix'] = {INS->DB_PREFIX};
-
-/**
- * Theme
- *
- * Which theme to use
- * Folder name in htdocs/themes/
- * Currently: default, bootstrap, gabdark, gabdark3, geocities, snowkat, stikkedizr, cleanwhite
- *
-*/
-$config['theme'] = {INS->THEME};
-
-/**
- * Language
- *
- * New Language settings in application/config/language.php
- *
-*/
-
-/**
- * Combine JS & CSS files (recommended)
- *
- * htdocs/static/asset/ folder must be writeable
- *
-*/
-$config['combine_assets'] = {INS->COMBINE_ASSETS};
-
-/**
- * Key for Cron
- *
- * The password required to run the cron job */
-// Example cron: */5 * * * * curl --silent http://yoursite.com/cron/[key]
-//
-//
-$config['cron_key'] = {INS->CRON_KEY};
-
-/**
- * url shortener config
- *
- * url_shortening_use:
- * - Enables specific url shortening engine or disables them all
- * - Valid values:
- * @string yourls
- * @string gwgd
- * @string googl
- * @string bitly
- * @string random - Randomly chose any of upper API-s !WARNING! May be slow! For maximum performanse, it's recommended to either set all API keys or use random_url_engines to list working engines.
- * @string none - same as off
- *
- * random_url_engines:
- * - This variable sets list of APIs to be considered for usage if url_shortening_use is set to 'random'
- * To consider all API-s, either leave it empty (as empty array or string) or type all apis available (yourls,gwgd,googl,bitly)
- * be aware that considering all the APIs is not recommended because program will test them all, and that affects speed.
- * This will greatly improve performance of 'random' mode if listed are only valid, filled APIs.
- * Accepted inputs:
- * @array array('use this', 'and this', 'and this of course')
- * @string 'use this,and this,and this of course'
- * - If input is @string it must be comma delimited, otherwise will be ignored.
- * - Script will accept minimum of 2 APIs, ignored otherwise
- * - Only alphanumeric characters and "." are allowed. Everything else is filtered out.
- *
- * -------------------------------------------------------------------------------------------------------------
- * yourls_url: Your own instance of yourls URL-shortener (Download: http://yourls.org/)
- * Example: http://example.com/yourls/
- *
- * yourls_signature: Your signature, used to authenticate API requests.
- * You can find your signature under http://your-yourls-installation.com/admin/tools.php
- *
- * gwgd_url: Your own instance of the gw.gd URL-shortener (Download: https://github.com/neofutur/gwgd)
- * Default: http://gw.gd/
- *
- * googl_url_api: URL shortening service provided by Google Inc. (API: http://code.google.com/apis/console/)
- * Usage: Your API key
- *
- * bitly_url_api: Famous URL shortening service (API: http://dev.bitly.com/get_started.html)
- * Usage: Your API key
- *
-**/
-{INS->URL_SHORTENING_NEW#1}
-
-// Yourls
-$config['yourls_url'] = {INS->YOURLS_URL};
-$config['yourls_signature'] = {INS->YOURLS_SIGNATURE};
-
-// gwgd_url
-$config['gwgd_url'] = {INS->GWGD_URL};
-$config['shorturl_selected'] = {INS->SHORTURL_SELECTED};
-
-{INS->URL_SHORTENING_NEW#2}
-
-
-/**
- * Credentials for the backup URL
- *
- * Basic auth user & pass for the backup URL, accessible via http://yoursite.com/backup
- *
-**/
-$config['backup_user'] = {INS->BACKUP_USER};
-$config['backup_pass'] = {INS->BACKUP_PASS};
-
-/**
- * Pastes Per Page
- *
- * Number of pastes per page, on the recent pastes listings.
- *
-**/
-$config['per_page'] = {INS->PER_PAGE};
-
-/**
- * API key
- *
- * Require a key to interact with the API.
- * Append to all API requests: ?apikey=[yourkey]
- *
-**/
-$config['apikey'] = {INS->APIKEY};
-
-/**
- * Anti spam
- *
- * private_only: No recent pastes will be displayed.
- * enable_captcha: Users must enter a captcha to post.
- * recaptcha_publickey & recaptcha_privatekey: If filled, reCaptcha will be used (get a key from https://www.google.com/recaptcha/admin/create)
- * disable_api: Don't allow pasting via API (because we can't use a captcha there...)
- * disable_keep_forever: Don't allow pasting without expiration
- * blocked_words: Comma separated list, e.g. '.es.tl, mycraft.com, yourbadword'
- * disable_shorturl: "Create Shorturl" option will be disabled
- * disallow_search_engines: displays a robots.txt that forbids indexing
- *
-**/
-$config['private_only'] = {INS->PRIVATE_ONLY};
-$config['enable_captcha'] = {INS->ENABLE_CAPTCHA};
-$config['recaptcha_publickey'] = {INS->PUBLICKEY};
-$config['recaptcha_privatekey'] = {INS->PRIVATEKEY};
-$config['disable_api'] = {INS->DISABLEAPI};
-$config['disable_keep_forever'] = {INS->DISABLEKEEPFOREVER};
-$config['blocked_words'] = {INS->BLOCKEDWORDS};
-$config['disable_shorturl'] = {INS->DISABLE_SHORTURL};
-$config['disallow_search_engines'] = {INS->DISALLOW_SEARCH_ENGINES};
-
-//spamadmin: accessible via /spamadmin (only active when user + pass is set)
-$config['spamadmin_user'] = {INS->SPAMADMIN_USER};
-$config['spamadmin_pass'] = {INS->SPAMADMIN_PASS};
-
-/**
- * Default paste expiration time (minutes)
- *
- * Possible values:
- * burn (burn on reading)
- * 5 (5 minutes)
- * 60 (1 hour)
- * 1440 (1 day)
- * 10080 (1 week)
- * 40320 (1 month)
- * 483840 (1 year)
- * 0 (keep forever)
-**/
-$config['default_expiration'] = {INS->DEFAULT_EXPIRATION};
-
-/**
- * Default language
- *
- * Preselected language. See application/config/geshi_languages.php for valid values (array keys)
- *
-**/
-$config['default_language'] = {INS->DEFAULT_LANGUAGE};
-
-/**
- * Name for anonymous poster
- *
- * What name is to be set for anonymous posters
- * DO NOT SET BLANK
- * Set to random for a random paste to be generated
- * NOTE: if changed only pastes from then on will be updated.
- *
-**/
-$config['unknown_poster'] = {INS->UNKNOWN_POSTER};
-
-/**
- * Name for untitled pastes
- *
- * What name is to be set for untitled pastes.
- * DO NOT SET BLANK
- * NOTE: if changed only pastes from then on will be updated.
-**/
-$config['unknown_title'] = {INS->UNKNOWN_TITLE};
-
-/**
- * To require LDAP authentication or not.
- *
- * Weather to require LDAP authenticaiton or not.
- * Set to either 'true' to require authentication or 'false' not to.
- * NOTE: if changed, set LDAP settings in auth_ldap.php
-**/
-$config['require_auth'] = {INS->REQUIRE_AUTH};
-
-/**
- * Override the displayed URL
- *
- * Display this URL in a paste's detail view instead of the main URL - e.g. if you use mod_rewrite
- * Variable $id: the paste_id
- * Example: 'http://example.com/$id'
- *
-**/
-$config['displayurl_override'] = {INS->DISPLAYURL_OVERRIDE};
-
-/**
- *
- *
- * Words used for when unknown_poster is set to random
- *
- *
-**/
-$config['nouns'] = {INS->NOUNS};
-
-$config['adjectives'] = {INS->ADJECTIVES};