public function _upload()
 {
     $tamanho_permitido = _return_bytes(ini_get('upload_max_filesize'));
     $config = array();
     $config['upload_path'] = DIRETORIO_IMAGENS;
     $config['allowed_types'] = 'gif|jpg|png|bmp|jpeg|jpe';
     $config['max_size'] = $tamanho_permitido;
     $config['overwrite'] = TRUE;
     $this->load->library('upload', $config);
     $v_dados = array();
     if (!$this->upload->do_upload("file")) {
         $v_dados['erros'] = $this->upload->json_display_errors();
         $v_dados = array_merge($v_dados, array('cod' => '111'));
     } else {
         $v_dados = $this->upload->data();
         if (!file_exists($v_dados['full_path'])) {
             $v_dados['er'] = "arquivo não existe.";
         }
         $config = array();
         $config['source_image'] = $v_dados['full_path'];
         $config['create_thumb'] = FALSE;
         $config['maintain_ratio'] = TRUE;
         $new_dimession = redimensionar_img($v_dados['image_width'], $v_dados['image_height'], 500, 500);
         $config['width'] = $new_dimession['width'];
         $config['height'] = $new_dimession['height'];
         $config['quality'] = '70%';
         $config['new_image'] = $v_dados['file_path'] . $v_dados['raw_name'] . $v_dados['file_ext'];
         $this->load->library('image_lib', $config);
         if (!$this->image_lib->resize()) {
             $v_dados["erros"] = $this->image_lib->display_errors();
         }
         $dados = propriedades_arquivos($config['new_image']);
         if ($dados['localizacao'] == true) {
             foreach ($dados as $k => $v) {
                 $v_dados[$k] = $v;
             }
         }
         $new_dimession = redimensionar_img($v_dados['image_width'], $v_dados['image_height'], 100, 100);
         $config['width'] = $new_dimession['width'];
         $config['height'] = $new_dimession['height'];
         $config['new_image'] = $v_dados['file_path'] . 'thumb/' . $v_dados['raw_name'] . $v_dados['file_ext'];
         $this->image_lib->initialize($config);
         $this->image_lib->resize();
         $v_dados['cod'] = 999;
         $params = array();
         //id_blogs_imagens, nome, url
         $params['SET']['nome'] = $v_dados['client_name'];
         $params['SET']['url'] = $v_dados['name'];
         $this->blogs_imagens_model->cadastrar($params);
     }
     return json_decode(json_encode($v_dados));
 }
 function gravar()
 {
     $tamanho_permitido = _return_bytes(ini_get('upload_max_filesize'));
     $config = array();
     $config['upload_path'] = DIRETORIO_FOTOS;
     $config['allowed_types'] = 'gif|jpg|png|bmp|jpeg|jpe';
     $config['max_size'] = $tamanho_permitido;
     $config['overwrite'] = TRUE;
     $this->load->library('upload', $config);
     $v_dados = array();
     if (!$this->upload->do_upload("adicionar_arquivo")) {
         $v_dados['erros'] = $this->upload->json_display_errors();
         $v_dados = array_merge($v_dados, array('cod' => '111'));
     } else {
         $v_dados = $this->upload->data();
         if (!file_exists($v_dados['full_path'])) {
             $v_dados['er'] = "arquivo não existe.";
         }
         $config = array();
         $config['source_image'] = $v_dados['full_path'];
         $config['create_thumb'] = FALSE;
         $config['master_dim'] = 'auto';
         $config['maintain_ratio'] = TRUE;
         $new_dimession = redimensionar_img($v_dados['image_width'], $v_dados['image_height'], 500, 500);
         $config['width'] = $new_dimession['width'];
         $config['height'] = $new_dimession['height'];
         $config['quality'] = '70%';
         $config['new_image'] = $v_dados['file_path'] . $v_dados['raw_name'] . $v_dados['file_ext'];
         $this->load->library('image_lib', $config);
         if (!$this->image_lib->resize()) {
             $v_dados["erros"] = $this->image_lib->display_errors();
         }
         $dados = propriedades_arquivos($config['new_image']);
         if ($dados['localizacao'] == true) {
             foreach ($dados as $k => $v) {
                 $v_dados[$k] = $v;
             }
         }
         $v_dados['cod'] = 999;
     }
     echo json_encode($v_dados);
 }
Ejemplo n.º 3
0
function _checkEnvironment()
{
    global $_CONF, $_TABLES, $_PLUGINS, $_SYSTEM, $LANG_ADMIN, $LANG01, $filemgmt_FileStore, $filemgmt_SnapStore, $filemgmt_SnapCat, $_FF_CONF, $_MG_CONF, $LANG_FILECHECK;
    $retval = '';
    $permError = 0;
    $T = new Template($_CONF['path_layout'] . 'admin');
    $T->set_file('page', 'envcheck.thtml');
    $menu_arr = array(array('url' => $_CONF['site_admin_url'] . '/envcheck.php', 'text' => $LANG01['recheck']), array('url' => $_CONF['site_admin_url'] . '/filecheck.php', 'text' => $LANG_FILECHECK['filecheck']), array('url' => $_CONF['site_admin_url'], 'text' => $LANG_ADMIN['admin_home']));
    $retval .= COM_startBlock($LANG01['hosting_env'], '', COM_getBlockTemplate('_admin_block', 'header'));
    $retval .= ADMIN_createMenu($menu_arr, $LANG01['php_warning'], $_CONF['layout_url'] . '/images/icons/envcheck.png');
    $retval .= COM_endBlock(COM_getBlockTemplate('_admin_block', 'footer'));
    /*
     * First we will validate the general environment..
     */
    $T->set_block('page', 'envs', 'env');
    // PHP Version
    $T->set_var('item', $LANG01['php_version']);
    $classCounter = 0;
    if (_phpOutOfDate()) {
        $T->set_var('status', '<span class="notok">' . phpversion() . '</span>');
    } else {
        $T->set_var('status', '<span class="yes">' . phpversion() . '</span>');
    }
    $T->set_var('recommended', '5.2.0+');
    $T->set_var('notes', $LANG01['php_req_version']);
    $T->set_var('rowclass', $classCounter % 2 + 1);
    $T->parse('env', 'envs', true);
    $classCounter++;
    $rg = ini_get('register_globals');
    $sm = ini_get('safe_mode');
    $ob = ini_get('open_basedir');
    $rg = ini_get('register_globals');
    $T->set_var('item', 'register_globals');
    $T->set_var('status', $rg == 1 ? '<span class="notok">' . $LANG01['on'] . '</span>' : '<span class="yes">' . $LANG01['off'] . '</span>');
    $T->set_var('recommended', $LANG01['off']);
    $T->set_var('notes', $LANG01['register_globals']);
    $T->set_var('rowclass', $classCounter % 2 + 1);
    $T->parse('env', 'envs', true);
    $classCounter++;
    $sm = ini_get('safe_mode');
    $T->set_var('item', 'safe_mode');
    $T->set_var('status', $sm == 1 ? '<span class="notok">' . $LANG01['on'] . '</span>' : '<span class="yes">' . $LANG01['off'] . '</span>');
    $T->set_var('recommended', $LANG01['off']);
    $T->set_var('notes', $LANG01['safe_mode']);
    $T->set_var('rowclass', $classCounter % 2 + 1);
    $T->parse('env', 'envs', true);
    $classCounter++;
    $ob = ini_get('open_basedir');
    if ($ob == '') {
        $open_basedir_restriction = 0;
    } else {
        $open_basedir_restriction = 1;
        $open_basedir_directories = $ob;
    }
    $T->set_var('item', 'open_basedir');
    $T->set_var('status', $ob == '' ? '<span class="yes">' . $LANG01['off'] . '</span>' : '<span class="notok">' . $LANG01['enabled'] . '</span>');
    $T->set_var('notes', $LANG01['open_basedir']);
    $T->set_var('rowclass', $classCounter % 2 + 1);
    $T->parse('env', 'envs', true);
    $classCounter++;
    $memory_limit = _return_bytes(ini_get('memory_limit'));
    $memory_limit_print = $memory_limit / 1024 / 1024;
    $T->set_var('item', 'memory_limit');
    $T->set_var('status', $memory_limit < 50331648 ? '<span class="notok">' . $memory_limit_print . 'M</span>' : '<span class="yes">' . $memory_limit_print . 'M</span>');
    $T->set_var('recommended', '48M');
    $T->set_var('notes', $LANG01['memory_limit']);
    $T->set_var('rowclass', $classCounter % 2 + 1);
    $T->parse('env', 'envs', true);
    $classCounter++;
    $fu = ini_get('file_uploads');
    $T->set_var('item', 'file_uploads');
    $T->set_var('status', $fu == 1 ? '<span class="yes">' . $LANG01['on'] . '</span>' : '<span class="notok">' . $LANG01['off'] . '</span>');
    $T->set_var('recommended', $LANG01['on']);
    $T->set_var('notes', $LANG01['file_uploads']);
    $T->set_var('rowclass', $classCounter % 2 + 1);
    $T->parse('env', 'envs', true);
    $classCounter++;
    $upload_limit = _return_bytes(ini_get('upload_max_filesize'));
    $upload_limit_print = $upload_limit / 1024 / 1024;
    $T->set_var('item', 'upload_max_filesize');
    $T->set_var('status', $upload_limit < 8388608 ? '<span class="notok">' . $upload_limit_print . 'M</span>' : '<span class="yes">' . $upload_limit_print . 'M</span>');
    $T->set_var('recommended', '8M');
    $T->set_var('notes', $LANG01['upload_max_filesize']);
    $T->set_var('rowclass', $classCounter % 2 + 1);
    $T->parse('env', 'envs', true);
    $classCounter++;
    $post_limit = _return_bytes(ini_get('post_max_size'));
    if ($post_limit == 0) {
        $post_limit_print = 'unlimited';
        $T->set_var('status', '<span class="yes">' . $post_limit_print . '</span>');
    } else {
        $post_limit_print = $post_limit / 1024 / 1024;
        $T->set_var('status', $post_limit < 8388608 ? '<span class="notok">' . $post_limit_print . 'M</span>' : '<span class="yes">' . $post_limit_print . 'M</span>');
    }
    $T->set_var('item', 'post_max_size');
    $T->set_var('recommended', '8M');
    $T->set_var('notes', $LANG01['post_max_size']);
    $T->set_var('rowclass', $classCounter % 2 + 1);
    $T->parse('env', 'envs', true);
    $classCounter++;
    $max_execution_time = ini_get('max_execution_time');
    $T->set_var('item', 'max_execution_time');
    $T->set_var('status', $max_execution_time < 30 ? '<span class="notok">' . $max_execution_time . ' secs</span>' : '<span class="yes">' . $max_execution_time . ' secs</span>');
    $T->set_var('recommended', '30 secs');
    $T->set_var('notes', $LANG01['max_execution_time']);
    $T->set_var('rowclass', $classCounter % 2 + 1);
    $T->parse('env', 'envs', true);
    $classCounter++;
    $T->set_block('page', 'libs', 'lib');
    if ($sm != 1 && $open_basedir_restriction != 1) {
        switch ($_CONF['image_lib']) {
            case 'imagemagick':
                // ImageMagick
                if (PHP_OS == "WINNT") {
                    $binary = "/convert.exe";
                } else {
                    $binary = "/convert";
                }
                clearstatcache();
                if (!@file_exists($_CONF['path_to_mogrify'] . $binary)) {
                    $T->set_var(array('item' => $LANG01['imagemagick'], 'status' => '<span class="notok">' . $LANG01['not_found'] . '</span>', 'notes' => $LANG01['im_not_found']));
                } else {
                    $T->set_var(array('item' => $LANG01['imagemagick'], 'status' => '<span class="yes">' . $LANG01['ok'] . '</span>', 'notes' => $LANG01['im_ok']));
                }
                break;
            case 'gdlib':
                // GD Libs
                if ($gdv = gdVersion()) {
                    if ($gdv >= 2) {
                        $T->set_var(array('item' => $LANG01['gd_lib'], 'status' => '<span class="yes">' . $LANG01['ok'] . '</span>', 'notes' => $LANG01['gd_ok']));
                    } else {
                        $T->set_var(array('item' => $LANG01['gd_lib'], 'status' => '<span class="yes">' . $LANG01['ok'] . '</span>', 'notes' => $LANG01['gd_v1']));
                    }
                } else {
                    $T->set_var(array('item' => $LANG01['gd_lib'], 'status' => '<span class="notok">' . $LANG01['not_found'] . '</span>', 'notes' => $LANG01['gd_not_found']));
                }
                break;
            case 'netpbm':
                // NetPBM
                if (PHP_OS == "WINNT") {
                    $binary = "/jpegtopnm.exe";
                } else {
                    $binary = "/jpegtopnm";
                }
                clearstatcache();
                if (!@file_exists($_CONF['path_to_netpbm'] . $binary)) {
                    $T->set_var(array('item' => $LANG01['netpbm'], 'status' => '<span class="notok">' . $LANG01['not_found'] . '</span>', 'notes' => $LANG01['np_not_found']));
                } else {
                    $T->set_var(array('item' => $LANG01['netpbm'], 'status' => '<span class="yes">' . $LANG01['ok'] . '</span>', 'notes' => $LANG01['np_ok']));
                }
                break;
        }
        $T->set_var('rowclass', $classCounter % 2 + 1);
        $T->parse('lib', 'libs', true);
        $classCounter++;
        if ($_CONF['jhead_enabled']) {
            if (PHP_OS == "WINNT") {
                $binary = "/jhead.exe";
            } else {
                $binary = "/jhead";
            }
            clearstatcache();
            if (!@file_exists($_CONF['path_to_jhead'] . $binary)) {
                $T->set_var(array('item' => $LANG01['jhead'], 'status' => '<span class="notok">' . $LANG01['not_found'] . '</span>', 'notes' => $LANG01['jhead_not_found']));
            } else {
                $T->set_var(array('item' => $LANG01['jhead'], 'status' => '<span class="yes">' . $LANG01['ok'] . '</span>', 'notes' => $LANG01['jhead_ok']));
            }
            $T->set_var('rowclass', $classCounter % 2 + 1);
            $T->parse('lib', 'libs', true);
            $classCounter++;
        }
        if ($_CONF['jpegtrans_enabled']) {
            if (PHP_OS == "WINNT") {
                $binary = "/jpegtran.exe";
            } else {
                $binary = "/jpegtran";
            }
            clearstatcache();
            if (!@file_exists($_CONF['path_to_jpegtrans'] . $binary)) {
                $T->set_var(array('item' => $LANG01['jpegtran'], 'status' => '<span class="notok">' . $LANG01['not_found'] . '</span>', 'notes' => $LANG01['jpegtran_not_found']));
            } else {
                $T->set_var(array('item' => $LANG01['jpegtran'], 'status' => '<span class="yes">' . $LANG01['ok'] . '</span>', 'notes' => $LANG01['jpegtran_ok']));
            }
            $T->set_var('rowclass', $classCounter % 2 + 1);
            $T->parse('lib', 'libs', true);
            $classCounter++;
        }
    } else {
        $T->set_var(array('item' => $LANG01['graphics'], 'status' => $LANG01['not_checked'], 'notes' => $LANG01['bypass_note']));
    }
    // extract syndication storage path
    $feedpath = $_CONF['rdf_file'];
    $pos = strrpos($feedpath, '/');
    $feedPath = substr($feedpath, 0, $pos + 1);
    $file_list = array($_CONF['path_data'], $_CONF['path_log'] . 'error.log', $_CONF['path_log'] . 'access.log', $_CONF['path_log'] . 'captcha.log', $_CONF['path_log'] . 'spamx.log', $_CONF['path_data'] . 'layout_cache/', $_CONF['path_data'] . 'temp/', $_CONF['path_html'], $feedPath, $_CONF['rdf_file'], $_CONF['path_html'] . 'images/articles/', $_CONF['path_html'] . 'images/topics/', $_CONF['path_html'] . 'images/userphotos/', $_CONF['path_html'] . 'images/library/File/', $_CONF['path_html'] . 'images/library/Flash/', $_CONF['path_html'] . 'images/library/Image/', $_CONF['path_html'] . 'images/library/Media/', $_CONF['path_html'] . 'images/library/userfiles/');
    $mg_file_list = array($_CONF['path'] . 'plugins/mediagallery/tmp/', $_MG_CONF['path_mediaobjects'], $_MG_CONF['path_mediaobjects'] . 'covers/', $_MG_CONF['path_mediaobjects'] . 'orig/', $_MG_CONF['path_mediaobjects'] . 'disp/', $_MG_CONF['path_mediaobjects'] . 'tn/', $_MG_CONF['path_mediaobjects'] . 'orig/0/', $_MG_CONF['path_mediaobjects'] . 'disp/0/', $_MG_CONF['path_mediaobjects'] . 'tn/0/', $_MG_CONF['path_mediaobjects'] . 'orig/1/', $_MG_CONF['path_mediaobjects'] . 'disp/1/', $_MG_CONF['path_mediaobjects'] . 'tn/1/', $_MG_CONF['path_mediaobjects'] . 'orig/2/', $_MG_CONF['path_mediaobjects'] . 'disp/2/', $_MG_CONF['path_mediaobjects'] . 'tn/2/', $_MG_CONF['path_mediaobjects'] . 'orig/3/', $_MG_CONF['path_mediaobjects'] . 'disp/3/', $_MG_CONF['path_mediaobjects'] . 'tn/3/', $_MG_CONF['path_mediaobjects'] . 'orig/4/', $_MG_CONF['path_mediaobjects'] . 'disp/4/', $_MG_CONF['path_mediaobjects'] . 'tn/4/', $_MG_CONF['path_mediaobjects'] . 'orig/5/', $_MG_CONF['path_mediaobjects'] . 'disp/5/', $_MG_CONF['path_mediaobjects'] . 'tn/5/', $_MG_CONF['path_mediaobjects'] . 'orig/6/', $_MG_CONF['path_mediaobjects'] . 'disp/6/', $_MG_CONF['path_mediaobjects'] . 'tn/6/', $_MG_CONF['path_mediaobjects'] . 'orig/7/', $_MG_CONF['path_mediaobjects'] . 'disp/7/', $_MG_CONF['path_mediaobjects'] . 'tn/7/', $_MG_CONF['path_mediaobjects'] . 'orig/8/', $_MG_CONF['path_mediaobjects'] . 'disp/8/', $_MG_CONF['path_mediaobjects'] . 'tn/8/', $_MG_CONF['path_mediaobjects'] . 'orig/9/', $_MG_CONF['path_mediaobjects'] . 'disp/9/', $_MG_CONF['path_mediaobjects'] . 'tn/9/', $_MG_CONF['path_mediaobjects'] . 'orig/a/', $_MG_CONF['path_mediaobjects'] . 'disp/a/', $_MG_CONF['path_mediaobjects'] . 'tn/a/', $_MG_CONF['path_mediaobjects'] . 'orig/b/', $_MG_CONF['path_mediaobjects'] . 'disp/b/', $_MG_CONF['path_mediaobjects'] . 'tn/b/', $_MG_CONF['path_mediaobjects'] . 'orig/c/', $_MG_CONF['path_mediaobjects'] . 'disp/c/', $_MG_CONF['path_mediaobjects'] . 'tn/c/', $_MG_CONF['path_mediaobjects'] . 'orig/d/', $_MG_CONF['path_mediaobjects'] . 'disp/d/', $_MG_CONF['path_mediaobjects'] . 'tn/d/', $_MG_CONF['path_mediaobjects'] . 'orig/e/', $_MG_CONF['path_mediaobjects'] . 'disp/e/', $_MG_CONF['path_mediaobjects'] . 'tn/e/', $_MG_CONF['path_mediaobjects'] . 'orig/f/', $_MG_CONF['path_mediaobjects'] . 'disp/f/', $_MG_CONF['path_mediaobjects'] . 'tn/f/', $_MG_CONF['path_html'] . 'watermarks/');
    $fm_file_list = array($filemgmt_FileStore, $filemgmt_FileStore . 'tmp/', $filemgmt_SnapStore, $filemgmt_SnapStore . 'tmp/', $filemgmt_SnapCat, $filemgmt_SnapCat . 'tmp/');
    $forum_file_list = array($_FF_CONF['uploadpath'] . '/', $_FF_CONF['uploadpath'] . '/tn/');
    if (in_array('mediagallery', $_PLUGINS)) {
        $file_list = array_merge($file_list, $mg_file_list);
    }
    if (in_array('filemgmt', $_PLUGINS)) {
        $file_list = array_merge($file_list, $fm_file_list);
    }
    if (in_array('forum', $_PLUGINS)) {
        $file_list = array_merge($file_list, $forum_file_list);
    }
    $T->set_block('page', 'perms', 'perm');
    $classCounter = 0;
    foreach ($file_list as $path) {
        $ok = _isWritable($path);
        if (!$ok) {
            $T->set_var('location', $path);
            $T->set_var('status', $ok ? '<span class="yes">' . $LANG01['ok'] . '</span>' : '<span class="notwriteable">' . $LANG01['not_writable'] . '</span>');
            $T->set_var('rowclass', $classCounter % 2 + 1);
            $classCounter++;
            $T->parse('perm', 'perms', true);
            if (!$ok) {
                $permError = 1;
            }
        }
        /* --- debug code ---
                else {
                    $T->set_var('location',$path);
                    $T->set_var('status', $ok ? '<span class="yes">'.$LANG01['ok'].'</span>' : '<span class="notwriteable">'.$LANG01['not_writable'].'</span>');
                    $T->set_var('rowclass',($classCounter % 2)+1);
                    $classCounter++;
                    $T->parse('perm','perms',true);
                }
        ----------------------- */
    }
    // special test to see if we can create a directory under layout_cache...
    $rc = @mkdir($_CONF['path_data'] . 'layout_cache/test/');
    if (!$rc) {
        $T->set_var('location', $_CONF['path_data'] . 'layout_cache/<br /><strong>' . $_GLFUSION['errstr'] . '</strong>');
        $T->set_var('status', '<span class="notwriteable">' . $LANG01['unable_mkdir'] . '</span>');
        $T->set_var('rowclass', $classCounter % 2 + 1);
        $classCounter++;
        $T->parse('perm', 'perms', true);
        $permError = 1;
        @rmdir($_CONF['path_data'] . 'layout_cache/test/');
    } else {
        $ok = _isWritable($_CONF['path_data'] . 'layout_cache/test/');
        if (!$ok) {
            $T->set_var('location', $path);
            $T->set_var('status', $ok ? '<span class="yes">' . $LANG01['ok'] . '</span>' : '<span class="notwriteable">' . $LANG01['not_writable'] . '</span>');
            $T->set_var('rowclass', $classCounter % 2 + 1);
            $classCounter++;
            $T->parse('perm', 'perms', true);
            if (!$ok) {
                $permError = 1;
            }
        }
        @rmdir($_CONF['path_data'] . 'layout_cache/test/');
    }
    // special test to see if existing cache files exist and are writable...
    $rc = _checkCacheDir($_CONF['path_data'] . 'layout_cache/', $T, $classCounter);
    if ($rc > 0) {
        $permError = 1;
    }
    if ($permError) {
        $button = 'Recheck';
        $action = 'checkenvironment';
        $T->set_var('error_message', $LANG01['correct_perms']);
        $recheck = '<button type="submit" name="submit" onclick="submitForm( checkenv, \'checkenvironment\' );">' . LB;
        $recheck .= 'Recheck' . LB;
        $recheck .= '<img src="layout/arrow-recheck.gif" alt=""/>' . LB;
        $recheck .= '</button>' . LB;
    } else {
        $classCounter = 0;
        $recheck = '';
        $T->set_var('location', $LANG01['directory_permissions']);
        $T->set_var('status', 1 ? '<span class="yes">' . $LANG01['ok'] . '</span>' : '<span class="notwriteable">' . $LANG01['not_writable'] . '</span>');
        $T->set_var('rowclass', $classCounter % 2 + 1);
        $classCounter++;
        $T->parse('perm', 'perms', true);
        $T->set_var('location', $LANG01['file_permissions']);
        $T->set_var('status', 1 ? '<span class="yes">' . $LANG01['ok'] . '</span>' : '<span class="notwriteable">' . $LANG01['not_writable'] . '</span>');
        $T->set_var('rowclass', $classCounter % 2 + 1);
        $classCounter++;
        $T->parse('perm', 'perms', true);
    }
    $T->set_var(array('lang_host_env' => $LANG01['hosting_env'], 'lang_setting' => $LANG01['setting'], 'lang_current' => $LANG01['current'], 'lang_recommended' => $LANG01['recommended'], 'lang_notes' => $LANG01['notes'], 'lang_filesystem' => $LANG01['filesystem_check'], 'lang_php_settings' => $LANG01['php_settings'], 'lang_php_warning' => $LANG01['php_warning'], 'lang_current_php_settings' => $LANG01['current_php_settings'], 'lang_show_phpinfo' => $LANG01['show_phpinfo'], 'lang_hide_phpinfo' => $LANG01['hide_phpinfo'], 'lang_graphics' => $LANG01['graphics'], 'phpinfo' => _phpinfo()));
    if (!defined('DEMO_MODE')) {
        $T->set_var(array('phpinfo' => _phpinfo()));
    } else {
        $T->set_var('phpinfo', '');
    }
    $T->parse('output', 'page');
    $retval .= $T->finish($T->get_var('output'));
    return $retval;
}
 function upload_banner()
 {
     $params = array();
     $params['AND']['id_banners_tipos'] = $this->input->post('id_banners_tipos');
     $b_consultar = $this->banners_tipos_model->consultar($params);
     $v_dados = array();
     if ($b_consultar != null) {
         $b_consultar = $b_consultar[0];
         $tamanho_permitido = _return_bytes(ini_get('upload_max_filesize'));
         $config = array();
         $config['upload_path'] = DIRETORIO_BANNERS;
         $config['allowed_types'] = $b_consultar->extensao;
         $config['max_size'] = $tamanho_permitido;
         $config['overwrite'] = TRUE;
         $this->load->library('upload', $config);
         if (!$this->upload->do_upload("adicionar_arquivo")) {
             $v_dados['erros'] = $this->upload->json_display_errors();
             $v_dados = array_merge($v_dados, array('cod' => '111'));
         } else {
             $dados_arquivo = array();
             $v_dados = $this->upload->data();
             if (!file_exists($v_dados['full_path'])) {
                 $v_dados['er'] = "arquivo não existe.";
             }
             $tipo_img = explode("/", $v_dados['file_type']);
             if ($tipo_img[0] == 'image') {
                 if (strtoupper($tipo_img[1]) != 'GIF') {
                     $config = array();
                     $config['new_image'] = $v_dados['file_path'] . $v_dados['raw_name'] . '.jpg';
                     $config['source_image'] = $v_dados['full_path'];
                     $config['create_thumb'] = FALSE;
                     $config['master_dim'] = 'auto';
                     $config['maintain_ratio'] = TRUE;
                     $config['width'] = $v_dados['image_width'];
                     $config['height'] = $v_dados['image_height'];
                     $config['quality'] = '70%';
                     $this->load->library('image_lib', $config);
                     if (!$this->image_lib->resize()) {
                         $v_dados["erros"] = $this->image_lib->display_errors();
                     }
                     if ($v_dados['full_path'] !== $config['new_image']) {
                         unlink($v_dados['full_path']);
                         $v_dados['full_path'] = $config['new_image'];
                     }
                     $dados_arquivo = propriedades_arquivos($config['new_image']);
                 } else {
                     $dados_arquivo = propriedades_arquivos($v_dados['full_path']);
                 }
             } else {
                 $dados_arquivo = propriedades_arquivos($v_dados['full_path']);
             }
             if ($dados_arquivo['localizacao'] == true) {
                 $v_dados = array();
                 foreach ($dados_arquivo as $k => $v) {
                     $v_dados[$k] = $v;
                 }
             }
             $v_dados['cod'] = 999;
         }
     } else {
         $v_dados['erros']['msg'] = "Não exite este tipo de banner.";
         $v_dados['cod'] = 111;
     }
     echo json_encode($v_dados);
 }
Ejemplo n.º 5
0
function _checkEnvironment()
{
    global $_CONF, $_TABLES, $_PLUGINS, $_SYSTEM, $LANG_ADMIN, $LANG_ENVCHECK, $_SCRIPTS;
    $retval = '';
    $permError = 0;
    $T = new Template($_CONF['path_layout'] . 'admin');
    $T->set_file('page', 'envcheck.thtml');
    $_SCRIPTS->setJavaScriptLibrary('jquery');
    $javascript = '
                    $(document).ready(function(){
                      $("#toggle_phpinfo").click(function(){
                        $("#panel_phpinfo").slideToggle("slow");
                      });
                    });';
    $_SCRIPTS->setJavascript($javascript, true);
    $menu_arr = array(array('url' => $_CONF['site_admin_url'] . '/envcheck.php', 'text' => $LANG_ENVCHECK['recheck']), array('url' => $_CONF['site_admin_url'], 'text' => $LANG_ADMIN['admin_home']));
    $retval .= COM_startBlock($LANG_ENVCHECK['hosting_env'], '', COM_getBlockTemplate('_admin_block', 'header'));
    $retval .= ADMIN_createMenu($menu_arr, $LANG_ENVCHECK['php_warning'], $_CONF['layout_url'] . '/images/icons/envcheck.png');
    // ***********************************************
    // PHP Settings Section - First we will validate the general environment.
    $header_arr = array(array('text' => $LANG_ENVCHECK['setting'], 'field' => 'settings'), array('text' => $LANG_ENVCHECK['current'], 'field' => 'current'), array('text' => $LANG_ENVCHECK['recommended'], 'field' => 'recommended'), array('text' => $LANG_ENVCHECK['notes'], 'field' => 'notes'));
    $text_arr = array('has_menu' => false, 'title' => $LANG_ENVCHECK['php_settings'], 'form_url' => "{$_CONF['site_admin_url']}/envcheck.php");
    $data_arr = array();
    if (_phpOutOfDate()) {
        $current = '<span class="notok">' . phpversion() . '</span>';
    } else {
        $current = '<span class="yes">' . phpversion() . '</span>';
    }
    $data_arr[] = array('settings' => $LANG_ENVCHECK['php_version'], 'current' => $current, 'recommended' => '5.2.0+', 'notes' => $LANG_ENVCHECK['php_req_version']);
    $rg = ini_get('register_globals');
    $sm = ini_get('safe_mode');
    $ob = ini_get('open_basedir');
    $current = $rg == 1 ? '<span class="notok">' . $LANG_ENVCHECK['on'] . '</span>' : '<span class="yes">' . $LANG_ENVCHECK['off'] . '</span>';
    $data_arr[] = array('settings' => 'register_globals', 'current' => $current, 'recommended' => $LANG_ENVCHECK['off'], 'notes' => $LANG_ENVCHECK['register_globals']);
    $current = $sm == 1 ? '<span class="notok">' . $LANG_ENVCHECK['on'] . '</span>' : '<span class="yes">' . $LANG_ENVCHECK['off'] . '</span>';
    $data_arr[] = array('settings' => 'safe_mode', 'current' => $current, 'recommended' => $LANG_ENVCHECK['off'], 'notes' => $LANG_ENVCHECK['safe_mode']);
    $ob = ini_get('open_basedir');
    if ($ob == '') {
        $open_basedir_restriction = 0;
    } else {
        $open_basedir_restriction = 1;
        $open_basedir_directories = $ob;
    }
    $current = $ob == '' ? '<span class="yes">' . $LANG_ENVCHECK['off'] . '</span>' : '<span class="notok">' . $LANG_ENVCHECK['enabled'] . '</span>';
    $data_arr[] = array('settings' => 'open_basedir', 'current' => $current, 'recommended' => $LANG_ENVCHECK['off'], 'notes' => $LANG_ENVCHECK['open_basedir']);
    $memory_limit = _return_bytes(ini_get('memory_limit'));
    $memory_limit_print = $memory_limit / 1024 / 1024;
    $current = $memory_limit < 50331648 ? '<span class="notok">' . $memory_limit_print . 'M</span>' : '<span class="yes">' . $memory_limit_print . 'M</span>';
    $data_arr[] = array('settings' => 'memory_limit', 'current' => $current, 'recommended' => '48M', 'notes' => $LANG_ENVCHECK['memory_limit']);
    $fu = ini_get('file_uploads');
    $current = $fu == 1 ? '<span class="yes">' . $LANG_ENVCHECK['on'] . '</span>' : '<span class="notok">' . $LANG_ENVCHECK['off'] . '</span>';
    $data_arr[] = array('settings' => 'file_uploads', 'current' => $current, 'recommended' => $LANG_ENVCHECK['on'], 'notes' => $LANG_ENVCHECK['file_uploads']);
    $upload_limit = _return_bytes(ini_get('upload_max_filesize'));
    $upload_limit_print = $upload_limit / 1024 / 1024;
    $current = $upload_limit < 8388608 ? '<span class="notok">' . $upload_limit_print . 'M</span>' : '<span class="yes">' . $upload_limit_print . 'M</span>';
    $data_arr[] = array('settings' => 'upload_max_filesize', 'current' => $current, 'recommended' => '8M', 'notes' => $LANG_ENVCHECK['upload_max_filesize']);
    $post_limit = _return_bytes(ini_get('post_max_size'));
    $post_limit_print = $post_limit / 1024 / 1024;
    $current = $post_limit < 8388608 ? '<span class="notok">' . $post_limit_print . 'M</span>' : '<span class="yes">' . $post_limit_print . 'M</span>';
    $data_arr[] = array('settings' => 'post_max_size', 'current' => $current, 'recommended' => '8M', 'notes' => $LANG_ENVCHECK['post_max_size']);
    $max_execution_time = ini_get('max_execution_time');
    $current = $max_execution_time < 30 ? '<span class="notok">' . $max_execution_time . ' secs</span>' : '<span class="yes">' . $max_execution_time . ' secs</span>';
    $data_arr[] = array('settings' => 'max_execution_time', 'current' => $current, 'recommended' => '30 secs', 'notes' => $LANG_ENVCHECK['max_execution_time']);
    $admin_list = ADMIN_simpleList('', $header_arr, $text_arr, $data_arr);
    $T->set_var('php_settings_list', $admin_list);
    // ***********************************************
    // Libraries
    $header_arr = array(array('text' => $LANG_ENVCHECK['item'], 'field' => 'item'), array('text' => $LANG_ENVCHECK['status'], 'field' => 'status'), array('text' => $LANG_ENVCHECK['notes'], 'field' => 'notes'));
    $text_arr = array('has_menu' => false, 'title' => $LANG_ENVCHECK['libraries'], 'form_url' => "{$_CONF['site_admin_url']}/envcheck.php");
    $data_arr = array();
    if (extension_loaded('openssl')) {
        $data_arr[] = array('item' => $LANG_ENVCHECK['openssl_library'], 'status' => '<span class="yes">' . $LANG_ENVCHECK['ok'] . '</span>', 'notes' => $LANG_ENVCHECK['openssl_ok']);
    } else {
        $data_arr[] = array('item' => $LANG_ENVCHECK['openssl_library'], 'status' => '<span class="notok">' . $LANG_ENVCHECK['not_found'] . '</span>', 'notes' => $LANG_ENVCHECK['openssl_not_found']);
    }
    if ($sm != 1 && $open_basedir_restriction != 1) {
        switch ($_CONF['image_lib']) {
            case 'imagemagick':
                // ImageMagick
                if (PHP_OS == "WINNT") {
                    $binary = "/convert.exe";
                } else {
                    $binary = "/convert";
                }
                clearstatcache();
                if (!@file_exists($_CONF['path_to_mogrify'] . $binary)) {
                    $data_arr[] = array('item' => $LANG_ENVCHECK['imagemagick'], 'status' => '<span class="notok">' . $LANG_ENVCHECK['not_found'] . '</span>', 'notes' => $LANG_ENVCHECK['im_not_found']);
                } else {
                    $data_arr[] = array('item' => $LANG_ENVCHECK['imagemagick'], 'status' => '<span class="yes">' . $LANG_ENVCHECK['ok'] . '</span>', 'notes' => $LANG_ENVCHECK['im_ok']);
                }
                break;
            case 'gdlib':
                // GD Libs
                if ($gdv = gdVersion()) {
                    if ($gdv >= 2) {
                        $data_arr[] = array('item' => $LANG_ENVCHECK['gd_lib'], 'status' => '<span class="yes">' . $LANG_ENVCHECK['ok'] . '</span>', 'notes' => $LANG_ENVCHECK['gd_ok']);
                    } else {
                        $data_arr[] = array('item' => $LANG_ENVCHECK['gd_lib'], 'status' => '<span class="yes">' . $LANG_ENVCHECK['ok'] . '</span>', 'notes' => $LANG_ENVCHECK['gd_v1']);
                    }
                } else {
                    $data_arr[] = array('item' => $LANG_ENVCHECK['gd_lib'], 'status' => '<span class="notok">' . $LANG_ENVCHECK['not_found'] . '</span>', 'notes' => $LANG_ENVCHECK['gd_not_found']);
                }
                break;
            case 'netpbm':
                // NetPBM
                if (PHP_OS == "WINNT") {
                    $binary = "/jpegtopnm.exe";
                } else {
                    $binary = "/jpegtopnm";
                }
                clearstatcache();
                if (!@file_exists($_CONF['path_to_netpbm'] . $binary)) {
                    $data_arr[] = array('item' => $LANG_ENVCHECK['netpbm'], 'status' => '<span class="notok">' . $LANG_ENVCHECK['not_found'] . '</span>', 'notes' => $LANG_ENVCHECK['np_not_found']);
                } else {
                    $data_arr[] = array('item' => $LANG_ENVCHECK['netpbm'], 'status' => '<span class="yes">' . $LANG_ENVCHECK['ok'] . '</span>', 'notes' => $LANG_ENVCHECK['np_ok']);
                }
                break;
            default:
                $data_arr[] = array('item' => $LANG_ENVCHECK['graphics'], 'status' => $LANG_ENVCHECK['not_checked'], 'notes' => $LANG_ENVCHECK['not_used_note']);
        }
        /* Left incase we decided to use jhead and/or jpegtran Program in future
                if ( $_CONF['jhead_enabled'] ) {
                    if (PHP_OS == "WINNT") {
                        $binary = "/jhead.exe";
                    } else {
                        $binary = "/jhead";
                    }
                    clearstatcache();
                    if (! @file_exists( $_CONF['path_to_jhead'] . $binary ) ) {
                        $data_arr[] = array(
                            'item' => $LANG_ENVCHECK['jhead'],
                            'status' =>  '<span class="notok">' .  $LANG_ENVCHECK['not_found'] . '</span>',
                            'notes'     => $LANG_ENVCHECK['jhead_not_found'],
                        );
                    } else {
                        $data_arr[] = array(
                            'item'      => $LANG_ENVCHECK['jhead'],
                            'status'    => '<span class="yes">' . $LANG_ENVCHECK['ok'] . '</span>',
                            'notes'     => $LANG_ENVCHECK['jhead_ok'],
                        );
                    }
                }
        
                if ( $_CONF['jpegtrans_enabled'] ) {
                    if (PHP_OS == "WINNT") {
                        $binary = "/jpegtran.exe";
                    } else {
                        $binary = "/jpegtran";
                    }
                    clearstatcache();
                    if (! @file_exists( $_CONF['path_to_jpegtrans'] . $binary ) ) {
                        $data_arr[] = array(
                            'item'   => $LANG_ENVCHECK['jpegtran'],
                            'status' => '<span class="notok">' .  $LANG_ENVCHECK['not_found'] . '</span>',
                            'notes'  => $LANG_ENVCHECK['jpegtran_not_found'],
                        );
                    } else {
                        $data_arr[] = array(
                            'item'   => $LANG_ENVCHECK['jpegtran'],
                            'status' => '<span class="yes">' . $LANG_ENVCHECK['ok'] . '</span>',
                            'notes'  => $LANG_ENVCHECK['jpegtran_ok'],
                        );
                    }
                }
                */
    } else {
        $data_arr[] = array('item' => $LANG_ENVCHECK['graphics'], 'status' => $LANG_ENVCHECK['not_checked'], 'notes' => $LANG_ENVCHECK['bypass_note']);
    }
    $admin_list = ADMIN_simpleList('', $header_arr, $text_arr, $data_arr);
    $T->set_var('graphics_list', $admin_list);
    // ***********************************************
    // Directory / File Permissions
    $header_arr = array(array('text' => $LANG_ENVCHECK['location'], 'field' => 'location'), array('text' => $LANG_ENVCHECK['status'], 'field' => 'status'));
    $text_arr = array('has_menu' => false, 'title' => $LANG_ENVCHECK['filesystem_check'], 'form_url' => "{$_CONF['site_admin_url']}/envcheck.php");
    $data_arr = array();
    // extract syndication storage path
    $feedpath = $_CONF['rdf_file'];
    $pos = strrpos($feedpath, '/');
    $feedPath = substr($feedpath, 0, $pos + 1);
    $file_list = array($_CONF['path_data'], $_CONF['path_log'] . 'error.log', $_CONF['path_log'] . 'access.log', $_CONF['path_log'] . 'captcha.log', $_CONF['path_log'] . 'spamx.log', $_CONF['path_log'] . '404.log', $_CONF['path_data'] . 'layout_cache/', $_CONF['path_html'], $feedPath, $_CONF['rdf_file'], $_CONF['path_html'] . 'images/articles/', $_CONF['path_html'] . 'images/topics/', $_CONF['path_html'] . 'images/userphotos/', $_CONF['path_html'] . 'images/library/File/', $_CONF['path_html'] . 'images/library/Flash/', $_CONF['path_html'] . 'images/library/Image/', $_CONF['path_html'] . 'images/library/Media/');
    /* For Media Gallery Plugin - left in incase add plugin api checks in future
        $mg_file_list = array($_CONF['path'].'plugins/mediagallery/tmp/',
                            $_MG_CONF['path_mediaobjects'],
                            $_MG_CONF['path_mediaobjects'].'covers/',
                            $_MG_CONF['path_mediaobjects'].'orig/',
                            $_MG_CONF['path_mediaobjects'].'disp/',
                            $_MG_CONF['path_mediaobjects'].'tn/',
                            $_MG_CONF['path_mediaobjects'].'orig/0/',
                            $_MG_CONF['path_mediaobjects'].'disp/0/',
                            $_MG_CONF['path_mediaobjects'].'tn/0/',
                            $_MG_CONF['path_mediaobjects'].'orig/1/',
                            $_MG_CONF['path_mediaobjects'].'disp/1/',
                            $_MG_CONF['path_mediaobjects'].'tn/1/',
                            $_MG_CONF['path_mediaobjects'].'orig/2/',
                            $_MG_CONF['path_mediaobjects'].'disp/2/',
                            $_MG_CONF['path_mediaobjects'].'tn/2/',
                            $_MG_CONF['path_mediaobjects'].'orig/3/',
                            $_MG_CONF['path_mediaobjects'].'disp/3/',
                            $_MG_CONF['path_mediaobjects'].'tn/3/',
                            $_MG_CONF['path_mediaobjects'].'orig/4/',
                            $_MG_CONF['path_mediaobjects'].'disp/4/',
                            $_MG_CONF['path_mediaobjects'].'tn/4/',
                            $_MG_CONF['path_mediaobjects'].'orig/5/',
                            $_MG_CONF['path_mediaobjects'].'disp/5/',
                            $_MG_CONF['path_mediaobjects'].'tn/5/',
                            $_MG_CONF['path_mediaobjects'].'orig/6/',
                            $_MG_CONF['path_mediaobjects'].'disp/6/',
                            $_MG_CONF['path_mediaobjects'].'tn/6/',
                            $_MG_CONF['path_mediaobjects'].'orig/7/',
                            $_MG_CONF['path_mediaobjects'].'disp/7/',
                            $_MG_CONF['path_mediaobjects'].'tn/7/',
                            $_MG_CONF['path_mediaobjects'].'orig/8/',
                            $_MG_CONF['path_mediaobjects'].'disp/8/',
                            $_MG_CONF['path_mediaobjects'].'tn/8/',
                            $_MG_CONF['path_mediaobjects'].'orig/9/',
                            $_MG_CONF['path_mediaobjects'].'disp/9/',
                            $_MG_CONF['path_mediaobjects'].'tn/9/',
                            $_MG_CONF['path_mediaobjects'].'orig/a/',
                            $_MG_CONF['path_mediaobjects'].'disp/a/',
                            $_MG_CONF['path_mediaobjects'].'tn/a/',
                            $_MG_CONF['path_mediaobjects'].'orig/b/',
                            $_MG_CONF['path_mediaobjects'].'disp/b/',
                            $_MG_CONF['path_mediaobjects'].'tn/b/',
                            $_MG_CONF['path_mediaobjects'].'orig/c/',
                            $_MG_CONF['path_mediaobjects'].'disp/c/',
                            $_MG_CONF['path_mediaobjects'].'tn/c/',
                            $_MG_CONF['path_mediaobjects'].'orig/d/',
                            $_MG_CONF['path_mediaobjects'].'disp/d/',
                            $_MG_CONF['path_mediaobjects'].'tn/d/',
                            $_MG_CONF['path_mediaobjects'].'orig/e/',
                            $_MG_CONF['path_mediaobjects'].'disp/e/',
                            $_MG_CONF['path_mediaobjects'].'tn/e/',
                            $_MG_CONF['path_mediaobjects'].'orig/f/',
                            $_MG_CONF['path_mediaobjects'].'disp/f/',
                            $_MG_CONF['path_mediaobjects'].'tn/f/',
                            $_MG_CONF['path_html'].'watermarks/',
                        );
    
        $fm_file_list = array(
                            $filemgmt_FileStore,
                            $filemgmt_FileStore.'tmp/',
                            $filemgmt_SnapStore,
                            $filemgmt_SnapStore.'tmp/',
                            $filemgmt_SnapCat,
                            $filemgmt_SnapCat.'tmp/',
                        );
    
        $forum_file_list = array(
                            $_FF_CONF['uploadpath'].'/',
                            $_FF_CONF['uploadpath'].'/tn/',
                          );
    
    
        if (in_array('mediagallery', $_PLUGINS)) {
            $file_list = array_merge($file_list, $mg_file_list);
        }
        if (in_array('filemgmt', $_PLUGINS)) {
            $file_list = array_merge($file_list, $fm_file_list);
        }
        if (in_array('forum', $_PLUGINS)) {
            $file_list = array_merge($file_list, $forum_file_list);
        }
    */
    $T->set_block('page', 'perms', 'perm');
    foreach ($file_list as $path) {
        $ok = _isWritable($path);
        if (!$ok) {
            $status = $ok ? '<span class="yes">' . $LANG_ENVCHECK['ok'] . '</span>' : '<span class="notwriteable">' . $LANG_ENVCHECK['not_writable'] . '</span>';
            $data_arr[] = array('location' => $path, 'status' => $status);
            if (!$ok) {
                $permError = 1;
            }
        }
        /* --- debug code ---
                else {
                    $status = $ok ? '<span class="yes">'.$LANG_ENVCHECK['ok'].'</span>' : '<span class="notwriteable">'.$LANG_ENVCHECK['not_writable'].'</span>';
                    $data_arr[] = array(
                        'location' => $path,
                        'status' => $status
                    );
                }
        ----------------------- */
    }
    // special test to see if we can create a directory under layout_cache...
    $rc = @mkdir($_CONF['path_data'] . 'layout_cache/test/');
    if (!$rc) {
        $location = $_CONF['path_data'] . 'layout_cache/';
        $status = '<span class="notwriteable">' . $LANG_ENVCHECK['unable_mkdir'] . '</span>';
        $data_arr[] = array('location' => $location, 'status' => $status);
        $permError = 1;
        @rmdir($_CONF['path_data'] . 'layout_cache/test/');
    } else {
        $ok = _isWritable($_CONF['path_data'] . 'layout_cache/test/');
        if (!$ok) {
            $status = $ok ? '<span class="yes">' . $LANG_ENVCHECK['ok'] . '</span>' : '<span class="notwriteable">' . $LANG_ENVCHECK['not_writable'] . '</span>';
            $data_arr[] = array('location' => $path, 'status' => $status);
            if (!$ok) {
                $permError = 1;
            }
        }
        @rmdir($_CONF['path_data'] . 'layout_cache/test/');
    }
    // special test to see if existing cache files exist and are writable...
    $rc = _checkCacheDir($_CONF['path_data'] . 'layout_cache/', $data_arr);
    if ($rc > 0) {
        $permError = 1;
    }
    if (!$permError) {
        $recheck = '';
        $status = 1 ? '<span class="yes">' . $LANG_ENVCHECK['ok'] . '</span>' : '<span class="notwriteable">' . $LANG_ENVCHECK['not_writable'] . '</span>';
        $data_arr[] = array('location' => $LANG_ENVCHECK['directory_permissions'], 'status' => $status);
        $status = 1 ? '<span class="yes">' . $LANG_ENVCHECK['ok'] . '</span>' : '<span class="notwriteable">' . $LANG_ENVCHECK['not_writable'] . '</span>';
        $data_arr[] = array('location' => $LANG_ENVCHECK['file_permissions'], 'status' => $status);
    }
    $admin_list = ADMIN_simpleList('', $header_arr, $text_arr, $data_arr);
    $T->set_var('filesystem_list', $admin_list);
    // ***********************************************
    // Current PHP Settings
    $T->set_var(array('lang_current_php_settings' => $LANG_ENVCHECK['current_php_settings'], 'lang_showhide_phpinfo' => $LANG_ENVCHECK['showhide_phpinfo'], 'phpinfo' => _phpinfo()));
    /*
    if ( !defined('DEMO_MODE') ) {
        $T->set_var(array(
            'phpinfo'       => _phpinfo(),
        ));
    } else {
        $T->set_var('phpinfo','');
    }
    */
    $T->set_var('phpinfo', _phpinfo());
    $T->parse('output', 'page');
    $retval .= $T->finish($T->get_var('output'));
    $retval .= COM_endBlock(COM_getBlockTemplate('_admin_block', 'footer'));
    return $retval;
}