Subversion Repositories portal2

Rev

Rev 718 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?php
/*  emg - Energy Monitoring & Graphing
*  Copyright (C) 2006-2012 Romain Lievin
*
*  This program is free software; you can redistribute it and/or modify
*  it under the terms of the GNU General Public License as published by
*  the Free Software Foundation; either version 3 of the License, or
*  (at your option) any later version.
*
*  This program is distributed in the hope that it will be useful,
*  but WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*  GNU General Public License for more details.
*
*  You should have received a copy of the GNU General Public License
*  along with this program; if not, write to the Free Software Foundation,
*  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/

?>

<div id="page_setup">
        <h1>
                <?php echo _("Information"); ?>
        </h1>

        <p>
                <?php echo _("Welcome to the EMG setup utility..."); ?>
                <br/>
        </p>

        <p>
                <?php echo _("* You need PHP, you have version"); ?>:
               
                <strong>
                        <?php echo PHP_VERSION; ?>
                </strong>
        </p>

        <p>
                <?php echo _("* Extensions required"); ?>:
                <br />
                <?php
                //print_r(get_loaded_extensions());

                if(in_array("curl", get_loaded_extensions()))
                {
                        $version   = curl_version();

                        $bitfields = Array(
                                'CURL_VERSION_IPV6',
                                'CURL_VERSION_KERBEROS4',
                                'CURL_VERSION_SSL',
                                'CURL_VERSION_LIBZ'
                        );

                        $curl_version = $version['version'];
                        echo "- cURL: <strong>enabled</strong> ($curl_version)<br />";

                        $features    = $version['features'];

                        $ssl_enabled = ($features & CURL_VERSION_SSL) ? "<strong>ok</strong>" : "<strong>ko</strong>";
                        echo "- cURL w/ SSL: $ssl_enabled<br />";

                        $ipv6_enabled = ($features & CURL_VERSION_IPV6) ? "<strong>ok</strong>" : "<strong>ko</strong>";
                        echo "- cURL w/ IPv6: $ipv6_enabled<br />";
                }
                else
                {
                        echo '- cURL: <strong>disabled</strong>.' . 'Please install it.<br />';
                }

                if(in_array("sockets", get_loaded_extensions()))
                {
                        echo "- sockets: <strong>enabled</strong><br />";
                }
                else
                {
                        echo '- sockets: <strong>disabled</strong>.' . 'Please install it.<br />';
                }

                if(in_array("ftp", get_loaded_extensions()))
                {
                        /*
                        ob_start();
                        echo phpinfo();
                        $str = ob_get_contents();
                        ob_end_clean();
                        */

                        echo "- FTP: <strong> enabled </strong><br />";
                }
                else
                {
                        echo "- FTP: <strong> disabled  </strong><br />";
                }

                if(in_array("pdo_sqlite", get_loaded_extensions()))
                {
                        /*
                        ob_start();
                        echo phpinfo();
                        $str = ob_get_contents();
                        ob_end_clean();
                        */

                        echo "- SQLite (PDO): <strong> enabled </strong><br />";
                }
                else
                {
                        echo "- SQLite (PDO): <strong> disabled  </strong><br />";
                }

                if(function_exists('posix_getuid'))
                {
                        echo "- POSIX: <strong> available </strong><br />";
                }
                else
                {
                        echo "- POSIX: <strong> unavailable  </strong><br />";
                }
                /*
                if (in_array("sqlite", get_loaded_extensions()))
                {
                echo "- SQLite (DLL): <strong> enabled </strong><br />";
                }
                else
                {
                echo "- SQLite (DLL): <strong> disabled  </strong><br />";
                }
                */

                /*
                ob_start();
                echo phpinfo();
                $str = ob_get_contents();
                ob_end_clean();
                */


                ?>
        </p>

        <p>
                <?php
                $script_tz = 'Europe/Paris';
                $ini_tz    = ini_get('date.timezone');

                if(strcmp($script_tz, $ini_tz))
                {
                        echo _('* Timezone: timezone of script is different from php.ini one.');
                        echo '<br/>';
                        echo "Script = [$script_tz] <=> Portal = [$ini_tz]";
                        echo '<br/>';
                        echo _('You have to add/modify the php.ini file with the following line: date.timezone = Europe/Paris');
                }
                else
                {
                        echo _('* Timezone: script and php.ini are same') . " ($ini_tz).";
                }
                ?>
        </p>
       
        <p>
                <?php
                        echo _('* Locale:');
                        echo "<br/>\n";
                        echo "- supported by the browser: ";
                       
                        $languages = Internationalization::get_accepted_languages();
                        foreach($languages as $language => $quality)
                        {
                                echo "$language ($quality) ";          
                        }
                        echo "<br/>\n";
               
                        $locale = setlocale  (LC_ALL,"0");     
                        echo "- supported by the system: $locale <br/>\n";
                       
                        echo "- supported by the device: unknown <br/>\n";
                ?>
        </p>
       
        <p>
                <?php echo _("* PHP information: "); ?>
                <a href="php_infos.php">
                        <strong>
                                <?php echo _("here"); ?>
                        </strong>
                </a>
        </p>

        <object>
                <?php

                // need to skip this section if we are on Windows
                if(function_exists('posix_getuid'))
                {

                        echo _("* Filesystem check: <br/>");

                        $table = "\n";
                        $table .= "<table id=\"table_form\">\n";

                        $table .= "  <thead> \n";
                        $table .= "    <tr> \n";
                        $table .= "      <td> <strong>Name</strong> </td>\n";
                        $table .= "      <td> <strong>Type</strong> </td>\n";
                        $table .= "      <td> <strong>Owner:Group</strong> </td>\n";
                        $table .= "      <td> <strong>Perms</strong> </td>\n";
                        $table .= "      <td> <strong>Check</strong> </td>\n";
                        $table .= "    </tr> \n";
                        $table .= "  </thead> \n";

                        $iterator = new DirectoryIterator(dirname(__FILE__));
                        foreach($iterator as $fileinfo)
                        {
                                if($fileinfo->isDot())
                                {
                                        continue;
                                }

                                $check       = 'ok';
                                $filename    = $fileinfo->getFilename();
                                $owner_id    = $fileinfo->getOwner();
                                $group_id    = $fileinfo->getGroup();
                                $perms       = $fileinfo->getPerms ();
                                $octal_perms = substr(sprintf('%o', $perms), - 4);

                                $owner = posix_getpwnam ($owner_id);
                                $group = posix_getgrnam($group_id);
                                //$owner       = $group       = 'www-data';

                                if($fileinfo->isDir())
                                {
                                        if(strcmp($owner, 'www-data'))
                                        {
                                                //$ret   = chown($filename, 'www-data');
                                                $check = 'ko';
                                        }

                                        if(strcmp($group, 'www-data'))
                                        {
                                                //$ret   = chgrp($filename, 'www-data');
                                                $check = 'ko';
                                        }

                                        if(strcmp($octal_perms, "0755"))        // rwxr - xr - x
                                        {
                                                //$ret   = chmod($filename, 0755);
                                                $check = 'ko';
                                        }

                                        //echo " - $filename: $owner:$group ($octal_perms) : < strong > $check </strong><br/>\n";
                                }

                                if($fileinfo->isFile())
                                {
                                        if($filename == '.' || $filename == '..')
                                        continue;

                                        if(strcmp($owner, 'www-data'))
                                        {
                                                //$ret   = chown($filename, 'www-data');
                                                $check = 'ko';
                                        }

                                        if(strcmp($group, 'www-data'))
                                        {
                                                //$ret   = chgrp($filename, 'www-data');
                                                $check = 'ko';
                                        }

                                        if(strcmp($octal_perms, "0644"))        // rw - r--r--
                                        {
                                                //$ret   = chmod($filename, 0644);
                                                $check = 'ko';
                                        }

                                        //echo " - $filename: $owner:$group ($octal_perms) : < strong > $check </strong><br/>\n";
                                }

                                $table .= "  <tr>\n";

                                $table .= "    <td>\n";
                                $table .= "    $filename\n";
                                $table .= "    </td>\n";

                                $table .= "    <td>\n";
                                if($fileinfo->isDir())
                                $table .= "    D\n";
                                else
                                if($fileinfo->isFile())
                                $table .= "    F\n";
                                $table .= "    </td>\n";

                                $table .= "    <td>\n";
                                $table .= "    $owner:$group\n";
                                $table .= "    </td>\n";

                                $table .= "    <td>\n";
                                $table .= "    $octal_perms\n";
                                $table .= "    </td>\n";

                                $table .= "    <td>\n";
                                if($check == 'ok')
                                $table .= "    <input type=\"image\" name=\"$filename\" value=\"$filename\" id=\"$filename\" src=\"images/btn_add.png\" alt=\"add\" />\n";
                                else
                                if($check == 'ko')
                                $table .= "    <input type=\"image\" name=\"$filename\" value=\"$filename\" id=\"$filename\" src=\"images/btn_del.png\" alt=\"del\" />\n";
                                //$table .= "    $check\n";
                                $table .= "    </td>\n";

                                $table .= "  </tr>\n";
                        }

                        $table .= "</table>\n";
                        echo $table;
                }
                ?>
        </object>

        <p>
                <?php echo _("If settings are all OK, you can"); ?>
                <a href="index.php">
                        <strong>
                                <?php echo _("start"); ?>
                        </strong>
                        .
                </a>
        </p>   
       
</div>