diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/BeCastWebEngine.iml b/.idea/BeCastWebEngine.iml new file mode 100644 index 0000000..cc5f239 --- /dev/null +++ b/.idea/BeCastWebEngine.iml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..5cb71ef --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..871ac08 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/php.xml b/.idea/php.xml new file mode 100644 index 0000000..ff1c9c2 --- /dev/null +++ b/.idea/php.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/core/init_core.inc.php b/core/init_core.inc.php index 9fe7cfb..48bf0ce 100644 --- a/core/init_core.inc.php +++ b/core/init_core.inc.php @@ -1,6 +1,6 @@ - - * @package astat core + * @package BcWe core * @license http://opensource.org/licenses/gpl-license.php GNU Public License - * @version $Id: init_core.inc.php 148 2012-03-27 19:48:30Z genuineparts $ -*/ + * @version $Id$ + */ -define('in_astat', true); +const in_astat = true; -function getTime() { +function getTime(): string +{ $timer = explode( ' ', microtime() ); - $timer = $timer[1] + $timer[0]; - return $timer; + return $timer[1] . $timer[0]; } $start = getTime(); /** * Configuration */ -require dirname(dirname(__FILE__)).'/inc/config.inc.php'; +require dirname(__FILE__, 2) .'/inc/config.inc.php'; /** * Smarty @@ -53,42 +53,42 @@ require $basepath.'database/'.$config['db_class'].'.class.php'; /** * Functions */ -include dirname(dirname(__FILE__)).'/inc/functions.class.php'; +include dirname(__FILE__, 2) .'/inc/functions.class.php'; /** * Logger */ -require dirname(dirname(__FILE__)).'/inc/logger.class.php'; +require dirname(__FILE__, 2) .'/inc/logger.class.php'; /** * Logger */ -require dirname(dirname(__FILE__)).'/inc/datacache.class.php'; +require dirname(__FILE__, 2) .'/inc/datacache.class.php'; /** * Cache */ -require dirname(dirname(__FILE__)).'/inc/cache.class.php'; +require dirname(__FILE__, 2) .'/inc/cache.class.php'; /** * Errors */ -include dirname(dirname(__FILE__)).'/inc/error.class.php'; +include dirname(__FILE__, 2) .'/inc/error.class.php'; /** * Plugins */ -include dirname(dirname(__FILE__)).'/inc/plugin.class.php'; +include dirname(__FILE__, 2) .'/inc/plugin.class.php'; /** * Mail */ -include dirname(dirname(__FILE__)).'/inc/mail.class.php'; +include dirname(__FILE__, 2) .'/inc/mail.class.php'; /** * Captcha */ -include dirname(dirname(__FILE__)).'/inc/captcha.class.php'; +include dirname(__FILE__, 2) .'/inc/captcha.class.php'; $plugin=new plugins(); $db= new db($config['host'], $config['user'], $config['pass'], $config['db'],'utf8', true); @@ -97,7 +97,7 @@ $db= new db($config['host'], $config['user'], $config['pass'], $config['db'],'ut * Select $config vars form Database * */ -$result = $db->query("SELECT `name`, `value` FROM " . $config['prefix'] . "config"); +$result = $db->query("SELECT `name`, `value` FROM `" . $config['prefix'] . "config`"); while ($row = $db->fetch_array($result)){ $config[$row['name']] = $row['value']; } @@ -130,7 +130,7 @@ if(!isset($config['path'])){ $last = array_pop($path); $path = str_replace('/' . $last, '', $_SERVER['SCRIPT_NAME']); $config['path'] = $path; - $db->query("INSERT INTO " . $config['prefix'] . "config (`name`, `value`, `title`, `description`, `option`, `category`) VALUES + $db->query("INSERT INTO `" . $config['prefix'] . "config` (`name`, `value`, `title`, `description`, `option`, `category`) VALUES ( 'path', '".$path."', 'Pfad', 'Der Pfad auf ihrem Webserver z.b. /cms', 'text', 1)"); }else{ $path=$config['path']; @@ -140,7 +140,7 @@ if(!isset($config['path'])){ * Start Logger * */ -$log=new logger($config['logtype'],dirname(dirname(__FILE__)).'/logs/'.$config['logfile'],$config['loglevel']); +$log=new logger($config['logtype'], dirname(__FILE__, 2) .'/logs/'.$config['logfile'],$config['loglevel']); $tpl = new Smarty(); $error = new errorhandler(); $functions = new functions(); @@ -150,7 +150,7 @@ $root = $_SERVER['DOCUMENT_ROOT'] . $config['path']; * Start Language * */ -require dirname(dirname(__FILE__)).'/inc/lang.class.php'; +require dirname(__FILE__, 2) .'/inc/lang.class.php'; $lang=new lang(); @@ -171,8 +171,12 @@ if(isset($config['theme']) && $config['theme']!='' && is_dir($root . '/themes/'. $tpl->setCompileDir($root . '/core/template/templates_c'); $tpl->setCacheDir($root . '/core/template/cache'); $tpl->setConfigDir($root . '/core/template/config'); -$tpl->loadFilter(\Smarty\Smarty::FILTER_OUTPUT,'trimwhitespace'); -$tpl->registerFilter("output", "lang"); +try { + $tpl->registerFilter(\Smarty\Smarty::FILTER_OUTPUT, 'trimwhitespace'); + $tpl->registerFilter(\Smarty\Smarty::FILTER_OUTPUT, "lang"); +} catch (\Smarty\Exception $e) { + $log->write("Smarty Register Filter error", $e->getMessage()); +} //var_dump($tpl -> getAutoloadFilters()); /** * Well... This should vanish with Thememanagement @@ -186,7 +190,7 @@ $addnav['left'] = TRUE; * Start Sessions * */ -require dirname(dirname(__FILE__)).'/inc/sessions.class.php'; +require dirname(__FILE__, 2) .'/inc/sessions.class.php'; $session=new session(); @@ -194,12 +198,13 @@ $session=new session(); * Initiate Core Class * */ -require dirname(dirname(__FILE__)).'/inc/core.class.php'; +require dirname(__FILE__, 2) .'/inc/core.class.php'; $core=new core($db, $log, $tpl); if(defined('INSTALLED')){ - if(is_dir(dirname(dirname(__FILE__)).'/install')){ - return $core->message($lang->_('DELINSTALLDIR'), $lang->_('DELINSTALLDIRTEXT'),FALSE); + if(is_dir(dirname(__FILE__, 2) .'/install')){ + $core->message($lang->_('DELINSTALLDIR'), $lang->_('DELINSTALLDIRTEXT'),FALSE); + return; } }else{ header("Location: install/install.php"); @@ -211,7 +216,7 @@ $captcha = new captcha(); * OpenID */ if($config['use_openid']==1){ - include dirname(dirname(__FILE__)).'/inc/SimpleOpenID.class.php'; + include dirname(__FILE__, 2) .'/inc/SimpleOpenID.class.php'; } /** * Get all *.plugin.php files from the Modules and register the Pluginhooks @@ -250,13 +255,11 @@ function langstr($treffer) * Its useful but "undocumented". * */ -$moduledir = dirname(dirname(__FILE__)).'/core/modules'; +$moduledir = dirname(__FILE__, 2) .'/core/modules'; $modules = opendir($moduledir); while ($mods = readdir($modules)) { if (preg_match('/^.*?\.class.php$/', $mods)) { require_once($moduledir.'/'.$mods); } } -@closedir($modules); - -?> +@closedir($modules); \ No newline at end of file diff --git a/index.php b/index.php index 3eb9f2c..18ab812 100644 --- a/index.php +++ b/index.php @@ -17,7 +17,7 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * @link http://www.astat.org SVN: $URL: http://svn.astat.org/astat/trunk/index.php $ + * @link http://www.becast.at * @copyright 2009-2025 becast.at * @author Bernhard Jaud * @package BcWe core diff --git a/install/assets/becastwebengine.ver b/install/assets/becastwebengine.ver new file mode 100755 index 0000000..c568937 --- /dev/null +++ b/install/assets/becastwebengine.ver @@ -0,0 +1 @@ + diff --git a/install/install.php b/install/install.php new file mode 100755 index 0000000..7366d99 --- /dev/null +++ b/install/install.php @@ -0,0 +1,764 @@ +'Deutsch','en'=>'English'); + var $lang; + var string $lf = ""; + + function __construct(){ + global $lf; + $language=$_COOKIE['astat_install_lang']; + if(!$language || $language==''){ + $lang=$this->getbrowserlang(); + if(!$lang){ + $this->lang='en'; + }else{ + $this->lang=$lang; + } + }else{ + $this->lang=$language; + } + include dirname(__FILE__).'/languages/'.$this->lang.'.lang.php'; + $this->lf=$lf; + } + + + function getbrowserlang(): string + { + $langs=$_SERVER['HTTP_ACCEPT_LANGUAGE']; + if(empty($langs)){ + return ""; + } + $alangs=$this->getlanguages(); + foreach($alangs as $alang){ + $allowed_languages[]=$alang['short']; + } + $accepted_languages = preg_split('/,\s*/', $langs); + $current_q = 0; + $current_lang = ""; + foreach ($accepted_languages as $accepted_language) { + + $res = preg_match ('/^([a-z]{1,8}(?:-[a-z]{1,8})*)'.'(?:;\s*q=(0(?:\.[0-9]{1,3})?|1(?:\.0{1,3})?))?$/i', $accepted_language, $matches); + if (!$res) { + continue; + } + $lang_code = explode ('-', $matches[1]); + + if (isset($matches[2])) { + $lang_quality = (float)$matches[2]; + } else { + $lang_quality = 1.0; + } + + while (count ($lang_code)) { + if (in_array (strtolower (join ('-', $lang_code)), $allowed_languages)) { + if ($lang_quality > $current_q) { + $current_lang = strtolower (join ('-', $lang_code)); + $current_q = $lang_quality; + break; + } + } + array_pop ($lang_code); + } + } + return $current_lang; + } + + function setlang($lang): void + { + setcookie('bcwe_install_lang',$lang); + } + + function getlanguages(): array + { + $langdir = dirname(__FILE__).'/languages'; + $langs = opendir($langdir); + $langfile = array(); + $i=0; + while ($lang = readdir($langs)) { + if (preg_match('/^.*?\.lang.php$/', $lang)) { + $langfile[$i]['short']=substr($lang,0,2); + $langfile[$i]['name']=$this->langname[$langfile[$i]['short']]; + unset($lf); + $i++; + } + } + @closedir($langdir); + return($langfile); + } + + function _($string){ + if(isset($this->lf[$string])){ + return($this->lf[$string]); + }else{ + return($string); + } + } +} +class dump{ + var $db; + var $file; + var $commands = ''; + var $errors = ''; + + function __construct(& $db){ + $this->db = & $db; + } + + function read($dumpfile){ + $datei = fopen($dumpfile,'r'); + while (!feof($datei)){ + $this->file .= fgets($datei,filesize($dumpfile)); + } + fclose($datei); + } + + function prepare($prefix){ + if($prefix!='as_'){ + $this->file= preg_replace('/as_/',$prefix,$this->file); + } + $i=0; + $statements=array(); + + //HACK: We have ; in our Statements. This is to prevent String splitting there. + $this->file=str_replace(";\n",";~;\n",$this->file); + //Hack end + + $lines=explode("\n",$this->file); + $this->file=''; + $linecount= count($lines); + for ($i = 0; $i < count($lines); $i++){ + if ( $lines[$i][0] != '#' && substr($lines[$i],0,2) != '--'){ + $this->file.=stripslashes($lines[$i]); + } + } + $this->commands=explode(';~;',$this->file); + } + function execute(){ + foreach($this->commands as $c){ + $c=trim($c); + if($c!=''){ + $result=$this->db->query($c); + if(!$result){ + $this->errors[]=$this->db->error(); + } + } + } + } +} + +class install{ + var $t; + var $stepvalue=array('start'=>0,'license'=>1,'check'=>2,'database'=>3,'user'=>4,'finish'=>5); + var $chmod_list=array('../'=>'write','../inc'=>'notwrite','../inc/config.inc.php'=>'write','../modules'=>'write','../logs'=>'write'); + var $checkdir=array(); + var $dbas=array(); + var $version; + function __construct(& $lang){ + $this->version = 'unknown'; + $this->t = & $lang; + include dirname(__FILE__).'/assets/becastwebengine.ver'; + if (isset($ver)) { + $this->version=$ver; + } + } + + function checkchmod(){ + $status=true; + foreach ($this->chmod_list as $dir=>$status) { + if($status=='write'){ + @chmod($dir,0777); + }else{ + @chmod($dir,0555); + } + if (!is_writeable($dir)) { + if (!is_dir($dir) && !is_file($dir)){ + $dir_status=$this->t->_('na'); + $color='yellow'; + }else{ + $dir_status=$this->t->_('nichtbeschreibbar'); + if($status=='write'){ + $status=false; + $color='red'; + }else{ + $color='green'; + } + } + }else{ + $dir_status=$this->t->_('beschreibbar'); + if($status=='write'){ + $color='green'; + }else{ + $status=false; + $color='red'; + } + } + $this->checkdir[]=array('dir'=>$dir,'status'=>$dir_status,'color'=>$color); + } + return $status; + } + + function checkphp(){ + $status=true; + $version=version_compare(PHP_VERSION, '5.0.5', '>='); + $color='green'; + if(!$version){ + $status=false; + $color='red'; + } + $this->checkphp[]=array('name'=>'PHP','success'=>$color,'status'=>PHP_VERSION,'needed'=>'5.0.5'); + $gd = @gd_info(); + $color='green'; + if(!$gd){ + $success=FALSE; + $status=false; + $color='red'; + } + if($gd['GD Version']==''){ + $success=FALSE; + $status=$this->t->_('nichtinstalliert'); + $color='red'; + } + $success=version_compare($gd['GD Version'], '2', '>='); + if(!$success){ + $success=FALSE; + $color='red'; + } + $this->checkphp[]=array('name'=>'GD','success'=>$color,'status'=>$gd['GD Version'],'needed'=>'2.0.0'); + return $status; + } + + function getsupportetdbs(){ + $status=false; + if (class_exists('mysqli')) { + $status=true; + $dbas[]=array('short'=>'mysqli','name'=>'MySQLi'); + } + if (function_exists('mysql_connect')){ + $status=true; + $dbas[]=array('short'=>'mysql','name'=>'MySQL'); + } + $this->dbas=$dbas; + return $status; + } + + function generate_Key($length=8){ + $dummy = array_merge(range('0', '9'), range('a', 'z'), range('A', 'Z')); + mt_srand((double)microtime()*1000000); + for ($i = 1; $i <= (count($dummy)*2); $i++){ + $swap = mt_rand(0,count($dummy)-1); + $tmp = $dummy[$swap]; + $dummy[$swap] = $dummy[0]; + $dummy[0] = $tmp; + } + return substr(implode('',$dummy),0,$length); + } + + function header($step='start'){ + + $header=' + + + astat Installer + + + + + + +
+
'; + $header.=$this->navigation($step); + $header.='
+
+
+ +
'; + + echo $header; + } + + function navigation($active='start'){ + $nav['head']= ''; + return implode('', $nav); + } + + function step($step='start'){ + global $config; + switch($step){ + + case 'start': + if(isset($_POST['send'])){ + $this->t->setlang($_POST['language']); + header("Location: install.php?step=license"); + } + $options=''; + $languages=$this->t->getlanguages(); + foreach($languages as $lang){ + $options.=''; + } + $data='

'.$this->t->_('Wilkommen').'

+

'.$this->t->_('WilkommenText1').'

+

'.$this->t->_('Waehledeinesprache').'

+
+ +
+ +
+
'; + break; + + case 'license': + if(isset($_POST['back'])){ + header("Location: install.php?step=start"); + } + if(isset($_POST['send'])){ + if($_POST['accept']!=1){ + $err= '

'.$this->t->_('FehlerAkzeptieren').'

'; + }else{ + header("Location: install.php?step=check"); + } + } + $datei = fopen(dirname(__FILE__).'/license/gpl2.txt','r'); + $license=''; + while (!feof($datei)){ + $license .= fgets($datei,1024); + } + fclose($datei); + + $data='

'.$this->t->_('Lizenz').'

+

'.$this->t->_('LizenzText').'

+ '.$err.' +
'.$license.'
+
+

'.$this->t->_('Akzeptieren').'

+
+ +
+
'; + break; + + case 'check': + $globcheck=true; + $dircheck=$this->checkchmod(); + if($dircheck){ + $dirs='
'.$this->t->_('dateiok'); + }else{ + $globcheck=false; + $dirs='
'.$this->t->_('dateinichtok'); + } + $dirs.=''; + foreach($this->checkdir as $dir){ + $dirs.=''; + } + $dirs.='
'.$this->t->_('Verzeichnis').''.$this->t->_('Ergebnis').'
'.$dir['dir'].'................'.$dir['status'].'
'; + $phpcheck=$this->checkphp(); + if($phpcheck){ + $php='
'.$this->t->_('phpok'); + }else{ + $globcheck=false; + $php='
'.$this->t->_('phpnichtok'); + } + $php.=''; + foreach($this->checkphp as $p){ + $php.=''; + } + $php.='
'.$this->t->_('Komponente').''.$this->t->_('benVersion').''.$this->t->_('instVersion').'
'.$p['name'].''.$p['needed'].''.$p['status'].'
'; + $dbcheck=$this->getsupportetdbs(); + if($dbcheck){ + $dbs='
'.$this->t->_('dbsok'); + }else{ + $globcheck=false; + $dbs='
'.$this->t->_('dbsnichtok'); + } + foreach($this->dbas as $d){ + if(!$dbas) + $dbas=$d['name']; + else + $dbas.=' ,'.$d['name']; + } + if($dbas==''){ + $dbas=$this->t->_('keine'); + } + $dbs.='
'.$this->t->_('installiertedbs').': '.$dbas.'
'; + if(isset($_POST['back'])){ + header("Location: install.php?step=license"); + } + if(isset($_POST['send'])){ + if(!$globcheck){ + $err= '
'.$this->t->_('Fehlererstloesen').'
'; + }else{ + header("Location: install.php?step=database"); + } + } + + $data='

'.$this->t->_('Pruefung').'

+

'.$this->t->_('PruefungText').'

'.$err.'

'; + if($globcheck){ + $data.='

'.$this->t->_('CheckOK').'

'; + }else{ + $data.='

'.$this->t->_('ChecknichtOK').'

'; + $locked='disabled="disabled"'; + } + $data.='

'.$dirs.'

+

'.$php.'

+

'.$dbs.'

+
+
+ +
+
'; + break; + + case 'database': + $locked='disabled="disabled"'; + if(isset($_POST['back'])){ + @unlink(dirname(dirname(__FILE__)).'/config.tmp.php'); + header("Location: install.php?step=check"); + } + if(isset($_POST['test'])){ + $error=false; + $user=$_POST['dbuser']; + $pass=$_POST['dbpass']; + $db=$_POST['db']; + $server=$_POST['dbserv']; + $prefix=$_POST['dbprefix']; + $driver=$_POST['dbdriver']; + $pdata=$_POST; + $configdata=''; + include dirname(dirname(__FILE__)).'/inc/logger.class.php'; + include dirname(dirname(__FILE__)).'/core/database/'.$driver.'.class.php'; + try{ + $db = new db($server, $user, $pass, $db,'utf8', FALSE,TRUE); + $result=$db->query("SHOW TABLES"); + }catch(Exception $e){ + $error=true; + } + if(!$error){ + $datei = fopen(dirname(dirname(__FILE__)).'/config.tmp.php','w'); + fputs($datei,$configdata); + fclose($datei); + $locked=''; + $err='

'.$this->t->_('Installationwarten').'

'; + }else{ + $err='

'.$this->t->_('FalscheDaten').'

'; + } + } + if(isset($_POST['send'])){ + include dirname(dirname(__FILE__)).'/inc/logger.class.php'; + include dirname(dirname(__FILE__)).'/config.tmp.php'; + include dirname(dirname(__FILE__)).'/core/database/'.$config['db_class'].'.class.php'; + + $configdata=' + * @package BcWe core + * @license http://opensource.org/licenses/gpl-license.php GNU Public License +*/ +/* +This file was created by the Installer. Don\'t touch it unless you have a very good reason to do so. +*/ +if(!defined("in_astat")){ + die(); +} +// your Database Server (most likely localhost) +$config[\'host\'] = \''.$config['host'].'\'; +// your Database Username +$config[\'user\'] = \''.$config['user'].'\'; +// your Database Password +$config[\'pass\'] = \''.$config['pass'].'\'; +// your Database +$config[\'db\'] = \''.$config['db'].'\'; +// your Database Prefix +$config[\'prefix\']=\''.$config['prefix'].'\'; +// your Database Sytem +$config[\'db_class\']= \''.$config['db_class'].'\'; + +define(\'INSTALLED\', TRUE); +define(\'CHARSET\', \'UTF-8\'); +define(\'DEBUG\', FALSE); +?>'; + $datei = fopen(dirname(dirname(__FILE__)).'/inc/config.inc.php','w+'); + fputs($datei,$configdata); + fclose($datei); + $db = new db($config['host'], $config['user'], $config['pass'], $config['db'],'utf8', FALSE,TRUE); + $dump = new dump($db); + $dump->read(dirname(__FILE__).'/sql/dump.sql'); + $dump->prepare($config['prefix']); + $dump->execute(); + $pdata=$_POST; + @unlink(dirname(dirname(__FILE__)).'/config.tmp.php'); + header("Location: install.php?step=user"); + } + if($pdata['dbprefix']==''){ + $pdata['dbprefix']='as_'; + } + if($pdata['dbserv']==''){ + $pdata['dbserv']='localhost'; + } + $this->getsupportetdbs(); + foreach($this->dbas as $driver){ + if($pdata['dbdriver']==$driver['short']){ + $select='selected="selected"'; + } + $drv.=''; + } + $data='

'.$this->t->_('Datenbank').'

+

'.$this->t->_('DatenbankText').'

+ '.$err.' +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
'; + break; + + case 'user': + if(isset($_POST['back'])){ + header("Location: install.php?step=database"); + } + if(isset($_POST['send'])){ + $err=false; + if($_POST['pass']!=$_POST['passrepeat']){ + $err.='

'.$this->t->_('Passwoerterfalsch').'

'; + } + if(!preg_match("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $_POST['email'])){ + $err.='

'.$this->t->_('Emailinkorrekt').'

'; + } + if(!$err){ + define('in_astat',TRUE); + include dirname(dirname(__FILE__)).'/inc/logger.class.php'; + include dirname(dirname(__FILE__)).'/inc/config.inc.php'; + include dirname(dirname(__FILE__)).'/core/database/'.$config['db_class'].'.class.php'; + $db = new db($config['host'], $config['user'], $config['pass'], $config['db'],'utf8', FALSE,TRUE); + $pass=hash('sha256',$db->escape($_POST['pass'])); + $key=$this->generate_Key(50); + $active=1; + $username=$db->escape($_POST['user']); + $email=$db->escape($_POST['email']); + $db->query("INSERT INTO `" . $config['prefix'] . "users` (`username`,`password`,`loginkey`,`email`,`active`,`since`,`role`) VALUES ('".$username."','".$pass."', '".$key."', '".$email."', '".$active."','".time()."','2')"); + header("Location: install.php?step=finish"); + }else{ + $pdata=$_POST; + } + } + $data='

'.$this->t->_('Benutzer').'

+

'.$this->t->_('BenutzerText').'

+ '.$err.' +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
'; + break; + + case 'finish': + $fopen=true; + $test=fopen('http://astat.org/install.php?test', 'r'); + $testecho= fgets($test,1024); + fclose($test); + if($testecho!="Success"){ + $fopen=false; + } + $server='Server: '.$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']; + $astat_version='astat version: '.$this->version; + $timestamp='Timestamp: '.time(); + $sendkey=base64_encode($_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'].'|'.$this->version.'|'.time()); + if(isset($_POST['back'])){ + header("Location: install.php?step=user"); + } + if(isset($_POST['send'])){ + if($_POST['accept']!=1){ + $key=fopen('http://astat.org/install.php?install='.$sendkey, 'r'); + $ikey= fgets($key,1024); + fclose($key); + define('in_astat',TRUE); + include dirname(dirname(__FILE__)).'/inc/logger.class.php'; + include dirname(dirname(__FILE__)).'/inc/config.inc.php'; + include dirname(dirname(__FILE__)).'/core/database/'.$config['db_class'].'.class.php'; + $db = new db($config['host'], $config['user'], $config['pass'], $config['db'],'utf8', FALSE,TRUE); + $db->query("INSERT INTO `" . $config['prefix'] . "datacache` (`cache`,`content`,`expire`) VALUES ('installkey','".$ikey."','0')'"); + } + header("Location: ../index.php"); + } + if($fopen){ + $fp='

'.$this->t->_('Installationsbenachrichtigung').'
'.$this->t->_('DieseDaten').'
+
    +
  • '.$server.'
  • +
  • '.$astat_version.'
  • +
  • '.$timestamp.'
  • +
+ '.$this->t->_('Danke').' +

'; + $cb='

'.$this->t->_('Datensenden').'

'; + } + $data='

'.$this->t->_('Abschluss').'

+

'.$this->t->_('AbschlussText').'

+ '.$fp.' +
+ '.$cb.' + +
+
'; + break; + + } + echo $this->header($step); + echo $data; + } + + function footer(){ + echo '
+
+
+
+ Original Theme: v2.0.0 © HN MMVII +
+
+ + +'; + } + +} + +$lang = new lang(); +$install = new install($lang); +$step = $_GET['step']; +if(!$step || $step==''){ + $step='start'; +} +$install->step($step); +$install->footer(); + +?> diff --git a/install/languages/de.lang.php b/install/languages/de.lang.php new file mode 100755 index 0000000..511a965 --- /dev/null +++ b/install/languages/de.lang.php @@ -0,0 +1,56 @@ +'; + $lf['Testen']='Testen'; + $lf['Erneut']='Aktualisieren'; + $lf['Zurueck']='<- Zurück'; + $lf['WilkommenText1']='Dieser Installer führt Sie durch die Installation von astat.'; + $lf['Waehledeinesprache']='Bitte wähle deine Sprache und klicke "Weiter ->" um fortzufahren.'; + $lf['LizenzText']='Sie müssen die GPL Lizenz akzeptieren um diese Software verwenden zu können.'; + $lf['Akzeptieren']='Ich bestätige die Bedingungen der GPL gelesen, verstanden und akzeptiert zu haben.'; + $lf['FehlerAkzeptieren']='Fehler: Sie müssen die Lizenz akzeptieren!'; + $lf['PruefungText']='Der Installer prüft nun ob Ihr Server den Anforderungen entspricht.'; + $lf['beschreibbar']='beschreibbar'; + $lf['nichtbeschreibbar']='nicht beschreibbar'; + $lf['na']='N/A'; + $lf['dateiok']='Die Verzeichnisse und Dateien haben die korrekten CHMOD-Einstellungen'; + $lf['dateinichtok']='Die Verzeichnisse und Dateien haben nicht die erforderlichen CHMOD-Einstellungen. Bitte korrigieren sie diese mit ihrem FTP Programm.'; + $lf['Verzeichnis']='Verzeichnis'; + $lf['Ergebnis']='Ergebnis'; + $lf['Komponente']='Komponente'; + $lf['instVersion']='installiert'; + $lf['benVersion']='benötigt'; + $lf['phpok']='Ihre Komponentenversionen erfüllen die Anforderungen der Software.'; + $lf['phpnichtok']='Ihre Komponentenversionen erfüllen die Anforderungen der Software nicht. Bitten Sie Ihren Provider um Hilfe oder führen sie ein Systemupdate/-upgrade durch.'; + $lf['dbsok']='Sie haben einen oder mehrere kompatible Datenbanktreiber installiert.'; + $lf['dbsnichtok']='Sie haben keinen kompatiblen Datenbanktreiber installiert. Bitten Sie Ihren Provider um Hilfe oder installieren Sie einen kompatiblen Datenbanktreiber.'; + $lf['installiertedbs']='Installierte Datenbanktreiber'; + $lf['keine']='keine'; + $lf['CheckOK']='Herzlichen Glückwunsch. Ihr Server erfüllt alle Anforderungen.'; + $lf['ChecknichtOK']='Eine oder mehrere Prüfungen sind fehlgeschlagen. Bitte beheben Sie die angezeigten Fehler und klicken sie auf "Aktualisieren".'; + $lf['Fehlererstloesen']='Bitte lösen sie erst die unten angezeigten Fehler!'; + $lf['DatenbankText']='Bitte geben Sie nun die erforderlichen Datenbankinformationen an. In der Regel erhalten Sie diese von Ihrem Webhoster.'; + $lf['Installationwarten']='Ihre Daten sind richtig. Wenn sie auf "Weiter ->" klicken wird der Installer die Datenbank anlegen. Dies dauert einen Augenblick. Bitte klicken Sie den Button nur einmal und schließen sie den Browser nicht!'; + $lf['FalscheDaten']='Ihre Daten sind nicht korrekt. Bitte prüfen Sie Ihre Angaben.'; + $lf['BenutzerText']='Nun wird das Setup einen Adminbenutzer für sie anlegen.'; + $lf['Benutzername']='Benutzername'; + $lf['Passwort']='Passwort'; + $lf['PasswortWiederholen']='Passwort wiederholen'; + $lf['EMail']='E-Mailadresse'; + $lf['Passwoerterfalsch']='Die Passwörter stimmen nicht überein!'; + $lf['Emailinkorrekt']='Die E-Mailadresse scheint ungütig zu sein.'; + $lf['AbschlussText']='Gratulation! Das Setup ist erfolgreich abgeschlossen.'; + $lf['Installationsbenachrichtigung']='Sie können nun zu Statistikzwecken Ihre Installation an uns bekanntgeben..'; + $lf['DieseDaten']='Diese Daten sind im Bericht an uns verschlüsselt enthalten:'; + $lf['Danke']='Sie helfen uns damit einen groben Überblick über die astat-Installationen und Versionen zu haben. Sollten sie das nicht wüschen klicken sie einfach auf "Fertigstellen".'; + $lf['Datensenden']='Ich bin mit dem einmaligen verschlüsseltem Versenden der o.a. Daten einverstanden.'; + $lf['Fertig']='Fertigstellen'; +?> \ No newline at end of file diff --git a/install/languages/en.lang.php b/install/languages/en.lang.php new file mode 100755 index 0000000..443b707 --- /dev/null +++ b/install/languages/en.lang.php @@ -0,0 +1,24 @@ +'; + $lf['Testen']='Test'; + $lf['Erneut']='Refresh'; + $lf['Zurueck']='<- Back'; + $lf['Wilkommen']='Welcome'; + $lf['WilkommenText1']='This Installer will guide you through the Installation of astat.'; + $lf['Waehledeinesprache']='Please choose your language and click "Next ->" to continue.'; + $lf['LizenzText']='You must accept the Terms of the GPL in order to use this Software.'; + $lf['Akzeptieren']='I confirm that I read, understand and accepted the Terms of the GPL.'; + $lf['FehlerAkzeptieren']='Error: You have to accept the Terms of the GPL!'; + $lf['PruefungText']='The Installer now checks if your Server fulfills the requirements to run astat.'; + $lf['beschreibbar']='writeable'; + $lf['nichtbeschreibbar']='not writeable'; + $lf['na']='N/A'; +?> \ No newline at end of file diff --git a/install/license/gpl2.txt b/install/license/gpl2.txt new file mode 100755 index 0000000..d511905 --- /dev/null +++ b/install/license/gpl2.txt @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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. + + 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. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/install/sql/dump.sql b/install/sql/dump.sql new file mode 100755 index 0000000..9cf42f9 --- /dev/null +++ b/install/sql/dump.sql @@ -0,0 +1,315 @@ +-- phpMyAdmin SQL Dump +-- version 3.2.1 +-- http://www.phpmyadmin.net +-- +-- Host: localhost:3306 +-- Erstellungszeit: 11. Oktober 2009 um 23:46 +-- Server Version: 5.0.51 +-- PHP-Version: 5.2.4-2ubuntu5.7 + +SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; + +-- +-- Datenbank: `astat` +-- + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `as_config` +-- + +DROP TABLE IF EXISTS `as_config`; +CREATE TABLE IF NOT EXISTS `as_config` ( + `id` int(11) NOT NULL auto_increment, + `name` varchar(100) NOT NULL, + `value` varchar(150) NOT NULL, + `title` varchar(120) NOT NULL, + `description` text NOT NULL, + `option` varchar(120) NOT NULL default '', + `category` int(11) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Daten für Tabelle `as_config` +-- + +INSERT INTO `as_config` (`name`, `value`, `title`, `description`, `option`, `category`) VALUES +('path', '', 'Pfad', 'Der Pfad auf ihrem Webserver z.b. /cms', 'text', 1), +('lang', 'en', 'Language', 'The standard language of the Installation.', 'language', 1), +('logtype', 'file', 'Loggingtyp', 'Legt fest wohin das Logging (sofern aktiviert) erfolgt. Entweder in die Datenbank oder in eine Textdatei.', 'select(Datei|file;Datenbank|SQL;Syslog|syslog)', 1), +('logfile', 'logfile.log', 'Name des Logfiles', 'Der Name des Logfiles. Wird nur benötigt falls in eine Datei geloggt wird.', 'text', 1), +('loglevel', '7', 'Loglevel', 'Die Menge der Information die geloggt werden soll', 'select(Nur Fehler|1;Fehler und Hinweise|2;DEBUG|7)', 1), +('sitetitle', 'astat', 'Seitenname', 'Der Name ihrer Webseite', 'text', 1), +('caching', '0', 'Caching', 'Caching einschalten', 'onoff', 1), +('LCLANG', 'de_DE', 'Sprache', 'Eine Systemsprache die für das Darstellen des Datums verwendet werden soll.', 'text', 1), +('cookiename', 'astat', 'Name des Cookies', 'Eindeutiger Name des Cookies', 'text', 1), +('theme', 'astat', 'Seitentheme', 'Das Thema der Seite', 'text', 1), +('firephp', '1', 'Benutze FirePHP', 'Soll FirePHP Benutzt werden?', 'yesno', 1), +('startmodule', '', 'Startmodul', 'Das Modul das aufgerufen werden soll wenn keine Seite angegeben wird.', 'text', 1), +('startmodulesub', '', 'Startmodulfunktion', 'Die Funktion im Modul welche aufgerufen werden soll wenn keine Seite angegeben wird.', 'text', 1), +('logging', '1', 'Logging', 'Logging ein oder Ausschalten', 'onoff', 1), +('siteemail', 'noreply@example.com', 'E-Mail Adresse', 'Von dieser E-Mailadresse aus werden alle Mails gesendet. Meist etwas wie noreply@example.com', 'text', 1), +('maintenance', '0', 'Wartungsmodus', 'Seite in den Wartungsmodus schalten.', 'onoff', 2), +('maintenance_message', 'System-Upgrade', 'Wartungsnachricht', 'Eine Nachricht die den Besuchern im Wartungsmodus gezeigt wird', 'textarea', 2), +('domain', '', 'Domain', 'Die Domain der Webseite', 'text', 1), +('captcha', '1', 'Captcha benutzen', 'Sollen die Benutzer bei der Registrierung und bei Passwort vergessen ein Captcha ausfüllen müssen?', 'yesno', 3), +('activation', 'mail', 'Accountaktivierung', 'Wie sollen die Benutzeraccounts aktiviert werden?', 'select(Freischaltung per Mail|mail;sofortige Freischaltung|instant)', 3), +('registring', '1', 'Registrierung ausschalten', 'Hiermit kann Neuregistrierungen durch User abschalten.', 'onoff', 3), +('p3p_active', '1', 'Benutze P3P?', 'Soll P3P benutzt werden?', 'yesno', 1), +('p3p_string', 'CUR ADM OUR NOR STA NID', 'P3P Richtlinien', 'Die Kurzform der P3P Richtlinien', 'text', 1), +('use_openid', '0', 'OpenID benutzen', 'Sollen die OpenID Funktionen aktiviert werden?', 'onoff', 4); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `as_config_categorys` +-- + +DROP TABLE IF EXISTS `as_config_categorys`; +CREATE TABLE IF NOT EXISTS `as_config_categorys` ( + `cid` int(11) NOT NULL auto_increment, + `categoryname` varchar(200) NOT NULL, + PRIMARY KEY (`cid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Daten für Tabelle `as_config_categorys` +-- + +INSERT INTO `as_config_categorys` (`cid`, `categoryname`) VALUES +(1, 'Allgemein'), +(2, 'Wartungsmodus'), +(3, 'Registrierung'), +(4, 'OpenID'); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `as_logs` +-- + +DROP TABLE IF EXISTS `as_logs`; +CREATE TABLE IF NOT EXISTS `as_logs` ( + `date` varchar(35) NOT NULL, + `time` varchar(30) NOT NULL, + `ip` varchar(35) NOT NULL, + `file` varchar(150) NOT NULL, + `line` varchar(10) NOT NULL, + `text` text NOT NULL, + KEY `ip` (`ip`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Daten für Tabelle `as_logs` +-- + + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `as_module` +-- + +DROP TABLE IF EXISTS `as_module`; +CREATE TABLE IF NOT EXISTS `as_module` ( + `file` varchar(40) NOT NULL, + `name` varchar(80) NOT NULL, + `author` varchar(70) NOT NULL, + `version` varchar(6) NOT NULL, + `depends` text NOT NULL, + `url` varchar(70) NOT NULL, + KEY `file` (`file`,`name`,`version`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Daten für Tabelle `as_module` +-- + + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `as_navigation` +-- + +DROP TABLE IF EXISTS `as_navigation`; +CREATE TABLE IF NOT EXISTS `as_navigation` ( + `id` int(11) NOT NULL auto_increment, + `sort` mediumint(9) NOT NULL default '0', + `side` char(2) NOT NULL default '', + `name` varchar(70) NOT NULL default '', + `content` text NOT NULL, + `file` varchar(80) NOT NULL default '', + `valid` enum('F','E') NOT NULL, + PRIMARY KEY (`id`), + KEY `sort` (`sort`), + KEY `side` (`side`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC; + +-- +-- Daten für Tabelle `as_navigation` +-- + +INSERT INTO `as_navigation` (`id`, `sort`, `side`, `name`, `content`, `file`, `valid`) VALUES +(1, 0, 'l', 'Menü', 'Home
', '', 'F'), +(2, 0, 'r', 'Login', '', 'login', 'F'), +(5, 0, 'm', 'Starttext', '

astat ist simpel

\\r\\n\\r\\nastat\\r\\n\\r\\n

astat ist durch sein schlichtes Adminmenü leicht zu verwalten.

Dabei setzt astat auf Webtechnolgien wie AJAX um eine intuitive Bedienung zu ermöglichen.

Die klare Trennung von Code und Templates macht das anpassen des Designs einfach.

\\r\\n

Module erweitern die Leistungsfähigkeit auf Knopfdruck.

\\r\\n

astat ist modular

\\r\\n\\r\\nastat\\r\\n\\r\\n

astat kann einfach über Module erweitert werden. Egal ob sie eine Community oder einen Blog betreiben. astat wird mit Modulen aus dem Repository zu allem was sie wollen.

\\r\\n

Die Installation der Module ist mit einem Klick erledigt.

\\r\\n

Nahezu alles kann ohne Änderung am PHP Code selbst realisiert werden. Z.B.: Anbindung eines Forums mit single-sign-on. Dadurch werden Updates kinderleicht.

\\r\\n

astat ist Kostenlos

\\r\\n\\r\\nastat\\r\\n\\r\\n

Was haben die Liebe, Freibier und Sonnenschein gemeinsam?

\\r\\n

Genau, sie sind kostenlos.

\\r\\n

Und wie alle anderen wirklich guten Dinge ist auch astat kostenlos.

\\r\\n

Noch Fragen? Kontaktieren Sie uns unter team@astat.org

', '', 'F'), +(6, 1, 'm', 'maincontent', '', '', 'E'); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `as_role` +-- + +DROP TABLE IF EXISTS `as_role`; +CREATE TABLE IF NOT EXISTS `as_role` ( + `id` int(11) NOT NULL auto_increment, + `role_name` varchar(150) NOT NULL, + `special_group` tinyint(4) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC; + +-- +-- Daten für Tabelle `as_role` +-- + +INSERT INTO `as_role` (`id`, `role_name`, `special_group`) VALUES +(1, 'User', 1), +(2, 'Admin', 1); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `as_roleset` +-- + +DROP TABLE IF EXISTS `as_roleset`; +CREATE TABLE IF NOT EXISTS `as_roleset` ( + `role_id` int(11) NOT NULL, + `role_value_id` int(11) NOT NULL, + `value` varchar(20) NOT NULL, + KEY `role_id` (`role_id`,`role_value_id`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Daten für Tabelle `as_roleset` +-- + +INSERT INTO `as_roleset` (`role_id`, `role_value_id`, `value`) VALUES +(2, 10, '1'), +(2, 9, '1'), +(2, 8, '1'), +(2, 7, '1'), +(2, 6, '1'), +(2, 5, '1'), +(2, 4, '1'), +(2, 3, '1'), +(2, 2, '1'), +(2, 1, '1'); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `as_role_values` +-- + +DROP TABLE IF EXISTS `as_role_values`; +CREATE TABLE IF NOT EXISTS `as_role_values` ( + `id` int(11) NOT NULL auto_increment, + `name` varchar(25) NOT NULL, + `text` varchar(80) NOT NULL, + `type` varchar(255) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Daten für Tabelle `as_role_values` +-- + +INSERT INTO `as_role_values` (`name`, `text`, `type`) VALUES +('is_admin', 'Hat Adminrechte', 'yesno'), +('admin_cp', 'Kann das Admincenter betreten', 'yesno'), +('editgroup_admin', 'Benutzergruppen editieren', 'yesno'), +('addgroup_admin', 'Benutzergruppe hinzufügen', 'yesno'), +('config_admin', 'Einstellungen bearbeiten', 'yesno'), +('module_admin', 'Modulverwaltung', 'yesno'), +('navigation_admin', 'Navigationsverwaltung', 'yesno'), +('adduser_admin', 'User hinzufügen', 'yesno'), +('editusers_admin', 'User editieren', 'yesno'); +('versions_admin', 'Versionskontrolle', 'yesno'); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `as_sessions` +-- + +DROP TABLE IF EXISTS `as_sessions`; +CREATE TABLE IF NOT EXISTS `as_sessions` ( + `sid` varchar(32) NOT NULL default '', + `uid` int(10) unsigned NOT NULL default '0', + `ip` varchar(40) NOT NULL default '', + `time` bigint(30) NOT NULL default '0', + `location` varchar(150) NOT NULL default '', + `useragent` varchar(100) NOT NULL default '', + `anonymous` int(1) NOT NULL default '0', + `nopermission` int(1) NOT NULL default '0', + PRIMARY KEY (`sid`), + KEY `time` (`time`), + KEY `uid` (`uid`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +-- +-- Daten für Tabelle `as_sessions` +-- + + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `as_users` +-- + +DROP TABLE IF EXISTS `as_users`; +CREATE TABLE IF NOT EXISTS `as_users` ( + `uid` int(11) NOT NULL auto_increment, + `username` varchar(50) NOT NULL, + `realname` varchar(120) NOT NULL, + `openid_identity` varchar(255) NOT NULL, + `password` varchar(64) NOT NULL, + `loginkey` varchar(50) NOT NULL, + `role` int(11) NOT NULL default '1', + `email` varchar(60) NOT NULL default '', + `homepage` varchar(60) NOT NULL default '', + `icq` varchar(11) NOT NULL, + `aim` varchar(25) NOT NULL default '', + `skype` varchar(25) NOT NULL, + `from` varchar(100) NOT NULL, + `bio` text NOT NULL, + `since` int(11) NOT NULL, + `gender` enum('m','f','u') NOT NULL, + `birthday` int(11) NOT NULL, + `active` tinyint(1) NOT NULL, + `theme` int(11) NOT NULL, + `lang` varchar(3) NOT NULL default '', + `lastvisit` int(11) NOT NULL default '0', + PRIMARY KEY (`uid`), + KEY `openid_identity` (`openid_identity`), + KEY `loginkey` (`loginkey`), + KEY `username` (`username`), + KEY `password` (`password`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 PACK_KEYS=0 ROW_FORMAT=DYNAMIC; + +-- +-- Tabellenstruktur für Tabelle `as_datacache` +-- + +CREATE TABLE IF NOT EXISTS `as_datacache` ( + `cache` varchar(30) NOT NULL, + `content` text NOT NULL, + `expire` int(13) NOT NULL, + KEY `cache` (`cache`,`expire`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; diff --git a/install/style/ie6_diff.css b/install/style/ie6_diff.css new file mode 100755 index 0000000..f13d191 --- /dev/null +++ b/install/style/ie6_diff.css @@ -0,0 +1,8 @@ +div.navigation { +margin-bottom:-17px; +margin-left:43px; +} + +div.navigation li a,div.navigation li a:visited,div.navigation li span { +padding:5px 11px 6px 16px; +} \ No newline at end of file diff --git a/install/style/ie7_diff.css b/install/style/ie7_diff.css new file mode 100755 index 0000000..e7c0872 --- /dev/null +++ b/install/style/ie7_diff.css @@ -0,0 +1,4 @@ +div.navigation { +margin-bottom:-17px; +margin-left:83px; +} \ No newline at end of file diff --git a/install/style/images/.svn/all-wcprops b/install/style/images/.svn/all-wcprops new file mode 100755 index 0000000..af4e744 --- /dev/null +++ b/install/style/images/.svn/all-wcprops @@ -0,0 +1,35 @@ +K 25 +svn:wc:ra_dav:version-url +V 46 +/astat/!svn/ver/115/trunk/install/style/images +END +love.png +K 25 +svn:wc:ra_dav:version-url +V 55 +/astat/!svn/ver/115/trunk/install/style/images/love.png +END +warning.png +K 25 +svn:wc:ra_dav:version-url +V 58 +/astat/!svn/ver/107/trunk/install/style/images/warning.png +END +error.png +K 25 +svn:wc:ra_dav:version-url +V 56 +/astat/!svn/ver/107/trunk/install/style/images/error.png +END +ok.png +K 25 +svn:wc:ra_dav:version-url +V 53 +/astat/!svn/ver/107/trunk/install/style/images/ok.png +END +navigation_button.png +K 25 +svn:wc:ra_dav:version-url +V 68 +/astat/!svn/ver/107/trunk/install/style/images/navigation_button.png +END diff --git a/install/style/images/.svn/entries b/install/style/images/.svn/entries new file mode 100755 index 0000000..12da768 --- /dev/null +++ b/install/style/images/.svn/entries @@ -0,0 +1,201 @@ +10 + +dir +149 +http://svn.becast.at/astat/trunk/install/style/images +http://svn.becast.at/astat + + + +2010-02-21T16:39:51.524123Z +115 +genuineparts + + + + + + + + + + + + + + +bb7ccd2a-c66b-0410-9765-967ca6f03dfc + +enclosure +dir + +love.png +file + + + + +2012-03-27T20:06:47.000000Z +b81e561bd190d44a041081a9689b232e +2010-02-21T16:39:51.524123Z +115 +genuineparts +has-props + + + + + + + + + + + + + + + + + + + + +1570 + +warning.png +file + + + + +2012-03-27T20:06:47.000000Z +0c8303204f34425f3f03415383dad2f1 +2010-02-20T22:00:37.310330Z +107 +genuineparts +has-props + + + + + + + + + + + + + + + + + + + + +1788 + +error.png +file + + + + +2012-03-27T20:06:47.000000Z +7bf09485b94e9a1fab9af0a71083b6d4 +2010-02-20T22:00:37.310330Z +107 +genuineparts +has-props + + + + + + + + + + + + + + + + + + + + +1645 + +ok.png +file + + + + +2012-03-27T20:06:47.000000Z +959e562ff16f14b873297b08184de3c7 +2010-02-20T22:00:37.310330Z +107 +genuineparts +has-props + + + + + + + + + + + + + + + + + + + + +1644 + +navigation_button.png +file + + + + +2012-03-27T20:06:47.000000Z +a054f6201bcac789f226f6e2d6a19beb +2010-02-20T22:00:37.310330Z +107 +genuineparts +has-props + + + + + + + + + + + + + + + + + + + + +1415 + diff --git a/install/style/images/.svn/prop-base/error.png.svn-base b/install/style/images/.svn/prop-base/error.png.svn-base new file mode 100755 index 0000000..5e9587e --- /dev/null +++ b/install/style/images/.svn/prop-base/error.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/install/style/images/.svn/prop-base/love.png.svn-base b/install/style/images/.svn/prop-base/love.png.svn-base new file mode 100755 index 0000000..5e9587e --- /dev/null +++ b/install/style/images/.svn/prop-base/love.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/install/style/images/.svn/prop-base/navigation_button.png.svn-base b/install/style/images/.svn/prop-base/navigation_button.png.svn-base new file mode 100755 index 0000000..5e9587e --- /dev/null +++ b/install/style/images/.svn/prop-base/navigation_button.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/install/style/images/.svn/prop-base/ok.png.svn-base b/install/style/images/.svn/prop-base/ok.png.svn-base new file mode 100755 index 0000000..5e9587e --- /dev/null +++ b/install/style/images/.svn/prop-base/ok.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/install/style/images/.svn/prop-base/warning.png.svn-base b/install/style/images/.svn/prop-base/warning.png.svn-base new file mode 100755 index 0000000..5e9587e --- /dev/null +++ b/install/style/images/.svn/prop-base/warning.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/install/style/images/.svn/text-base/error.png.svn-base b/install/style/images/.svn/text-base/error.png.svn-base new file mode 100755 index 0000000..cdd95ba Binary files /dev/null and b/install/style/images/.svn/text-base/error.png.svn-base differ diff --git a/install/style/images/.svn/text-base/love.png.svn-base b/install/style/images/.svn/text-base/love.png.svn-base new file mode 100755 index 0000000..0cadc02 Binary files /dev/null and b/install/style/images/.svn/text-base/love.png.svn-base differ diff --git a/install/style/images/.svn/text-base/navigation_button.png.svn-base b/install/style/images/.svn/text-base/navigation_button.png.svn-base new file mode 100755 index 0000000..742db53 Binary files /dev/null and b/install/style/images/.svn/text-base/navigation_button.png.svn-base differ diff --git a/install/style/images/.svn/text-base/ok.png.svn-base b/install/style/images/.svn/text-base/ok.png.svn-base new file mode 100755 index 0000000..fe69b58 Binary files /dev/null and b/install/style/images/.svn/text-base/ok.png.svn-base differ diff --git a/install/style/images/.svn/text-base/warning.png.svn-base b/install/style/images/.svn/text-base/warning.png.svn-base new file mode 100755 index 0000000..4bd8367 Binary files /dev/null and b/install/style/images/.svn/text-base/warning.png.svn-base differ diff --git a/install/style/images/enclosure/.svn/all-wcprops b/install/style/images/enclosure/.svn/all-wcprops new file mode 100755 index 0000000..db76621 --- /dev/null +++ b/install/style/images/enclosure/.svn/all-wcprops @@ -0,0 +1,53 @@ +K 25 +svn:wc:ra_dav:version-url +V 56 +/astat/!svn/ver/107/trunk/install/style/images/enclosure +END +top_left.png +K 25 +svn:wc:ra_dav:version-url +V 69 +/astat/!svn/ver/107/trunk/install/style/images/enclosure/top_left.png +END +right.png +K 25 +svn:wc:ra_dav:version-url +V 66 +/astat/!svn/ver/107/trunk/install/style/images/enclosure/right.png +END +bottom_left.png +K 25 +svn:wc:ra_dav:version-url +V 72 +/astat/!svn/ver/107/trunk/install/style/images/enclosure/bottom_left.png +END +top_right.png +K 25 +svn:wc:ra_dav:version-url +V 70 +/astat/!svn/ver/107/trunk/install/style/images/enclosure/top_right.png +END +bottom_right.png +K 25 +svn:wc:ra_dav:version-url +V 73 +/astat/!svn/ver/107/trunk/install/style/images/enclosure/bottom_right.png +END +top.png +K 25 +svn:wc:ra_dav:version-url +V 64 +/astat/!svn/ver/107/trunk/install/style/images/enclosure/top.png +END +bottom.png +K 25 +svn:wc:ra_dav:version-url +V 67 +/astat/!svn/ver/107/trunk/install/style/images/enclosure/bottom.png +END +left.png +K 25 +svn:wc:ra_dav:version-url +V 65 +/astat/!svn/ver/107/trunk/install/style/images/enclosure/left.png +END diff --git a/install/style/images/enclosure/.svn/entries b/install/style/images/enclosure/.svn/entries new file mode 100755 index 0000000..119610d --- /dev/null +++ b/install/style/images/enclosure/.svn/entries @@ -0,0 +1,300 @@ +10 + +dir +149 +http://svn.becast.at/astat/trunk/install/style/images/enclosure +http://svn.becast.at/astat + + + +2010-02-20T22:00:37.310330Z +107 +genuineparts + + + + + + + + + + + + + + +bb7ccd2a-c66b-0410-9765-967ca6f03dfc + +top_left.png +file + + + + +2012-03-27T20:06:47.000000Z +84c869dc68f17dbd47f27a8ee50ffe37 +2010-02-20T22:00:37.310330Z +107 +genuineparts +has-props + + + + + + + + + + + + + + + + + + + + +414 + +right.png +file + + + + +2012-03-27T20:06:47.000000Z +a6550ad0b680f7d10ff7ecb7e9dd319c +2010-02-20T22:00:37.310330Z +107 +genuineparts +has-props + + + + + + + + + + + + + + + + + + + + +174 + +bottom_left.png +file + + + + +2012-03-27T20:06:47.000000Z +c10255133b0218e55b12f2b37a28a724 +2010-02-20T22:00:37.310330Z +107 +genuineparts +has-props + + + + + + + + + + + + + + + + + + + + +521 + +top_right.png +file + + + + +2012-03-27T20:06:47.000000Z +e2fcca5fed302e5cd18d211b02fbbd94 +2010-02-20T22:00:37.310330Z +107 +genuineparts +has-props + + + + + + + + + + + + + + + + + + + + +441 + +bottom_right.png +file + + + + +2012-03-27T20:06:47.000000Z +aa4dea988dfe88eb8cd0411e1c1792ae +2010-02-20T22:00:37.310330Z +107 +genuineparts +has-props + + + + + + + + + + + + + + + + + + + + +527 + +top.png +file + + + + +2012-03-27T20:06:47.000000Z +f63bee4eab4ea73236c1979882709a5c +2010-02-20T22:00:37.310330Z +107 +genuineparts +has-props + + + + + + + + + + + + + + + + + + + + +147 + +bottom.png +file + + + + +2012-03-27T20:06:47.000000Z +088116acdce87ae241ebf4f23790aecb +2010-02-20T22:00:37.310330Z +107 +genuineparts +has-props + + + + + + + + + + + + + + + + + + + + +183 + +left.png +file + + + + +2012-03-27T20:06:47.000000Z +8859efe8c29f4bfa93c5453ad146e5ca +2010-02-20T22:00:37.310330Z +107 +genuineparts +has-props + + + + + + + + + + + + + + + + + + + + +168 + diff --git a/install/style/images/enclosure/.svn/prop-base/bottom.png.svn-base b/install/style/images/enclosure/.svn/prop-base/bottom.png.svn-base new file mode 100755 index 0000000..5e9587e --- /dev/null +++ b/install/style/images/enclosure/.svn/prop-base/bottom.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/install/style/images/enclosure/.svn/prop-base/bottom_left.png.svn-base b/install/style/images/enclosure/.svn/prop-base/bottom_left.png.svn-base new file mode 100755 index 0000000..5e9587e --- /dev/null +++ b/install/style/images/enclosure/.svn/prop-base/bottom_left.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/install/style/images/enclosure/.svn/prop-base/bottom_right.png.svn-base b/install/style/images/enclosure/.svn/prop-base/bottom_right.png.svn-base new file mode 100755 index 0000000..5e9587e --- /dev/null +++ b/install/style/images/enclosure/.svn/prop-base/bottom_right.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/install/style/images/enclosure/.svn/prop-base/left.png.svn-base b/install/style/images/enclosure/.svn/prop-base/left.png.svn-base new file mode 100755 index 0000000..5e9587e --- /dev/null +++ b/install/style/images/enclosure/.svn/prop-base/left.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/install/style/images/enclosure/.svn/prop-base/right.png.svn-base b/install/style/images/enclosure/.svn/prop-base/right.png.svn-base new file mode 100755 index 0000000..5e9587e --- /dev/null +++ b/install/style/images/enclosure/.svn/prop-base/right.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/install/style/images/enclosure/.svn/prop-base/top.png.svn-base b/install/style/images/enclosure/.svn/prop-base/top.png.svn-base new file mode 100755 index 0000000..5e9587e --- /dev/null +++ b/install/style/images/enclosure/.svn/prop-base/top.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/install/style/images/enclosure/.svn/prop-base/top_left.png.svn-base b/install/style/images/enclosure/.svn/prop-base/top_left.png.svn-base new file mode 100755 index 0000000..5e9587e --- /dev/null +++ b/install/style/images/enclosure/.svn/prop-base/top_left.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/install/style/images/enclosure/.svn/prop-base/top_right.png.svn-base b/install/style/images/enclosure/.svn/prop-base/top_right.png.svn-base new file mode 100755 index 0000000..5e9587e --- /dev/null +++ b/install/style/images/enclosure/.svn/prop-base/top_right.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/install/style/images/enclosure/.svn/text-base/bottom.png.svn-base b/install/style/images/enclosure/.svn/text-base/bottom.png.svn-base new file mode 100755 index 0000000..9923b12 Binary files /dev/null and b/install/style/images/enclosure/.svn/text-base/bottom.png.svn-base differ diff --git a/install/style/images/enclosure/.svn/text-base/bottom_left.png.svn-base b/install/style/images/enclosure/.svn/text-base/bottom_left.png.svn-base new file mode 100755 index 0000000..72b8d12 Binary files /dev/null and b/install/style/images/enclosure/.svn/text-base/bottom_left.png.svn-base differ diff --git a/install/style/images/enclosure/.svn/text-base/bottom_right.png.svn-base b/install/style/images/enclosure/.svn/text-base/bottom_right.png.svn-base new file mode 100755 index 0000000..6457015 Binary files /dev/null and b/install/style/images/enclosure/.svn/text-base/bottom_right.png.svn-base differ diff --git a/install/style/images/enclosure/.svn/text-base/left.png.svn-base b/install/style/images/enclosure/.svn/text-base/left.png.svn-base new file mode 100755 index 0000000..77f56b2 Binary files /dev/null and b/install/style/images/enclosure/.svn/text-base/left.png.svn-base differ diff --git a/install/style/images/enclosure/.svn/text-base/right.png.svn-base b/install/style/images/enclosure/.svn/text-base/right.png.svn-base new file mode 100755 index 0000000..5041102 Binary files /dev/null and b/install/style/images/enclosure/.svn/text-base/right.png.svn-base differ diff --git a/install/style/images/enclosure/.svn/text-base/top.png.svn-base b/install/style/images/enclosure/.svn/text-base/top.png.svn-base new file mode 100755 index 0000000..f88405f Binary files /dev/null and b/install/style/images/enclosure/.svn/text-base/top.png.svn-base differ diff --git a/install/style/images/enclosure/.svn/text-base/top_left.png.svn-base b/install/style/images/enclosure/.svn/text-base/top_left.png.svn-base new file mode 100755 index 0000000..8b78089 Binary files /dev/null and b/install/style/images/enclosure/.svn/text-base/top_left.png.svn-base differ diff --git a/install/style/images/enclosure/.svn/text-base/top_right.png.svn-base b/install/style/images/enclosure/.svn/text-base/top_right.png.svn-base new file mode 100755 index 0000000..30e44c7 Binary files /dev/null and b/install/style/images/enclosure/.svn/text-base/top_right.png.svn-base differ diff --git a/install/style/images/enclosure/bottom.png b/install/style/images/enclosure/bottom.png new file mode 100755 index 0000000..9923b12 Binary files /dev/null and b/install/style/images/enclosure/bottom.png differ diff --git a/install/style/images/enclosure/bottom_left.png b/install/style/images/enclosure/bottom_left.png new file mode 100755 index 0000000..72b8d12 Binary files /dev/null and b/install/style/images/enclosure/bottom_left.png differ diff --git a/install/style/images/enclosure/bottom_right.png b/install/style/images/enclosure/bottom_right.png new file mode 100755 index 0000000..6457015 Binary files /dev/null and b/install/style/images/enclosure/bottom_right.png differ diff --git a/install/style/images/enclosure/left.png b/install/style/images/enclosure/left.png new file mode 100755 index 0000000..77f56b2 Binary files /dev/null and b/install/style/images/enclosure/left.png differ diff --git a/install/style/images/enclosure/right.png b/install/style/images/enclosure/right.png new file mode 100755 index 0000000..5041102 Binary files /dev/null and b/install/style/images/enclosure/right.png differ diff --git a/install/style/images/enclosure/top.png b/install/style/images/enclosure/top.png new file mode 100755 index 0000000..f88405f Binary files /dev/null and b/install/style/images/enclosure/top.png differ diff --git a/install/style/images/enclosure/top_left.png b/install/style/images/enclosure/top_left.png new file mode 100755 index 0000000..8b78089 Binary files /dev/null and b/install/style/images/enclosure/top_left.png differ diff --git a/install/style/images/enclosure/top_right.png b/install/style/images/enclosure/top_right.png new file mode 100755 index 0000000..30e44c7 Binary files /dev/null and b/install/style/images/enclosure/top_right.png differ diff --git a/install/style/images/error.png b/install/style/images/error.png new file mode 100755 index 0000000..cdd95ba Binary files /dev/null and b/install/style/images/error.png differ diff --git a/install/style/images/love.png b/install/style/images/love.png new file mode 100755 index 0000000..0cadc02 Binary files /dev/null and b/install/style/images/love.png differ diff --git a/install/style/images/navigation_button.png b/install/style/images/navigation_button.png new file mode 100755 index 0000000..742db53 Binary files /dev/null and b/install/style/images/navigation_button.png differ diff --git a/install/style/images/ok.png b/install/style/images/ok.png new file mode 100755 index 0000000..fe69b58 Binary files /dev/null and b/install/style/images/ok.png differ diff --git a/install/style/images/warning.png b/install/style/images/warning.png new file mode 100755 index 0000000..4bd8367 Binary files /dev/null and b/install/style/images/warning.png differ diff --git a/install/style/install.css b/install/style/install.css new file mode 100755 index 0000000..5d9cddc --- /dev/null +++ b/install/style/install.css @@ -0,0 +1,488 @@ +a { +text-decoration:none; +} + +a:hover { +text-decoration:none; +color:#357aa0; +} + +a img { +border:0; +} + +acronym { +cursor:help; +} + +img.centered-photo { +text-align:center; +display:block; +background-color:#fafafa; +border:solid 1px #bbb; +margin:0 auto; +padding:3px; +} + +img.centered { +text-align:center; +display:block; +margin:0 auto; +padding:0; +} + +pre { +overflow:auto; +} + +body { +background-color:#fff; +color:#000; +font-size:80%; +font-family:'Bitstream Vera Sans', 'Lucida Grande', Verdana, sans-serif; +margin:0; +padding:0; +} + +h2,h3 { +color:#000; +display:block; +text-decoration:none; +font-weight:400; +} + +h2 { +font-size:150%; +padding:0.3em 0 0 3em; +} + +h2.year { +padding:0.3em 0 0 4.8em; +} + +h3 { +font-size:130%; +font-weight:bolder; +padding:0.35em 0 0 3.5em; +} + +hr { +width:90%; +height:1px; +text-align:center; +} + +div.contents ol { +font-size:100%; +line-height:130%; +margin-top:1em; +width:580px; +margin-left:auto; +margin-right:auto; +} + +div.contents ol li { +border:solid 1px #bbb; +background-color:#fafafa; +margin-bottom:10px; +min-height:50px; +padding:10px; +} + +div.contents ol li img { +float:right; +padding:8px; +} + +div.contents ol.courses { +list-style:none; +border:solid 1px #bbb; +background-color:#fafafa; +padding:0.6em 1em; +} + +div.contents ol.courses li { +border:0; +min-height:0; +margin-bottom:0.5em; +padding:0; +} + +div.contents ul { +font-size:105%; +line-height:130%; +margin-bottom:0.6em; +padding-right:10px; +width:570px; +margin-left:auto; +margin-right:auto; +} + +div.contents ul li { +margin-bottom:0.5em; +margin-top:0.5em; +} + +div.contents ul li ul { +font-size:100%; +} + +#window { +clear:both; +margin-top:8px; +padding:15px; +} + +#container { +min-height:500px; +width:740px; +display:block; +text-align:left; +margin:0 auto; +padding:8px; +} + +div.main { +clear:both; +width:740px; +margin-left:auto; +margin-right:auto; +margin-top:-1em; +} + +div.comment,div.console,div.showcase,div.contact,div.gallery { +width:580px; +margin-left:auto; +margin-right:auto; +margin-bottom:1.4em; +line-height:150%; +padding:0.6em 1em; +} + +div.comment { +background-color:#e5e5e5; +color:#000; +text-align:justify; +min-height:33px; +border:solid 1px #bbb; +} + +div.comment h3 { +font-size:130%; +margin-top:5px; +margin-bottom:10px; +padding:0; +} + +div.console { +font-size:90%; +border:solid 1px #999; +background-color:#333; +color:#eee; +font-family:"Andale Mono", Courier, Monospace; +white-space:pre; +padding-bottom:0.6em; +} + +div.showcase { +margin-top:20px; +background-color:#fafafa; +color:#000; +text-align:center; +border:solid 1px #bbb; +} + +div.showcase img { +padding:2px 15px; +} + +div.showcase h2 { +padding:0; +} + +div.contact { +width:380px; +margin-top:20px; +padding-left:20px; +padding-right:20px; +background-color:#fafafa; +color:#000; +text-align:left; +border:solid 1px #bbb; +} + +div.address { +width:280px; +padding-left:40px; +margin-left:auto; +margin-right:auto; +font-style:italic; +} + +div.gallery { +margin-top:20px; +text-align:center; +} + +div.gallery img.thumbnail-photo { +background-color:#fafafa; +border:solid 1px #bbb; +margin:2px; +padding:2px; +} + +table.statistics { +background-color:#fafafa; +border:solid 1px #bbb; +margin:0.3em auto; +padding:0.4em 1em; +} + +table.statistics td { +padding-right:10px; +padding-left:10px; +} + +div.navigation { +float:left; +margin-bottom:-2px; +margin-left:85px; +} + +div.navigation ul { +list-style:none; +font-size:75%; +margin:0.5em 0 0; +padding:2px 0 0 1em; +} + +div.navigation li { +background:url(images/navigation_button.png) 100% -100px; +float:left; +border-bottom:1px solid #bbb; +text-align:center; +margin:0 1px 0 0; +padding:0 5px 0 0; +} + +div.navigation li.active { +border-bottom:1px solid #eee; +background:url(images/navigation_button.png) 100% 0; +position:relative; +z-index:100; +} + +div.navigation li a,div.navigation li a:visited,div.navigation li span { +display:block; +float:left; +text-align:center; +white-space:nowrap; +background:url(images/navigation_button.png) 0 -100px; +text-decoration:none; +min-height:17px; +font-size:9pt; +color:#aaa; +padding:5px 11px 4px 16px; +} + +div.navigation li.active a,div.navigation li.active span { +color:#000; +background:url(images/navigation_button.png) 0 0; +} + +div.navigation li:hover { +background-position:100% -200px; +} + +div.navigation li:hover a { +background-position:0 -200px; +} + +div.navigation li.active:hover { +background-position:100% 0; +} + +div.navigation li.active:hover a { +background-position:0 0; +text-decoration:underline; +} + +#copyright { +clear:both; +padding-bottom:1em; +text-align:center; +font-size:small; +color:#aaa; +} + +div.outer-prettification { +background:#eee url(images/enclosure/left.png) left repeat-y; +} + +div.inner-prettification { +background:url(images/enclosure/right.png) right repeat-y; +} + +div.contents { +padding:0 1em; +} + +div.contents p { +font-size:110%; +text-align:justify; +line-height:140%; +margin-top:1em; +width:600px; +margin-left:auto; +margin-right:auto; +} + +div.contents p.left { +text-align:left; +font-size:100%; +} + +div.contents p.right { +text-align:right; +font-size:100%; +} + +div.contents p.caption { +text-align:center; +font-size:100%; +} + +div.contents p.footnote { +font-size:100%; +font-style:italic; +} + +div.contents p.resume { +font-size:105%; +} + +div.contents p img.right { +padding-left:12px; +margin-right:-15px; +position:relative; +z-index:200; +float:right; +} + +div.contents p img.left { +padding-right:12px; +margin-left:-15px; +position:relative; +z-index:200; +float:left; +} + +div.contents img { +width:auto; +max-width:100%; +height:auto; +} + +h1.title,div.title { +background:url(images/enclosure/top_left.png) top left no-repeat; +font-size:220%; +margin:1em 0 0; +} + +h1.title a,div.title span { +color:#000; +display:block; +background:url(images/enclosure/top_right.png) top right no-repeat; +font-weight:400; +font-size:80%; +text-decoration:none; +padding:1.2em 1.5em 0 2.6em; +} + +div.title span { +display:block; +height:20px; +font-size:80%; +} + +div.title { +display:block; +} + +div.header { +background:url(images/enclosure/top.png) top repeat-x; +position:relative; +z-index:75; +} + +div.footer { +background:url(images/enclosure/bottom.png) bottom repeat-x; +} + +div.footer p { +background:url(images/enclosure/bottom_left.png) bottom left no-repeat; +margin:0; +} + +div.footer p a { +display:block; +background:url(images/enclosure/bottom_right.png) bottom right no-repeat; +text-align:right; +font-size:85%; +color:#999; +text-decoration:none; +padding:15px 70px 40px 25px; +} + +a:link,a:visited { +color:#777; +} + +form .nextbutton{ +float:right; +margin: 50px 50px 30px 0; +} +form .prevbutton{ +float:left; +margin:55px 50px 30px; +} +form .refreshbutton{ +float:left; +margin:50px 110px 30px; +} +form label{ +margin:0 50px 0; +} +form input{ +margin-left:50px; +} +form select{ +margin-left:50px; +} +.reihe { + clear: both; + padding: 2px 0px; +} + +.label { + float: left; + width: 100px; + padding-top: 3px; + padding-right: 5px; +} + +.checkbox { + margin-left:0px; +} + +.feld { + float: right; + width: 200px; + text-align: left; + margin-right: 200px; +} + +div.comment img,div.contact img { +float:right; +padding:0 8px 8px 20px; +}