FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » FUDforum » FUDforum Installation Issues » eGroupware Installation Issues
Show: Today's Messages :: Unread Messages :: Show Polls :: Message Navigator
| Subscribe to topic | Bookmark topic 
Switch to threaded view of this topic Create a new topic Submit Reply
eGroupware Installation Issues [message #34206] Fri, 13 October 2006 14:11 Go to next message
mbeazley is currently offline  mbeazley   United States
Messages: 10
Registered: September 2006
Karma: 0
Junior Member
add to buddy list
ignore all messages by this user
Have FUDForum up & running within eGroupware. I'm running Ubuntu with XAMP providing my Apache, MySQL, PHP, & Perl. Overall I'm very pleased.

When I try to access Theme Management through the Admin Control Panel I get the following WARNING:

Warning: file_get_contents(/var/lib/egroupware/default/files/fudforum/3814588639//th m/default/i18n/.svn/locale) [function.file-get-contents]: failed to open stream: No such file or directory in /opt/lampp/htdocs/egroupware/fudforum/3814588639/adm/admthemes.php on line 244

Here's the content of admthemes.php:

<?php
/************************************************************************** *
* copyright : (C) 2001-2003 Advanced Internet Designs Inc.
* email : forum(at)prohost(dot)org
* $Id: admthemes.php 15658 2004-07-08 14:25:47Z iliaa $
*
* 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 2 of the License, or
* (at your option) any later version.
*************************************************************************** /

function get_func_usage(&$toks)
{
foreach ($toks as $k => $tok) {
if (is_array($tok) && $tok[0] == T_FUNCTION) {
$fc = is_array($toks[$k+2]) ? $toks[$k+2][1] : $toks[$k+3][1];
$func[$fc] = -1;
$func_pos[$fc] = $k;
}
}

if (!isset($func)) {
return 0;
}

foreach ($toks as $tok) {
if (is_array($tok) && $tok[0] == T_STRING && isset($func[$tok[1]])) {
$func[$tok[1]]++;
}
}

krsort($func);

$job = 0;
foreach ($func as $k => $v) {
if ($v) {
break;
}
$job = 1;
$i = 0;
$j = $func_pos[$k];
$n = count($toks);
for ($j; $j < $n; $j++) {
if ($toks[$j] === '{') {
++$i;
} else if ($toks[$j] === '}') {
--$i;
if ($i < 1) {
break;
}
}
unset($toks[$j]);
}
unset($toks[$j]);
}

return $job;
}

function clean_code($path, $toks)
{
$old_size = filesize($path);
$r = '';
foreach ($toks as $k => $tok) {
if (is_array($tok)) {
switch ($tok[0]) {
case T_COMMENT:
case T_ML_COMMENT:
case T_WHITESPACE:
break;
case T_FUNCTION:
case T_CLASS:
case T_NEW:
case T_ECHO:
case T_RETURN:
$r .= $tok[1].' ';
break;
case T_AS:
case T_LOGICAL_OR:
case T_EXTENDS:
$r .= ' '.$tok[1].' ';
break;
default:
$r .= $tok[1];
}
} else {
$r .= $tok;
}
}

if (!($fp = fopen($path, 'w'))) {
exit("unable to write to ".$path."<br>\n");
}
fwrite($fp, $r);
fclose($fp);

$saved = ($old_size - strlen($r));

return $saved;
}
$is_tok = extension_loaded('tokenizer');

require('./GLOBALS.php'); fud_egw();
fud_use('widgets.inc', true);
fud_use('adm.inc', true);
fud_use('compiler.inc', true);
fud_use('theme.inc', true);

$edit = isset($_GET['edit']) ? (int)$_GET['edit'] : (isset($_POST['edit']) ? (int)$_POST['edit'] : '');

/* Limit theme names to sane characters */
if (isset($_POST['newname'])) {
$_POST['newname'] = preg_replace('![^A-Za-z0-9_]!', '_', $_POST['newname']);
}

if (isset($_POST['newname']) && !q_singleval("SELECT id FROM ".$DBHOST_TBL_PREFIX."themes WHERE name='".addslashes($_POST['newname'])."'")) {
$root = $DATA_DIR . 'thm/';
$root_nn = $root . preg_replace('![^A-Za-z0-9_]!', '_', $_POST['newname']);
$u = umask(0);
if (!@is_dir($root_nn) && !@mkdir($root_nn, 0777)) {
exit('can\'t create ('.$root_nn.')<br>');
}
$ts = $_POST['base_template_set'] == 'path_info' ? 'path_info/' : 'default/';

fudcopy($root . $ts, $root_nn, '!.*!', true);
umask($u);
}

if (isset($_POST['thm_theme']) && !$edit) {
$thm = new fud_theme;
$thm->add();
compile_all($thm->theme, $thm->lang, $thm->name);
} else if (isset($_POST['edit'])) {
$thm = new fud_theme;
if ($edit == 1) {
$thm->name = 'default';
}
$thm->sync((int)$_POST['edit']);
compile_all($thm->theme, $thm->lang, $thm->name);
$edit = '';
} else if (isset($_GET['rebuild']) && ($data = db_saq('SELECT theme, lang, name FROM '.$DBHOST_TBL_PREFIX.'themes WHERE id='.(int)$_GET['rebuild']))) {
compile_all($data[0], $data[1], $data[2]);
} else if (isset($_GET['edit']) && ($c = db_arr_assoc('SELECT * FROM '.$DBHOST_TBL_PREFIX.'themes WHERE id='.$edit))) {
foreach ($c as $k => $v) {
${'thm_'.$k} = $v;
}
$thm_t_default = $c['theme_opt'] & 2;
$thm_enabled = $c['theme_opt'] & 1;
} else if (isset($_GET['del']) && (int)$_GET['del'] > 1) {
fud_theme::delete((int)$_GET['del']);
} else if (isset($_GET['optimize']) && $is_tok && ($t_name = q_singleval('SELECT name FROM '.$DBHOST_TBL_PREFIX.'themes WHERE id='.(int)$_GET['optimize']))) {
/* optimize *.php files */
$path = $WWW_ROOT_DISK . 'theme/' . $t_name;
$dir = opendir($path);
$path .= '/';
while ($f = readdir($dir)) {
if ($f == '.' || $f == '..') continue;
if (@is_file($path . $f) && substr($f, -4) == '.php') {
$toks = token_get_all(file_get_contents($path . $f));
while (get_func_usage($toks));
clean_code($path . $f, $toks);
}
}
closedir($dir);

/* optimize *.inc files */
$path = $WWW_ROOT_DISK . 'include/theme/' . $t_name;
$dir = opendir($path);
$path .= '/';
while ($f = readdir($dir)) {
if ($f == '.' || $f == '..') continue;
if (@is_file($path . $f) && substr($f, -4) == '.inc') {
clean_code($path . $f, token_get_all(file_get_contents($path . $f)));
}
}
closedir($dir);
}
if (!$edit) {
$tmp = new fud_theme;
$c = get_object_vars($tmp);
foreach ($c as $k => $v) {
${'thm_'.$k} = '';
}
$thm_locale = 'english';
$thm_pspell_lang = 'en';
$thm_t_default = $thm_enabled = 0;
}

require($WWW_ROOT_DISK . 'adm/admpanel.php');
?>
<h2>Theme Management</h2>

<form name="admthm" action="admthemes.php" method="post">
<?php echo _hs; ?>
<table class="datatable solidtable">
<tr class="field">
<td>Name:</td>
<td>
<?php
if ($edit && $edit == 1) {
echo htmlspecialchars($thm_name);
} else {
echo '<input type="text" name="thm_name" value="'.htmlspecialchars($thm_name).'">';
}
?>
</td>
</tr>

<tr class="field">
<td valign=top>Template Set:</td>
<td>
<select name="thm_theme">
<?php
$dp = opendir($DATA_DIR . '/thm');
while ($de = readdir($dp)) {
if ($de == '.' || $de == '..') continue;
$dr = $DATA_DIR . '/thm/' . $de;
if ($de == 'CVS' || !@is_dir($dr) || !@is_dir($dr.'/tmpl')) {
continue;
}
echo '<option'.($thm_theme == $de ? ' selected' : '').'>'.$de.'</option>';
}
closedir($dp);
?></select>
</td>
</tr>
<tr class="field">
<td>Language</td>
<td>
<?php
$dp = opendir($DATA_DIR . '/thm/default/i18n');
$selopt = '';
if (!$thm_lang) {
$thm_lang = 'english';
}
while ($de = readdir($dp)) {
if ($de == '.' || $de == '..') continue;
$dr = $DATA_DIR . '/thm/default/i18n/' . $de;
if ($de == 'CVS' || !@is_dir($dr)) {
continue;
}
$selopt .= '<option'.($thm_lang == $de ? ' selected' : '').'>'.$de.'</option>';
$locales[$de]['locale'] = trim(file_get_contents($dr . '/locale'));
$pspell_file = $dr . '/pspell_lang';
$locales[$de]['pspell_lang'] = @file_exists($pspell_file) ? trim(file_get_contents($pspell_file)) : 'en';
}
closedir($dp);

$cases = '';
foreach($locales as $k => $v) {
$cases .= "case '$k': document.admthm.thm_locale.value = '".$v['locale']."'; ";
$cases .= "document.admthm.thm_pspell_lang.value='".$v['pspell_lang']."'; ";
$cases .= "break;\n";
}
?>
<script>
function update_locale()
{
switch (document.admthm.thm_lang.value) {
<?php echo $cases; ?>
}
}
</script>

<select name="thm_lang" onChange="javascript: update_locale();">
<?php echo $selopt; ?>
</select>
</td>
</tr>

<tr class="field">
<td>Locale:</td>
<td><input type="text" name="thm_locale" value="<?php echo htmlspecialchars($thm_locale); ?>" size=7></td>
</tr>

<tr class="field">
<td>pSpell Language:</td>
<td>
<input type="text" name="thm_pspell_lang" value="<?php echo htmlspecialchars($thm_pspell_lang); ?>" size=4>
[<a href="javascript://" onClick="javascript: document.admthm.thm_pspell_lang.value=''">disable</a>]
</td>
</tr>

<tr class="field">
<td colspan=2>
<?php draw_checkbox('thm_t_default', '2', $thm_t_default);?> Default <?php draw_checkbox('thm_enabled', '1', $thm_enabled); ?> Enabled
</td>
</tr>
<tr class="fieldaction">
<?php if (!$edit) { ?>
<td colspan=2 align=right><input type="submit" name="btn_submit" value="Add"></td>
<?php } else { ?>
<td colspan=2 align=right>
<input type="submit" name="btn_cancel" value="Cancel">
<input type="submit" name="btn_update" value="Update">
</td>
<?php } ?>
</tr>
</table>
<input type="hidden" name="prevloaded" value="1">
<input type="hidden" name="edit" value="<?php echo $edit; ?>">
</form>

<form method="post">
<table class="datatable solidtable">
<tr class="field"><td colspan=2>Create New Template Set</td></tr>
<tr class="field">
<td>Base Template Set:</td>
<td>
<select name="base_template_set">
<option value="default">Default</option>
<option value="path_info">Path Info</option>
</select></td>
</tr>
<tr class="field">
<td>Name</td>
<td><input type="text" name="newname"></td>
</tr>
<tr class="fieldaction">
<td colspan=2 align=right><input type="submit" name="btn_submit" value="Create"></td>
</tr>
</table>
<?php echo _hs; ?>
</form>

<table class="resulttable fulltable">
<tr class="resulttopic">
<td>Name</td>
<td>Theme</td>
<td>Language</td>
<td>Locale</td>
<td>pSpell Lang</td>
<td>Enabled</td>
<td>Default</td>
<td>Action</td>
</tr>
<?php
$i = 1;
$c = uq('SELECT * FROM '.$DBHOST_TBL_PREFIX.'themes ORDER BY id');
while ($r = db_rowobj($c)) {
if ($edit == $r->id) {
$bgcolor = ' class="resultrow1"';
} else {
$bgcolor = ($i++%2) ? ' class="resultrow2"' : ' class="resultrow1"';
}

echo '<tr '.$bgcolor.'>
<td>'.htmlspecialchars($r->name).'</td>
<td>'.htmlspecialchars($r->theme).'</td>
<td>'.htmlspecialchars($r->lang).'</td>
<td>'.htmlspecialchars($r->locale).'</td>
<td>'.(!$r->pspell_lang ? '<font color="green">disabled</font> ' : htmlspecialchars($r->pspell_lang)).'</td>
<td>'.($r->theme_opt & 1 ? 'Yes' : '<font color="green">No</font>').'</td>
<td>'.($r->theme_opt & 2 ? 'Yes' : '<font color="green">No</font>').'</td>
<td nowrap>[<a href="admthemes.php?'._rsidl.'&edit='.$r->id.'">Edit</a>] [<a href="admthemes.php?'._rsidl.'&rebuild='.$r->id.'">Rebuild Theme</a>]
'.($is_tok ? '[<a href="admthemes.php?'._rsidl.'&optimize='.$r->id.'">Optimize Theme</a>]' : '').'
'.($r->id != 1 ? '[<a href="admthemes.php?'._rsid.'&del='.$r->id.'">Delete</a>]' : '').'
</td>
</tr>';
}
?>
</table>
<?php require($WWW_ROOT_DISK . 'adm/admclose.php'); ?>

When I access the Template Editor and try to edit 'tmpl' I get the following WARNING:

Warning: opendir(/var/lib/egroupware/default/files/fudforum/3814588639/thm/tmpl/tmpl ) [function.opendir]: failed to open dir: No such file or directory in /opt/lampp/htdocs/egroupware/fudforum/3814588639/adm/tmpllist.php on line 207
Unable to open template directory at: "/var/lib/egroupware/default/files/fudforum/3814588639/thm/tmpl/tmpl"

Here's the contents of /opt/lampp/htdocs/egroupware/fudforum/3814588639/adm/tmpllist.php

<?php
/************************************************************************** *
* copyright : (C) 2001-2003 Advanced Internet Designs Inc.
* email : forum(at)prohost(dot)org
* $Id: tmpllist.php 15658 2004-07-08 14:25:47Z iliaa $
*
* 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 2 of the License, or
* (at your option) any later version.
*************************************************************************** /

@set_time_limit(6000);

require('./GLOBALS.php'); fud_egw();
fud_use('adm.inc', true);

function minimize($file, $maxl)
{
if ($file == $maxl) {
return '';
} else if (($p = strpos($maxl, $file)) !== false) {
return ($p ? str_replace(':'. $file, '', $maxl) : str_replace($file. ':', '', $maxl));
}
return $maxl;
}

function maximize($file, $maxl)
{
return ($maxl ? $maxl . ':' . urlencode($file) : urlencode($file)) . '#'. $file;
}

function fetch_section($data, $file, $section, $type)
{
if ($type == 'MAIN') {
if (($p = strpos($data, '{PAGE: '.$section)) === false) {
$p = strpos($data, '{MAIN_SECTION: '.$section);
$end = '{MAIN_SECTION: END}';
} else {
$end = '{PAGE: END}';
}
} else {
$p = 0;
while (1) {
$p = strpos($data, '{SECTION: '.$section, $p);
if ($p === false) {
exit("Cannot find section '{$section}' inside '{$file}'<br />\n");
}
$p += strlen('{SECTION: '.$section);
if ($data[$p] == ' ' || $data[$p] == '}') {
break;
}
}
$end = '{SECTION: END}';
}
if ($p === false) {
return false;
}
if (($te = strpos($data, '}', $p)) === false) {
return false;
}
$ti = explode(' ', substr($data, $p, ($te - $p)), 3);

if (($ef = strpos($data, $end, $te)) === false) {
return false;
}

$ret['offset'] = ++$te;
$ret['len'] = $ef - $ret['offset'];
$ret['data'] = substr($data, $te, $ret['len']);
if (isset($ti[2]) && ($ti[2] = trim($ti[2]))) {
$ret['comment'] = $ti[2];
}
return $ret;
}

function goto_tmpl($tmpl)
{
global $max_list;

if( !preg_match('!(^|:)'.$tmpl.'!', $max_list) ) $max_list .= ':'.$tmpl;

return $max_list.'#'.$tmpl;
}

$tname = isset($_POST['tname']) ? $_POST['tname'] : (isset($_GET['tname']) ? $_GET['tname'] : '');
$tlang = isset($_POST['tlang']) ? $_POST['tlang'] : (isset($_GET['tlang']) ? $_GET['tlang'] : '');
$edit = isset($_POST['edit']) ? $_POST['edit'] : (isset($_GET['edit']) ? $_GET['edit'] : '');

if (!$tname || !$tlang) {
header('Location: admthemesel.php?ret=tmpllist&'._rsidl);
exit;
}

if (isset($_GET['max_list'])) {
$max_opts[strtok($_GET['max_list'], ':')] = 1;
while (($v = strtok(':'))) {
$max_opts[$v] = 1;
}
$max_list = $_GET['max_list'];
} else {
$max_list = '';
}


if (isset($_GET['fl'])) {
$fl = $_GET['fl'];
$sec = isset($_GET['sec']) ? $_GET['sec'] : '';
$msec = isset($_GET['msec']) ? $_GET['msec'] : '';
} else if (isset($_POST['fl'])) {
$fl = $_POST['fl'];
$sec = isset($_POST['sec']) ? $_POST['sec'] : '';
$msec = isset($_POST['msec']) ? $_POST['msec'] : '';
}

if ($edit) {
if (!isset($fl)) {
exit('Missing template name<br>');
}
$f_path = $GLOBALS['DATA_DIR'].'thm/'.$tname.'/tmpl/'.$fl;
if (!@file_exists($f_path)) {
exit('Non-existent template<br>');
} else if (!($data = @file_get_contents($f_path))) {
exit('Could not open template<br>');
}
$tmpl = $sec ? $sec : $msec;
$tmpl_type = $sec ? 'SECTION' : 'MAIN';
if (!$tmpl) {
exit('Section parameter not avaliable<br>');
}
if (($sdata = fetch_section($data, $f_path, $tmpl, $tmpl_type)) === false) {
exit('Couldn\'t locate template "'.$tmpl.'" inside "'.$f_path.'"<br>');
}

if (!isset($_POST['submitted'])) {
$tmpl_data = $sdata['data'];
} else {
$tmpl_data = $_POST['tmpl_data'];

$data = substr_replace($data, str_replace("\r", '', $tmpl_data), $sdata['offset'], $sdata['len']);
if (!($fp = fopen($f_path, 'wb'))) {
exit('unable to save modifications to "'.$f_path.'"');
}
fwrite($fp, $data);
fclose($fp);
fud_use('compiler.inc', true);
$c = q("SELECT theme FROM ".$GLOBALS['DBHOST_TBL_PREFIX']."themes WHERE theme='".addslashes($tname)."' AND lang='".addslashes($tlang)."'");
while ($r = db_rowarr($c)) {
compile_all($tname, $tlang, $r[0]);
}
unset($c);
$update_ok = 1;
}
$p = 0;
while (($p = strpos($tmpl_data, '{MSG: ', $p)) !== false) {
$p += 6;
$e = strpos($tmpl_data, '}', $p);
$msg_list[] = substr($tmpl_data, $p, ($e - $p));
$p = $e;
}
if (isset($msg_list)) {
$msg_list = ' <font size="-1">[ <a href="#" onClick="javascript: window_open(\'msglist.php?tname='.$tname.'&tlang='.$tlang.'&'._rsid l.'&NO_TREE_LIST=1&msglist='.urlencode(implode(':', $msg_list)).'\', \'tmpl_msg\', 600,300);">Edit Text Messages</a> ]</font>';
}
}
require($WWW_ROOT_DISK . 'adm/admpanel.php');
?>
<script language="JavaScript" src="../lib.js"></script>
<style>
.file_name {
font-weight: bold;
color: #ff0000;
font-size: small;
text-decoration: none;
}
.msec {
color: #bb0088;
font-size: small;
text-decoration: underline;
}

.sec {
color: #446644;
font-size: small;
text-decoration: underline;
}

.deps {
color: #00AA00;
font-size: small;
text-decoration: dashed;
}

.depson {
color: #CC6600;
font-size: small;
text-decoration: dashed;
}
</style>

<table width="100%" border=1 cellspacing=2 cellpadding=2>
<tr>
<td nowrap>
<?php
$path = $DATA_DIR . 'thm/' . $tname . '/tmpl';
$pathl = $path . '/';

if (!($dp = opendir($path))) {
exit('Unable to open template directory at: "'.$path.'"<br>');
}
while ($f = readdir($dp)) {
if ($f == '.' || $f == '..') continue;
if (substr($f, -5) != '.tmpl') {
continue;
}
$data = file_get_contents($pathl . $f);

if ($f == 'footer.tmpl' || $f == 'header.tmpl') {
$file = $f;
} else {
/* fetch file name */
if (($p = strpos($data, '{PHP_FILE: input: ')) === false) {
continue;
}
$p = strpos($data, '; output: ', $p) + 10;
if ($data[$p] == '@' || $data[$p] == '!') {
++$p;
}
$file = substr($data, $p, (strpos($data, ';', $p) - $p));
if ($file != 'forum.css') {
$file = substr($file, 0, strrpos($file, '.'));
}
$file .= '.tmpl';
}

/* build dependency list */
$p = 0;
while (($p = strpos($data, '{REF: ', $p)) !== false) {
$p += 5;
$deps[$file][substr($data, $p, (strpos($data, '}', $p) - $p))] = 1;
}

/* parse sections */
if (($p = strpos($data, '{PAGE: ')) === false && ($p = strpos($data, '{MAIN_SECTION: ') === false)) {
/* the file has not templetable data, skipping */
continue;
}
if (isset($max_opts[$file])) { /* we need to show sections inside this file */
$p = 0;
while (($p = strpos($data, '{', $p)) !== false) {
$e = strpos($data, ':', ++$p);
$tag = substr($data, $p, ($e - $p));
switch ($tag) {
case 'SECTION':
case 'PAGE':
case 'MAIN_SECTION':
$e = strpos($data, '}', $p);
$e2 = strpos($data, '{'.$tag.': END}', $e);
if ($e === false || $e2 === false) {
exit('broken template file "'.$file.'"');
}

$d = explode(' ', substr($data, $p, ($e - $p)), 3);

if (!isset($file_info_array[$file])) {
$file_info_array[$file] = '<a class="file_name" href=" tmpllist.php?tname='.$tname.'&tlang='.$tlang.'&'._rsidl.'&max_l ist='.minimize($file, $max_list).'" title="minimize">[ - ]</a> <b>'.$file.'</b> <a name="'.$file.'">&nbsp;</a><br>';
}
if ($tag != 'SECTION') {
$file_info_array[$file] .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font size="-1">&raquo;</font> <a class="msec" href=" tmpllist.php?tname='.$tname.'&tlang='.$tlang.'&'._rsidl.'&edit= 1&fl='.$file.'&msec='.urlencode($d[1]).'&max_list='.$max_list.' ">'.$d[1].'</a>';
} else {
$file_info_array[$file] .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& ;nbsp;&nbsp;&nbsp;&nbsp; <font size="-1">&raquo;</font> <a class="sec" href=" tmpllist.php?tname='.$tname.'&tlang='.$tlang.'&'._rsidl.'&edit= 1&fl='.$file.'&sec='.urlencode($d[1]).'&max_list='.$max_list.' ">'.$d[1].'</a>';
}
if (isset($d[2]) && ($d[2] = trim($d[2]))) {
if (!$edit) {
$file_info_array[$file] .= '<font size="-1" color="#008800"> &nbsp;&nbsp;-&gt;&nbsp;&nbsp;'.htmlspecialchars($d[2]). ' </font>';
}
$file_info_help[$d[1]] = $d[2];
}
$file_info_array[$file] .= '<br>';
$p = $e2 + 6;
break;
default:
++$p;
break;
}
}
} else { /* just parse the title & help if avaliable */
$file_info_array[$file] = '<a class="file_name" href=" tmpllist.php?tname='.$tname.'&tlang='.$tlang.'&'._rsidl.'&max_l ist='.maximize($file, $max_list).'" title="maximize">[ + ]</a> <b>'.$file.'</b> <a name="'.$file.'">&nbsp;</a>';
}
}
closedir($dp);

foreach($deps as $k => $v) {
foreach ($v as $k2 => $v2) {
if (isset($deps[$k2])) {
$deps[$k] = array_merge($v, $deps[$k2]);
}
}
}
$php_deps =& $deps;

$deps_on = array();
foreach($php_deps as $k => $v) {
foreach($v as $k2 => $v2) $deps_on[$k2][] = $k;
}
reset($deps_on);

if( !empty($fl) ) {
$tmp = $file_info_array;
$file_info_array = array();
$tmp2[$fl] = $tmp[$fl];
unset($tmp[$fl]);
$file_info_array = array_merge($tmp2, $tmp);
}

sort($file_info_array);

foreach($file_info_array as $k => $v) {
echo $v;
if(isset($max_opts[$k]) && (isset($php_deps[$k]) || isset($deps_on[$k])) ) {
if( is_array($php_deps[$k]) ) {
$deps = '';
foreach($php_deps[$k] as $k2 => $v2) {
if( $file_info_array[$k2] ) $deps .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& ;nbsp;&nbsp;&nbsp;&nbsp; <font size="-1">&raquo;</font> <a href=" tmpllist.php?tname='.$tname.'&tlang='.$tlang.'&'._rsid.'&max_li st='.goto_tmpl($k2).' " class="deps">'.$k2.'</a><br>';
}

if( !empty($deps) ) echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font size="-1">&raquo;</font> <font size="-1" color="#00AA00"><b>Dependencies</b></font><br>'.$deps;
}

if( is_array($deps_on[$k]) ) {
$dp = '';
foreach($deps_on[$k] as $k2) {
if( $file_info_array[$k2] ) $dp .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& ;nbsp;&nbsp;&nbsp;&nbsp; <font size="-1">&raquo;</font> <a href=" tmpllist.php?tname='.$tname.'&tlang='.$tlang.'&'._rsid.'&max_li st='.goto_tmpl($k2).' " class="depson">'.$k2.'</a><br>';
}

if( !empty($dp) ) echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font size="-1">&raquo;</font> <font size="-1" color="#CC6600"><b>Used By</b></font><br>'.$dp;
}
}
echo '<br>';
}
?>
</td>
<?php if($edit) { ?>
<td width="100%" valign="top">
<?php
if (isset($update_ok)) {
echo '<font color="black"><b>***Theme was successfully updated.***</b></font><br><br>';
}
?>
<font color="#008800"><b>Explanation:</b>
<?php
if (isset($file_info_help[$msec.$sec])) {
echo $file_info_help[$msec.$sec];
} else if (isset($sdata['comment'])) {
echo $sdata['comment'];
}
?>
</font><br>
<table cellspacing=2 cellpadding=1 border=0>
<form method="post" action="tmpllist.php?tname=<?php echo $tname; ?>&tlang=<?php echo $tlang; ?>" name="tmpledit">
<?php echo _hs; ?>
<tr>
<td>
<b><?php echo $tmpl; ?></b>:<?php echo (isset($msg_list) ? $msg_list : ''); ?><br>
<textarea rows="20" cols="60" name="tmpl_data"><?php echo htmlspecialchars($tmpl_data); ?></textarea>
</td>
</tr>
<tr>
<td align="right"><input type="reset" name="reset" value="Undo Changes">&nbsp;&nbsp;&nbsp;<input type="Submit" name="Submit" value="Save Changes"></td>
</tr>
<input type="hidden" name="msec" value="<?php echo $msec; ?>">
<input type="hidden" name="max_list" value="<?php echo $max_list; ?>">
<input type="hidden" name="sec" value="<?php echo $sec; ?>">
<input type="hidden" name="submitted" value="1">
<input type="hidden" name="edit" value="1">
<input type="hidden" name="fl" value="<?php echo $fl; ?>">
</form>
</table>
</td>
</tr>
<?php } ?>
</table>
<?php require($WWW_ROOT_DISK . 'adm/admclose.php'); ?>

I suspect these issues have to do with XAMP installing all eGroupware stuff in the /opt/lampp/htdocs/egroupware root.

Any help would be greatly appreciated.

Mark
Re: eGroupware Installation Issues [message #34223 is a reply to message #34206] Sat, 14 October 2006 11:05 Go to previous messageGo to next message
Ilia is currently offline  Ilia   Canada
Messages: 13241
Registered: January 2002
Karma: 0
Senior Member
Administrator
Core Developer
add to buddy list
ignore all messages by this user
have you tried removing the .svn/ directory?

FUDforum Core Developer
Re: eGroupware Installation Issues [message #34225 is a reply to message #34206] Sat, 14 October 2006 12:00 Go to previous messageGo to next message
mbeazley is currently offline  mbeazley   United States
Messages: 10
Registered: September 2006
Karma: 0
Junior Member
add to buddy list
ignore all messages by this user
That did it. Thanks! My other question was regarding the Template Manager. When I try to edit any template (other than 'default') I get a WARNING. This is the WARNING I received when trying to edit the 'i18n' template:

Warning: opendir(/var/lib/egroupware/default/files/fudforum/3814588639/thm/i18n/tmpl ) [function.opendir]: failed to open dir: No such file or directory in /opt/lampp/htdocs/egroupware/fudforum/3814588639/adm/tmpllist.php on line 207
Unable to open template directory at: "/var/lib/egroupware/default/files/fudforum/3814588639/thm/i18n/tmpl"

It appears as though 'default' is the only template I have installed.
Re: eGroupware Installation Issues [message #34239 is a reply to message #34225] Sun, 15 October 2006 13:36 Go to previous message
Ilia is currently offline  Ilia   Canada
Messages: 13241
Registered: January 2002
Karma: 0
Senior Member
Administrator
Core Developer
add to buddy list
ignore all messages by this user
Looks like the directory does not exist, does the forum have permissions to create directories inside /var/lib/egroupware/default/files/fudforum/3814588639/thm ?

FUDforum Core Developer
Quick Reply
Formatting Tools:   
  Switch to threaded view of this topic Create a new topic
Previous Topic: When I try to install it....
Next Topic: Problems occured on forum dump import
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Wed Sep 19 01:16:50 EDT 2018

Total time taken to generate the page: 0.00640 seconds