Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php defined('SYSPATH') or exit('Install tests must be loaded from within index.php!');
- function getSabStatus($response) {
- if (preg_match('@^HTTP/[0-9]\.[0-9] ([0-9]{3})@', $response, $matches)) {
- return $matches[1];
- }
- return null;
- }
- function testSab($server) {
- $server = preg_replace('#^http://#i', '', $server);
- $fp = @fsockopen($server, 8080, $errno, $errstr, 30);
- $page = "/sabnzbd";
- $out = "GET /$page HTTP/1.1\r\n";
- $out .= "Host: $server\r\n";
- $out .= "Connection: Close\r\n\r\n";
- @fwrite($fp,$out);
- return (getSabStatus(@fgets($fp)) == 200);
- }
- function getWarnings($server, $apiKey) {
- $query = "/sabnzbd/api?mode=warnings&output=json&apikey=$apiKey";
- $filename = $server.$query;
- $json = json_decode(file_get_contents($filename));
- if (isset($json->status))
- return $json->error;
- else
- return $json->warnings;
- }
- function apacheModuleLoaded($modName) {
- $modules = apache_get_modules();
- return in_array($modName, $modules);
- }
- $loadedArr['isPHP_5_2_3'] = version_compare(PHP_VERSION, '5.2.3', '>=');
- $loadedArr['curlLoaded'] = extension_loaded('curl');
- $loadedArr['mcryptLoaded'] = extension_loaded('mcrypt');
- $loadedArr['gdLoaded'] = function_exists('gd_info');
- $loadedArr['pdoLoaded'] = class_exists('PDO');
- $loadedArr['splLoaded'] = function_exists('spl_autoload_register');
- $loadedArr['reflectionLoaded'] = class_exists('ReflectionClass');
- $loadedArr['filterLoaded'] = function_exists('filter_list');
- $loadedArr['iconvLoaded'] = extension_loaded('iconv');
- $loadedArr['mbstringLoadeed'] = extension_loaded('mbstring');
- $loadedArr['systemDir'] = is_dir(SYSPATH) AND is_file(SYSPATH.'classes/kohana'.EXT);
- $loadedArr['applicationDir'] = is_file(APPPATH.'bootstrap'.EXT);
- $loadedArr['cacheDir'] = is_dir(APPPATH.'cache') AND is_writable(APPPATH.'cache');
- $loadedArr['logsDir'] = is_dir(APPPATH.'logs') AND is_writable(APPPATH.'logs');
- $loadedArr['configDir'] = is_dir(APPPATH.'config') AND is_writable(APPPATH.'config');
- if (is_dir(realpath(APPPATH.'../images')) AND
- is_writable(realpath(APPPATH.'../images')) AND
- is_writable(realpath(APPPATH.'../images/__cache')) AND
- is_writable(realpath(APPPATH.'../images/banner')) AND
- is_writable(realpath(APPPATH.'../images/poster')) AND
- is_writable(realpath(APPPATH.'../images/fanart'))) {
- $loadedArr['imagesDir'] = true;
- } else {
- $loadedArr['imagesDir'] = false;
- }
- $loadedArr['modeRewriteLoded'] = apacheModuleLoaded('mod_rewrite');
- $requestUri = preg_replace('/\/index.php/', '', $_SERVER['REQUEST_URI']);
- $requestUri = '/' . trim($requestUri, '/') . '/';
- $loadedArr['requestUri'] = ($requestUri == '/autoTvToSab/');
- $loadedArr['utf8Support'] = @preg_match('/^.$/u', 'ñ');
- $loadedArr['unicodeSupport'] = @preg_match('/^\pL$/u', 'ñ');
- $loadedArr['URI_Determination'] = isset($_SERVER['REQUEST_URI']) OR isset($_SERVER['PHP_SELF']) OR isset($_SERVER['PATH_INFO']);
- $errorMsg = array();
- $configSaved = false;
- if (filter_has_var(INPUT_GET, 'save')) {
- // var_dump($_GET);
- $defs = array(
- 'series_autocomplete' => FILTER_SANITIZE_STRING,
- 'use_nzb_site' => FILTER_SANITIZE_STRING,
- 'nzbs_query_string' => FILTER_SANITIZE_STRING,
- 'matrix_api_key' => FILTER_SANITIZE_STRING,
- 'matrix_api_user' => FILTER_SANITIZE_STRING,
- 'thetvdb_api_key' => FILTER_SANITIZE_STRING,
- 'sab_api_key' => FILTER_SANITIZE_STRING,
- 'rss_how_old' => array('filter'=>FILTER_SANITIZE_STRING,
- 'options' => array('min_range' => 4, 'max_range' => 20)),
- 'sab_url' => FILTER_VALIDATE_URL,
- 'rss_num_results' => FILTER_VALIDATE_INT,
- 'db_host' => FILTER_DEFAULT,
- 'db_user' => FILTER_DEFAULT,
- 'db_pass' => FILTER_DEFAULT,
- 'db_dbname' => FILTER_DEFAULT,
- );
- $get = filter_input_array(INPUT_GET, $defs);
- $link = @mysql_connect($get['db_host'], $get['db_user'], $get['db_pass']);
- if (!$link) {
- $errorMsg[] = "Can not login to the database. Check the login data to the database are correct : " . mysql_error();
- }
- $db_selected = @mysql_select_db($get['db_dbname'], $link);
- if (!$db_selected) {
- $errorMsg[] = 'Can\'t use "'.$get['db_dbname'].'" as a database : ' . mysql_error();
- }
- if (!testSab($get['sab_url'])) {
- $errorMsg[] = "Incorrect URL: {$get['sab_url']}";
- }
- $SabWarnings = getWarnings($get['sab_url'], $get['sab_api_key']);
- if (is_string($SabWarnings)) {
- $errorMsg[] = "SABnzbd error: $SabWarnings";
- }
- if (!in_array(false, $loadedArr, true) && !in_array(null, $get, true) && !in_array(false, $get, true) && empty($errorMsg)) {
- $config = "<?php defined('SYSPATH') or die('No direct script access.');
- return array(
- 'imdb' => false,
- 'default' => array(
- 'saveImagesAsNew' => false,
- 'cacheTimeImages' => (3600 * 3),
- 'TheTvDB_api_key' => '{$get['thetvdb_api_key']}',
- 'NzbMatrix_api_key' => '{$get['matrix_api_key']}',
- 'NzbMatrix_api_user' => '{$get['matrix_api_user']}',
- 'useNzbSite' => '{$get['use_nzb_site']}', //nzbs
- ),
- 'Sabnzbd' => array(
- 'api_key' => '{$get['sab_api_key']}',
- 'url' => '{$get['sab_url']}',
- ),
- 'rss' => array(
- 'numberOfResults' => {$get['rss_num_results']},
- 'howOld' => '{$get['rss_how_old']}' //\"-1 week\" \"-2 days\" \"-4 hours\" \"-2 seconds\" uses strtotime()
- ),
- 'nzbs' => array(
- 'queryString' => '{$get['nzbs_query_string']}'
- ),
- );
- ?>";
- file_put_contents('application/config/default.php', $config);
- $get['db_pass'] = (empty($get['db_pass'])) ? "FALSE": "'{$get['db_pass']}'";
- $config = "<?php defined('SYSPATH') or die('No direct access allowed.');
- return array
- (
- 'default' => array
- (
- 'type' => 'mysql',
- 'connection' => array(
- /**
- * The following options are available for MySQL:
- *
- * string hostname
- * string username
- * string password
- * boolean persistent
- * string database
- *
- * Ports and sockets may be appended to the hostname.
- */
- 'hostname' => '{$get['db_host']}',
- 'username' => '{$get['db_user']}',
- 'password' => {$get['db_pass']},
- 'persistent' => FALSE,
- 'database' => '{$get['db_dbname']}',
- ),
- 'table_prefix' => '',
- 'charset' => 'utf8',
- 'caching' => FALSE,
- 'profiling' => TRUE,
- ),
- 'alternate' => array(
- 'type' => 'pdo',
- 'connection' => array(
- /**
- * The following options are available for PDO:
- *
- * string dsn
- * string username
- * string password
- * boolean persistent
- * string identifier
- */
- 'dsn' => 'mysql:host=localhost;dbname=kohana',
- 'username' => 'root',
- 'password' => 'r00tdb',
- 'persistent' => FALSE,
- ),
- 'table_prefix' => '',
- 'charset' => 'utf8',
- 'caching' => FALSE,
- 'profiling' => TRUE,
- ),
- );";
- file_put_contents('application/config/database.php', $config);
- $configSaved = true;
- }
- }
- ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>AutoTvToSab Installation</title>
- <script type="text/javascript" src="js/jQuery.js"></script>
- <script type="text/javascript">
- function isUrl(s) {
- var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
- return regexp.test(s);
- }
- var isNumber = function(num) {
- //return typeof o === 'number' && isFinite(o);
- var RE = /^-{0,1}\d*\.{0,1}\d+$/;
- return (RE.test(num));
- }
- $.fn.extend({
- scrollTo : function(speed, easing) {
- return this.each(function() {
- var targetOffset = $(this).offset().top;
- $('html,body').animate({scrollTop: targetOffset}, speed, easing);
- });
- }
- });
- $(document).ready(function(){
- //hide message_body after the first one
- $(".message_list .message_body:gt(3)").hide();
- $(".message_head:lt(4) cite").removeClass('down').addClass('up');
- var collapsNum = 5;
- //hide message li after the 5th
- $(".message_list li:gt("+collapsNum+")").hide();
- //toggle message_body
- $(".message_head").click(function(){
- if ($(this).find('cite').hasClass('up')) $(this).find('cite').removeClass('up').addClass('down')
- else $(this).find('cite').removeClass('down').addClass('up')
- $(this).next(".message_body").slideToggle(500)
- return false;
- });
- <?php if (in_array(false, $loadedArr, true)) { ?>
- $(".message_list .environment").show();
- $("#environment_header").scrollTo(1000)
- <?php } ?>
- //collapse all messages
- $(".collpase_all_message").click(function(){
- $(".message_body").slideUp(500)
- return false;
- });
- //show all messages
- // $(".show_all_message").click(function(){
- // $(this).hide()
- // $(".show_recent_only").show()
- // $(".message_list li:gt("+collapsNum+")").slideDown()
- // return false;
- // });
- //
- // //show recent messages only
- // $(".show_recent_only").click(function(){
- // $(this).hide()
- // $(".show_all_message").show()
- // $(".message_list li:gt("+collapsNum+")").slideUp()
- // return false;
- // });
- $(":input").focus(function(){
- if ($(this).hasClass("needsfilled") ) {
- $(this).val("");
- $(this).removeClass("needsfilled");
- $(this).parents('div.message_body').prev().removeClass('error');
- }
- });
- var required = ["sab_api_key", "matrix_api_key", "thetvdb_api_key", "rss_num_results",
- "rss_how_old", "db_host", "db_user", /*"db_pass", */"db_dbname"];
- // If using an ID other than #email or #error then replace it here
- var url = $("#sab_url");
- var errornotice = $("#error");
- var rssNum = $("#rss_num_results");
- // The text to show up within a field when it is incorrect
- var emptyError = "Please fill out this field.";
- var urlError = "Please enter a valid url.";
- var numError = "Please enter a valid number.";
- $('form').submit(function (e) {
- $('.message_list .message_head').removeClass('error');
- for (i = 0; i < required.length; i++) {
- var input = $('#'+required[i]);
- if ((input.val() == "") || (input.val() == emptyError)) {
- input.addClass("needsfilled");
- input.parents('div.message_body').prev().addClass('error');
- input.val(emptyError);
- errornotice.fadeIn(750);
- } else {
- input.removeClass("needsfilled");
- }
- }
- if (!isUrl(url.val())) {
- url.val(urlError);
- url.addClass("needsfilled");
- url.parents('div.message_body').prev().addClass('error');
- errornotice.fadeIn(750);
- }
- if (!isNumber(rssNum.val())) {
- rssNum.val(numError);
- rssNum.addClass("needsfilled");
- rssNum.parents('div.message_body').prev().addClass('error');
- errornotice.fadeIn(750);
- }
- if ($(":input").hasClass("needsfilled")) {
- return false;
- } else {
- errornotice.hide();
- return true;
- }
- });
- });
- $(document).ready(function(){
- $('#nzb_matrix').click(function () {
- $('#nzbs_wrapper').hide().find('input').removeClass('needsfilled');
- $('#nzb_matrix_wrapper').show().find('input').each(function (){
- var input = $(this);
- if (input.val() == '') {
- input.addClass('needsfilled');
- }
- });
- });
- $('#nzbs').click(function () {
- $('#nzb_matrix_wrapper').hide().find('input').removeClass('needsfilled');
- $('#nzbs_wrapper').show().find('input').each(function (){
- var input = $(this);
- if (input.val() == '') {
- input.addClass('needsfilled');
- }
- });
- });
- $('#both').click(function () {
- $('#nzb_matrix_wrapper').show().find('input').find('input').each(function (){
- var input = $(this);
- if (input.val() == '') {
- input.addClass('needsfilled');
- }
- });
- $('#nzbs_wrapper').show().find('input').find('input').each(function (){
- var input = $(this);
- if (input.val() == '') {
- input.addClass('needsfilled');
- }
- });
- });
- });
- </script>
- <style type="text/css">
- body { width: 42em; margin: 0 auto; font-family: sans-serif; background: #fff; font-size: 1em; }
- h2 { letter-spacing: -0.04em; }
- h2 + p { margin: 0 0 2em; color: #333; font-size: 90%; font-style: italic; }
- code { font-family: monaco, monospace; }
- table { border-collapse: collapse; width: 100%; }
- table th,
- table td { padding: 0.4em; text-align: left; vertical-align: top; }
- table th { width: 12em; font-weight: normal; }
- table tr:nth-child(odd) { background: #eee; }
- table td.pass { color: #191; }
- table td.fail { color: #911; }
- #results { padding: 0.8em; color: #fff; font-size: 1.5em; }
- #results.pass { background: #191; }
- #results.fail { background: #911; }
- /*body {
- margin: 10px auto;
- width: 570px;
- font: 75%/120% Arial, Helvetica, sans-serif;
- }*/
- p {
- padding: 0 0 1em;
- }
- /* message display page */
- .message_list {
- list-style: none;
- margin: 0;
- padding: 0;
- width: 42em;
- }
- .message_list li {
- padding: 0;
- margin: 0;
- background: url(images/message-bar.gif) no-repeat;
- }
- .message_head {
- padding: 5px 10px;
- cursor: pointer;
- position: relative;
- background: #eee;
- }
- .message_head .order {
- color: #666666;
- font-size: 95%;
- position: absolute;
- right: 10px;
- top: 5px;
- }
- .message_head cite {
- font-size: 100%;
- font-weight: bold;
- font-style: normal;
- padding-left: 24px;
- }
- .message_body {
- padding: 5px 10px 15px;
- }
- .message_body div {
- clear: both;
- }
- .collapse_buttons {
- text-align: right;
- border-top: solid 1px #e4e4e4;
- padding: 5px 0;
- width: 383px;
- }
- .collapse_buttons a {
- margin-left: 15px;
- float: right;
- }
- .show_all_message {
- background: url(images/tall-down-arrow.gif) no-repeat right center;
- padding-right: 12px;
- }
- .show_recent_only {
- display: none;
- background: url(images/tall-up-arrow.gif) no-repeat right center;
- padding-right: 12px;
- }
- .collpase_all_message {
- background: url(images/collapse-all.gif) no-repeat right center;
- padding-right: 12px;
- color: #666666;
- }
- #error {
- color: #911;
- font-size:10px;
- display:none;
- }
- .needsfilled, .error {
- background: #911;
- color:white;
- }
- label {
- float: left;
- width: 155px;
- margin-right: 10px;
- }
- label:hover {
- background: #e4e4e4;
- }
- .message_head cite.up {
- background: url(images/arrow-square.gif) no-repeat 0 2px;
- padding-right: 50px;
- }
- .message_head cite.down {
- background: url(images/arrow-square.gif) no-repeat 0 -54px;
- }
- div.fail {
- background: orange;
- padding: 0.8em;
- color: #fff;
- font-size: 1.5em;
- }
- </style>
- </head>
- <body>
- <?php if ($configSaved) { ?>
- <p id="results" class="pass">✔ Your environment passed all requirements.<br />
- Remove or rename the <code>install<?php echo EXT ?></code> file now.</p>
- <?php if (isset($SabWarnings) && is_array($SabWarnings) && !empty($SabWarnings)) { ?>
- <p class="fail">SABnzbd errors:</p>
- <ul class="fail">
- <li><?php echo implode('</li><li>', $SabWarnings)?></li>
- </ul>
- <?php } ?>
- <?php } else { ?>
- <?php if (!empty($errorMsg)) { ?>
- <?php foreach ($errorMsg as $msg) { ?>
- <p id="results" class="fail">✘ <?php echo $msg ?></p>
- <?php }
- } ?>
- <h2>Fields marked in red are important</h2>
- <p>Follow the instructions <a href="http://sourceforge.net/apps/trac/autotvtosab/">here</a> before continuing.</p>
- <p id="error">You have an error in the installation form</p>
- <form action="#" method="get">
- <ol class="message_list">
- <li>
- <p class="message_head"><cite class="down">Databas variables</cite> <span class="order">1</span></p>
- <div class="message_body">
- <div>
- <label for="db_host">Hostname</label>
- <input type="text" name="db_host" id="db_host" value="<?php if (isset($get['db_host'])) echo $get['db_host']; else echo 'localhost'; ?>" size="35" />
- </div>
- <div>
- <label for="db_user">Username</label>
- <input type="text" name="db_user" id="db_user" size="35" class="<?php if (!isset($get['db_user'])) echo 'needsfilled'?>" value="<?php if (isset($get['db_user'])) echo $get['db_user'] ?>" />
- </div>
- <div>
- <label for="db_pass">Password</label>
- <input type="password" name="db_pass" id="db_pass" size="35" class="<?php if (!isset($get['db_pass'])) echo 'needsfilled'?>" />
- </div>
- <div>
- <label for="db_dbname">Database name</label>
- <input type="text" name="db_dbname" id="db_dbname" size="35" class="<?php if (!isset($get['db_dbname'])) echo 'needsfilled'?>" value="<?php if (isset($get['db_dbname'])) echo $get['db_dbname'] ?>" />
- </div>
- </div>
- </li>
- <li>
- <p class="message_head"><cite class="down">Set Sabnzbd variables</cite> <span class="order">2</span></p>
- <div class="message_body">
- <div>
- <label for="sab_url">Sabnzbd url</label>
- <input type="text" name="sab_url" id="sab_url" value="<?php if (isset($get['sab_url'])) echo $get['sab_url']; else echo 'http://localhost:8080'; ?>" size="35" />
- </div>
- <div>
- <label for="sab_api_key">Sabnzbd api key</label>
- <input type="text" name="sab_api_key" id="sab_api_key" size="35" value="<?php if (isset($get['sab_api_key'])) echo $get['sab_api_key'] ?>" class="<?php if (!isset($get['sab_api_key'])) echo 'needsfilled'?>" />
- </div>
- </div>
- </li>
- <li>
- <p class="message_head"><cite class="down">Set NZB site variables</cite> <span class="order">3</span></p>
- <div class="message_body">
- <div>
- <label for="matrix_api_key">Use NZB Site</label>
- Use NZB Matrix<input type="radio" name="use_nzb_site" value="nzbMatrix" id="nzb_matrix" />
- Use NZBs.org<input type="radio" name="use_nzb_site" value="nzbs" id="nzbs" />
- Use Both<input type="radio" name="use_nzb_site" value="both" id="both" />
- </div>
- <div id="nzb_matrix_wrapper">
- <div>
- <label for="matrix_api_key">NZB Matrix api key</label>
- <input type="text" name="matrix_api_key" id="matrix_api_key" size="35" value="<?php if (isset($get['matrix_api_key'])) echo $get['matrix_api_key'] ?>" class="<?php if (!isset($get['matrix_api_key'])) echo 'needsfilled'?>" />
- </div>
- <div>
- <label for="matrix_api_user">NZB Matrix username</label>
- <input type="text" name="matrix_api_user" id="matrix_api_user" size="35" value="<?php if (isset($get['matrix_api_user'])) echo $get['matrix_api_user'] ?>" class="<?php if (!isset($get['matrix_api_user'])) echo 'needsfilled'?>" />
- </div>
- <div>
- If you dont have an VIP account on Nzbmatrix.com
- <a href="http://nzbmatrix.com/account-signup.php">click here</a>
- and register for one
- </div>
- </div>
- <div id="nzbs_wrapper" style="display: none;">
- <div>
- <label for="nzbs_query_string">NZBs.org URL String</label>
- <input type="text" name="nzbs_query_string" id="nzbs_query_string" size="35" value="<?php if (isset($get['nzbs_query_string'])) echo $get['nzbs_query_string'] ?>" />
- </div>
- </div>
- </div>
- </li>
- <li>
- <p class="message_head"><cite class="down">Set Thetvdb.com variables</cite> <span class="order">4</span></p>
- <div class="message_body">
- <div>
- <label for="thetvdb_api_key">Thetvdb.com api key</label>
- <input type="text" name="thetvdb_api_key" id="thetvdb_api_key" size="35" value="<?php if (isset($get['thetvdb_api_key'])) echo $get['thetvdb_api_key'] ?>" class="<?php if (!isset($get['thetvdb_api_key'])) echo 'needsfilled'?>" />
- </div>
- <div>
- If you dont have an account on Thetvdb.com
- <a href="http://thetvdb.com/?tab=register">click here</a>
- and register for one
- </div>
- </div>
- </li>
- <li>
- <p class="message_head"><cite class="down">RSS variables</cite> <span class="order">5</span></p>
- <div class="message_body">
- <p>Do not touch unless you know what you are doing</p>
- <div>
- <label for="rss_num_results">Rss number of results</label>
- <input type="text" name="rss_num_results" id="rss_num_results" value="<?php if (isset($get['rss_num_results'])) echo $get['rss_num_results']; else echo '10' ?>" />
- </div>
- <div>
- <label for="rss_how_old">How old the results should be</label>
- <input type="text" name="rss_how_old" id="rss_how_old" value="<?php if (isset($get['rss_how_old'])) echo $get['rss_how_old']; else echo '-1 days' ?>" />
- <em>Example: -1 week or -4 hours</em>
- </div>
- </div>
- </li>
- <li>
- <p id="environment_header" class="message_head"><cite class="down">Environment Tests</cite> <span class="order">6</span></p>
- <div class="message_body environment">
- <p>
- The following tests have been run to determine if AutoTvToSab will work in your environment.
- </p>
- <?php $failed = FALSE ?>
- <table cellspacing="0">
- <tr>
- <th>PHP Version</th>
- <?php if ($loadedArr['isPHP_5_2_3']): ?>
- <td class="pass"><?php echo PHP_VERSION ?></td>
- <?php else: $failed = TRUE ?>
- <td class="fail">AutoTvToSab requires PHP 5.2.3 or newer, this version is <?php echo PHP_VERSION ?>.</td>
- <?php endif ?>
- </tr>
- <tr>
- <th>System Directory</th>
- <?php if (is_dir(SYSPATH) AND is_file(SYSPATH.'classes/kohana'.EXT)): ?>
- <td class="pass"><?php echo SYSPATH ?></td>
- <?php else: $failed = TRUE ?>
- <td class="fail">The configured <code>system</code> directory does not exist or does not contain required files.</td>
- <?php endif ?>
- </tr>
- <tr>
- <th>Application Directory</th>
- <?php if (is_dir(APPPATH) AND is_file(APPPATH.'bootstrap'.EXT)): ?>
- <td class="pass"><?php echo APPPATH ?></td>
- <?php else: $failed = TRUE ?>
- <td class="fail">The configured <code>application</code> directory does not exist or does not contain required files.</td>
- <?php endif ?>
- </tr>
- <tr>
- <th>Cache Directory</th>
- <?php if ($loadedArr['cacheDir']): ?>
- <td class="pass"><?php echo APPPATH.'cache/' ?></td>
- <?php else: $failed = TRUE ?>
- <td class="fail">The <code><?php echo APPPATH.'cache/' ?></code> directory is not writable.</td>
- <?php endif ?>
- </tr>
- <tr>
- <th>Logs Directory</th>
- <?php if ($loadedArr['logsDir']): ?>
- <td class="pass"><?php echo APPPATH.'logs/' ?></td>
- <?php else: $failed = TRUE ?>
- <td class="fail">The <code><?php echo APPPATH.'logs/' ?></code> directory is not writable.</td>
- <?php endif ?>
- </tr>
- <tr>
- <th>Config Directory</th>
- <?php if ($loadedArr['configDir']): ?>
- <td class="pass"><?php echo APPPATH.'config/' ?></td>
- <?php else: $failed = TRUE ?>
- <td class="fail">The <code><?php echo APPPATH.'config/' ?></code> directory is not writable.</td>
- <?php endif ?>
- </tr>
- <tr>
- <th>Images Directory</th>
- <?php if ($loadedArr['imagesDir']): ?>
- <td class="pass"><?php echo APPPATH.'images/' ?></td>
- <?php else: $failed = TRUE ?>
- <td class="fail">The <code><?php echo APPPATH.'images/' ?></code> directory or it´s subdirectories is not writable.</td>
- <?php endif ?>
- </tr>
- <tr>
- <th>PCRE UTF-8</th>
- <?php if ( ! @preg_match('/^.$/u', 'ñ')): $failed = TRUE ?>
- <td class="fail"><a href="http://php.net/pcre">PCRE</a> has not been compiled with UTF-8 support.</td>
- <?php elseif ( ! @preg_match('/^\pL$/u', 'ñ')): $failed = TRUE ?>
- <td class="fail"><a href="http://php.net/pcre">PCRE</a> has not been compiled with Unicode property support.</td>
- <?php else: ?>
- <td class="pass">Pass</td>
- <?php endif ?>
- </tr>
- <tr>
- <th>SPL Enabled</th>
- <?php if ($loadedArr['splLoaded']): ?>
- <td class="pass">Pass</td>
- <?php else: $failed = TRUE ?>
- <td class="fail">PHP <a href="http://www.php.net/spl">SPL</a> is either not loaded or not compiled in.</td>
- <?php endif ?>
- </tr>
- <tr>
- <th>Reflection Enabled</th>
- <?php if ($loadedArr['reflectionLoaded']): ?>
- <td class="pass">Pass</td>
- <?php else: $failed = TRUE ?>
- <td class="fail">PHP <a href="http://www.php.net/reflection">reflection</a> is either not loaded or not compiled in.</td>
- <?php endif ?>
- </tr>
- <tr>
- <th>Filters Enabled</th>
- <?php if ($loadedArr['filterLoaded']): ?>
- <td class="pass">Pass</td>
- <?php else: $failed = TRUE ?>
- <td class="fail">The <a href="http://www.php.net/filter">filter</a> extension is either not loaded or not compiled in.</td>
- <?php endif ?>
- </tr>
- <tr>
- <th>Iconv Extension Loaded</th>
- <?php if ($loadedArr['iconvLoaded']): ?>
- <td class="pass">Pass</td>
- <?php else: $failed = TRUE ?>
- <td class="fail">The <a href="http://php.net/iconv">iconv</a> extension is not loaded.</td>
- <?php endif ?>
- </tr>
- <?php if ($loadedArr['mbstringLoadeed']): ?>
- <tr>
- <th>Mbstring Not Overloaded</th>
- <?php if (ini_get('mbstring.func_overload') & MB_OVERLOAD_STRING): $failed = TRUE ?>
- <td class="fail">The <a href="http://php.net/mbstring">mbstring</a> extension is overloading PHP's native string functions.</td>
- <?php else: ?>
- <td class="pass">Pass</td>
- <?php endif ?>
- </tr>
- <?php endif ?>
- <tr>
- <th>URI Determination</th>
- <?php if (isset($_SERVER['REQUEST_URI']) OR isset($_SERVER['PHP_SELF']) OR isset($_SERVER['PATH_INFO'])): ?>
- <td class="pass">Pass</td>
- <?php else: $failed = TRUE ?>
- <td class="fail">Neither <code>$_SERVER['REQUEST_URI']</code>, <code>$_SERVER['PHP_SELF']</code>, or <code>$_SERVER['PATH_INFO']</code> is available.</td>
- <?php endif ?>
- </tr>
- <tr>
- <th>cURL Enabled</th>
- <?php if ($loadedArr['curlLoaded']): ?>
- <td class="pass">Pass</td>
- <?php else: ?>
- <td class="fail">AutoTvToSab requires <a href="http://php.net/curl">cURL</a> for the Remote class.</td>
- <?php endif ?>
- </tr>
- <tr>
- <th>GD Enabled</th>
- <?php if ($loadedArr['gdLoaded']): ?>
- <td class="pass">Pass</td>
- <?php else: ?>
- <td class="fail">AutoTvToSab requires <a href="http://php.net/gd">GD</a> v2 for the Image class.</td>
- <?php endif ?>
- </tr>
- <tr>
- <th>Base url</th>
- <?php if ($loadedArr['requestUri']): ?>
- <td class="pass">Pass</td>
- <?php else: ?>
- <td class="fail">AutoTvToSab requires this line <code>'base_url' => '/autoTvToSab/',</code> in application/bootstrap.php to be set to <code>'base_url' => '<?php echo $requestUri?>'</code>.</td>
- <?php endif ?>
- </tr>
- <tr>
- <th colspan="2">Optional</th>
- </tr>
- <tr>
- <th>Apache mod_rewrite</th>
- <?php if ($loadedArr['modeRewriteLoded']): ?>
- <td class="pass">Pass</td>
- <?php else: $failed = TRUE ?>
- <td class="fail">
- AutoTvToSab requires <a href="http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html">mod_rewrite</a> to rewrite requested URLs on the fly.
- You can use autoTvToSab without mod_rewrite. But then you must change this line <code>'index_file' => FALSE,</code> in application/bootstrap.php to
- <code>'index_file' => 'index.php',</code> and delete the .htaccess file.
- </td>
- <?php endif ?>
- </tr>
- <tr>
- <th>mcrypt Enabled</th>
- <?php if ($loadedArr['mcryptLoaded']): ?>
- <td class="pass">Pass</td>
- <?php else: ?>
- <td class="fail">AutoTvToSab requires <a href="http://php.net/mcrypt">mcrypt</a> for the Encrypt class.</td>
- <?php endif ?>
- </tr>
- <tr>
- <th>PDO Enabled</th>
- <?php if ($loadedArr['pdoLoaded']): ?>
- <td class="pass">Pass</td>
- <?php else: ?>
- <td class="fail">AutoTvToSab can use <a href="http://php.net/pdo">PDO</a> to support additional databases.</td>
- <?php endif ?>
- </tr>
- </table>
- <?php if ($failed === TRUE || in_array(false, $loadedArr, true)): ?>
- <p id="results" class="fail">✘ AutoTvToSab may not work correctly with your environment.</p>
- <?php endif ?>
- </div>
- </li>
- </ol>
- <p>
- <input type="submit" name="save" value="save" />
- </p>
- <p class="collapse_buttons">
- <!--<a href="#" class="show_all_message">Show all message (9)</a>
- <a href="#" class="show_recent_only">Show 5 only</a>-->
- <a href="#" class="collpase_all_message">Collapse all</a>
- </p>
- </form>
- <?php } ?>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement