Skip to content
Snippets Groups Projects
Commit 2efdd246 authored by André Noack's avatar André Noack
Browse files

remove develop config, change version

parent 68da4820
No related branches found
No related tags found
No related merge requests found
RELEASE 5.2.alpha-svn RELEASE 5.2
<?php
/**
* config.inc.php
*
* Configuration file for studip. In this file you can change the options of many
* Stud.IP Settings.
* Please note: To setup the system, you have to set the basic settings in the
* config_local.inc.php in the same directory first.
*
* @access public
* @package studip_core
* @modulegroup library
* @module config.inc.php
*/
// +---------------------------------------------------------------------------+
// This file is part of Stud.IP
// functions.php
// Stud.IP Kernfunktionen
// Copyright (C) 2002 Cornelis Kater <ckater@gwdg.de>, Suchi & Berg GmbH <info@data-quest.de>,
// Ralf Stockmann <rstockm@gwdg.de>, André Noack André Noack <andre.noack@gmx.net>
// +---------------------------------------------------------------------------+
// 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 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// +---------------------------------------------------------------------------+
global
$CALENDAR_MAX_EVENTS,
$FLASHPLAYER_DEFAULT_CONFIG_MIN,
$FLASHPLAYER_DEFAULT_CONFIG_MAX,
$INST_ADMIN_DATAFIELDS_VIEW,
$INST_MODULES,
$INST_STATUS_GROUPS,
$INST_TYPE,
$LIT_LIST_FORMAT_TEMPLATE,
$NAME_FORMAT_DESC,
$PERS_TERMIN_KAT,
$SCM_PRESET,
$SEM_STATUS_GROUPS,
$SMILE_SHORT,
$SYMBOL_SHORT,
$TERMIN_TYP,
$TIME_PRESETS,
$TITLE_FRONT_TEMPLATE,
$TITLE_REAR_TEMPLATE,
$UNI_CONTACT,
$UNI_INFO,
$UNI_LOGIN_ADD,
$UNI_LOGOUT_ADD,
$UNI_URL,
$UPLOAD_TYPES,
$SEM_TREE_TYPES,
$NOT_HIDEABLE_FIELDS,
$TEILNEHMER_IMPORT_DATAFIELDS,
$DEFAULT_TITLE_FOR_STATUS;
/*basic settings for Stud.IP
----------------------------------------------------------------
you find here the indivdual settings for your installation.
! for the basic system settings, please edit the file config_local.inc.php in the same folder !*/
//Some more basic data
//Note: The the clean-name of your institution ($UNI_NAME_CLEAN) is stored in the config_local.inc.php
$UNI_URL = "http://www.studip.de";
$UNI_LOGIN_ADD='';
$UNI_LOGOUT_ADD=sprintf(_("Und hier geht's zur %sStud.IP Portalseite%s&nbsp;"), "<a href=\"http://www.studip.de\"><b>", "</b></a>");
$UNI_CONTACT = "<please insert your general contact mail-adress here>";
$UNI_INFO = "Stud.IP 4.0 - Studienbegleitender Internetsupport von Präsenzlehre";
/* $SEM_CLASS and $SEM_TYPE configuration moved to database
=> Admin/Global settings/Course categories
----------------------------------------------------------------*/
// define default names for status groups
$DEFAULT_TITLE_FOR_STATUS = [
'dozent' => [_('Lehrende'), _('Lehrende')],
'deputy' => [_('Vertretung'), _('Vertretungen')],
'tutor' => [_('Tutor/-in'), _('Tutor/-innen')],
'autor' => [_('Studierende'), _('Studierende')],
'user' => [_('Leser/-in'), _('Leser/-innen')],
'accepted' => [_('Vorläufig akzeptierte Person'),
_('Vorläufig akzeptierte Personen')]];
/*
possible types of sem_tree ("Veranstaltungshierarchie") types
the "editable" flag could be used to prevent modifications, e.g. imported data
*/
$SEM_TREE_TYPES[0] = ["name" => "", "editable" => true]; //default type, must be present
//$SEM_TREE_TYPES[1] = array("name" => _("Studienmodul") , "editable" => true, "is_module" => true);
/* Set the allowed and prohibited file types for the types given above.
* If nothing is configured for a specific type, the values of the "default" setting are taken.
*
* "type"=>"deny" means: only the listed "file_types" are allowed
* "type"=>"allow" means: all, but the listed "file_types" are allowed
*
* "file_sizes" determines how much each user class can upload per file (multiple of 1 MB = 1048576 Bytes)
*/
$UPLOAD_TYPES=[ "default" =>
[ "type"=>"allow",
"file_types" => ["exe"],
"file_sizes" => [ "root" => 240 * 1048576,
"admin" => 240 * 1048576,
"dozent" => 240 * 1048576,
"tutor" => 240 * 1048576,
"autor" => 240 * 1048576,
"nobody" => 16 * 1048576
]
],
// rules for futher course-types can be added below (please adhere exactly to the structure given above)
];
/* Set the allowed and prohibited file types for mail attachments (if activated by ENABLE_MAIL_ATTACHMENTS).
*
* "type"=>"deny" means: only the listed "file_types" are allowed
* "type"=>"allow" means: all, but the listed "file_types" are allowed
*
* "file_sizes" determines how much each user class can upload per file (multiple of 1 MB = 1048576 Bytes)
*/
$UPLOAD_TYPES["attachments"] =
[ "type" => "allow",
"file_types" => ["exe"],
"file_sizes" => [ "root" => 7 * 1048576,
"admin" => 7 * 1048576,
"dozent" => 7 * 1048576,
"tutor" => 7 * 1048576,
"autor" => 7 * 1048576,
"nobody" => 1.38 * 1048576
]
];
/* Set the allowed and prohibited file types for personal files (like in blubber-upload).
*
* "type"=>"deny" means: only the listed "file_types" are allowed
* "type"=>"allow" means: all, but the listed "file_types" are allowed
*
* "file_sizes" determines how much each user class can upload per file (multiple of 1 MB = 1048576 Bytes)
*/
$UPLOAD_TYPES["personalfiles"] =
[ "type" => "allow",
"file_types" => ["exe"],
"file_sizes" => [ "root" => 240* 1048576,
"admin" => 240 * 1048576,
"tutor" => 240 * 1048576,
"dozent" =>240 * 1048576,
"autor" => 240 * 1048576,
"nobody" => 0
]
];
/*
* define presets for the status-groups in courses (refers to the key of the $SEM_CLASS array above)
* if none is given, the designations of $SEM_STATUS_GROUPS["default"] are used
*/
$SEM_STATUS_GROUPS["default"] = ["Lehrende", "Tutor/-innen", "Studierende", "Leser/-innen", "sonstige"]; //the default. Don't delete this entry!
$SEM_STATUS_GROUPS["2"] = ["Organisatoren", "Mitglieder", "Ausschußmitglieder", "sonstige"];
$SEM_STATUS_GROUPS["3"] = ["Moderatoren des Forums","Mitglieder", "sonstige"];
// ...can be continued accordingly
/*
* define additional fields that can be shown in participant list view.
*/
$TEILNEHMER_VIEW[0] = ["field" => "user_picture",
"name" => _("Nutzerbilder"), "table" => "special", "export" => 0, "display"=> 1];
$TEILNEHMER_VIEW[1] = ["field" => "geschlecht",
"name" => _("Geschlecht"), "table" => "datafields", "export" => 1, "display"=> 1];
$TEILNEHMER_VIEW[2] = ["field" => "preferred_language",
"name" => _("Sprache"), "table" => "user_info", "export" => 1, "display"=> 1];
/*
* set allowed designations of institutes / divisions / administrative units
*/
$INST_TYPE[1]=["name"=>_("Einrichtung")];
$INST_TYPE[2]=["name"=>_("Zentrum")];
$INST_TYPE[3]=["name"=>_("Lehrstuhl")];
$INST_TYPE[4]=["name"=>_("Abteilung")];
$INST_TYPE[5]=["name"=>_("Fachbereich")];
$INST_TYPE[6]=["name"=>_("Seminar")];
$INST_TYPE[7]=["name"=>_("Fakultät")];
$INST_TYPE[8]=["name"=>_("Arbeitsgruppe")];
// ...can be continued accordingly
/*
* define presets for the status-groups in institutes / divisions / administrative units (refers to the key of the $INST_TYPE array above)
* if none is given, the designations of $INST_STATUS_GROUPS["default"] are used
*/
$INST_STATUS_GROUPS["default"] = ["Direktor/-in", "Lehrende", "Lehrbeauftragte", "Zweitmitglied", "wiss. Hilfskraft","wiss. Mitarbeiter/-in",
"stud. Hilfskraft", "Frauenbeauftragte", "Internetbeauftragte(r)", "Studierende", "techn. Mitarbeiter/-in", "Sekretariat / Verwaltung",
"stud. Vertreter/-in"];
// ...can be continued accordingly
//define the used modules for instiutes
$INST_MODULES["default"] = [
"forum"=>TRUE, //forum, this module is stud_ip core; always available
"documents"=>TRUE, //documents, this module is stud_ip core; always available
"personal"=>TRUE, //personal, this module is stud_ip core; always available
"literature"=>FALSE, //literature, this module is stud_ip core; always available
"scm"=>FALSE, //simple content module, this modul is stud_ip core; always available
"wiki"=>FALSE, //wikiwiki-web, this module is stud_ip core; always available
];
//you can add more specific presets for the different types
// Set presets for course appointment types
/*
* The first array element is used for the designation of regular meetings and will be labeled
* accordingly in the schedule.
* The second array element is always used to denominate preliminary discussions.
* Both names can be chosen freely.
* The appointment types marked as "sitzung"=>1 are shown in the course creation assistent and
* while editing dates as templates for the description of regular turnus meetings.
*/
$TERMIN_TYP[1]=["name"=>_("Sitzung"), "sitzung"=>1, "color"=>"#682c8b"];
$TERMIN_TYP[2]=["name"=>_("Vorbesprechung"), "sitzung"=>0, "color"=>"#b02e7c"];
$TERMIN_TYP[3]=["name"=>_("Klausur"), "sitzung"=>0, "color"=>"#129c94"];
$TERMIN_TYP[4]=["name"=>_("Exkursion"), "sitzung"=>0, "color"=>"#f26e00"];
$TERMIN_TYP[5]=["name"=>_("anderer Termin"), "sitzung"=>0, "color"=>"#008512"];
$TERMIN_TYP[6]=["name"=>_("Sondersitzung"), "sitzung"=>0, "color"=>"#a85d45"];
$TERMIN_TYP[7]=["name"=>_("Vorlesung"), "sitzung"=>1, "color"=>"#ca9eaf"];
// more types can be added here
// Configure the categories for the personal calendar
$PERS_TERMIN_KAT[1]=["name"=>_("Sonstiges"), "color"=>"#008512"];
$PERS_TERMIN_KAT[2]=["name"=>_("Sitzung"), "color"=>"#682c8b"];
$PERS_TERMIN_KAT[3]=["name"=>_("Vorbesprechung"), "color"=>"#b02e7c"];
$PERS_TERMIN_KAT[4]=["name"=>_("Klausur"), "color"=>"#129c94"];
$PERS_TERMIN_KAT[5]=["name"=>_("Exkursion"), "color"=>"#f26e00"];
$PERS_TERMIN_KAT[6]=["name"=>_("Sondersitzung"), "color"=>"#a85d45"];
$PERS_TERMIN_KAT[7]=["name"=>_("Prüfung"), "color"=>"#6ead10"];
$PERS_TERMIN_KAT[8]=["name"=>_("Telefonat"), "color"=>"#d60000"];
$PERS_TERMIN_KAT[9]=["name"=>_("Besprechung"), "color"=>"#ffbd33"];
$PERS_TERMIN_KAT[10]=["name"=>_("Verabredung"), "color"=>"#66b570"];
$PERS_TERMIN_KAT[11]=["name"=>_("Geburtstag"), "color"=>"#a480b9"];
$PERS_TERMIN_KAT[12]=["name"=>_("Familie"), "color"=>"#d082b0"];
$PERS_TERMIN_KAT[13]=["name"=>_("Urlaub"), "color"=>"#70c3bf"];
$PERS_TERMIN_KAT[14]=["name"=>_("Reise"), "color"=>"#f7a866"];
$PERS_TERMIN_KAT[15]=["name"=>_("Vorlesung"), "color"=>"#ca9eaf"];
// more categories can be added here
//standard times for date-begin and date-end
$TIME_PRESETS = [ //starthour, startminute, endhour, endminute
['07','45','09','15'], // 07:45 - 09:15
['09','30','11','00'], // 09:30 - 11:00
['11','15','12','45'], // 11:15 - 12:45
['13','30','15','00'], // 13:30 - 15:00
['15','15','16','45'], // 15:15 - 16:45
['17','00','18','30'], // 17:00 - 18:30
['18','45','20','15'] // 18:45 - 20:15
];
//$TIME_PRESETS = false;
//preset for academic titles - add further titles to the array, if necessary
$TITLE_FRONT_TEMPLATE = ["","Prof.","Prof. Dr.","Dr.","PD Dr.","Dr. des.","Dr. med.","Dr. rer. nat.","Dr. forest.",
"Dr. sc. agr.","Dipl.-Biol.","Dipl.-Chem.","Dipl.-Ing.","Dipl.-Sozw.","Dipl.-Geogr.",
"Dipl.-Geol.","Dipl.-Geophys.","Dipl.-Ing. agr.","Dipl.-Kfm.","Dipl.-Math.","Dipl.-Phys.",
"Dipl.-Psych.","M. Sc","B. Sc"];
$TITLE_REAR_TEMPLATE = ["","M.A.","B.A.","M.S.","MBA","Ph.D.","Dipl.-Biol.","Dipl.-Chem.","Dipl.-Ing.","Dipl.-Sozw.","Dipl.-Geogr.",
"Dipl.-Geol.","Dipl.-Geophys.","Dipl.-Ing. agr.","Dipl.-Kfm.","Dipl.-Math.","Dipl.-Phys.",
"Dipl.-Psych.","M. Sc","B. Sc"];
// name templates for the list of currently active users ("who is online")
$NAME_FORMAT_DESC['full'] = _("Titel1 Vorname Nachname Titel2");
$NAME_FORMAT_DESC['full_rev'] = _("Nachname, Vorname, Titel1, Titel2");
$NAME_FORMAT_DESC['no_title'] = _("Vorname Nachname");
$NAME_FORMAT_DESC['no_title_rev'] = _("Nachname, Vorname");
$NAME_FORMAT_DESC['no_title_short'] = _("Nachname, V.");
$NAME_FORMAT_DESC['no_title_motto'] = _("Vorname Nachname, Motto");
//preset names for scm (simple content module)
$SCM_PRESET[1] = ["name"=>_("Informationen")]; //the first entry is the default label for scms, it'll be used if the user give no information for another label
$SCM_PRESET[2] = ["name"=>_("Literatur")];
$SCM_PRESET[3] = ["name"=>_("Links")];
$SCM_PRESET[4] = ["name"=>_("Verschiedenes")];
//you can add more presets here
//preset template for formatting of literature list entries
$LIT_LIST_FORMAT_TEMPLATE = "**{dc_creator}** |({dc_contributor})||\n"
. "{dc_title}||\n"
. "{dc_identifier}||\n"
. "%%{published}%%||\n"
. "{note}||\n"
. "[{lit_plugin_display_name}]{external_link}|\n";
//Shortcuts for smileys
$SMILE_SHORT = [ //diese Kuerzel fuegen das angegebene Smiley ein (Dateiname + ".gif")
":)"=>"smile" ,
":-)"=>"asmile" ,
":#:"=>"zwinker" ,
":("=>"frown" ,
":o"=>"redface" ,
":D"=>"biggrin",
";-)"=>"wink"];
//Shortcuts for symbols
$SYMBOL_SHORT = [
"=)" => "&rArr;" ,
"(=" => "&lArr;" ,
"(c)" => "&copy;" ,
"(r)" => "&reg;" ,
" tm " => "&trade;"
];
/*configuration for additional modules
----------------------------------------------------------------
this options are only needed, if you are using the addional Stud.IP modules (please see in config_local.inc.php
which modules are activated). It's a good idea to leave this settings untouched...*/
// cofiguration for flash player
$FLASHPLAYER_DEFAULT_CONFIG_MIN = "&amp;showstop=1&amp;showvolume=1&amp;bgcolor=A6B6C6&amp;bgcolor1=A6B6C6&amp;bgcolor2=7387AC&amp;playercolor=7387AC&amp;buttoncolor=254580&amp;buttonovercolor=E9EFFD&amp;slidercolor1=CAD7E1&amp;slidercolor2=A6B6C6&amp;sliderovercolor=E9EFFD&amp;loadingcolor=E9B21A&amp;buffer=5&amp;buffercolor=white&amp;buffershowbg=0&amp;playeralpha=90&amp;playertimeout=500&amp;shortcut=1&amp;phpstream=0&amp;onclick=playpause&amp;showloading=always";
$FLASHPLAYER_DEFAULT_CONFIG_MAX = "&amp;showstop=1&amp;showvolume=1&amp;bgcolor=A6B6C6&amp;bgcolor1=A6B6C6&amp;bgcolor2=7387AC&amp;playercolor=7387AC&amp;buttoncolor=254580&amp;buttonovercolor=E9EFFD&amp;slidercolor1=CAD7E1&amp;slidercolor2=A6B6C6&amp;sliderovercolor=E9EFFD&amp;loadingcolor=E9B21A&amp;buffer=5&amp;buffercolor=white&amp;buffershowbg=0&amp;playeralpha=90&amp;playertimeout=500&amp;shortcut=1&amp;showtime=1&amp;showfullscreen=1&amp;showplayer=always&amp;phpstream=0&amp;onclick=playpause&amp;showloading=always";
//Here you have to add the datafield_ids as elements. They will be shown in the standard / extended view on inst_admin.php
$INST_ADMIN_DATAFIELDS_VIEW = [
'default' => [],
'extended' => []
];
/*
* Fields that may not be hidden by users in their privacy settings.
* Can be configured per permission level.
* @see lib/models/User.class.php in function getHomepageElements for
* available fields.
* Entries look like "'field_name' => true".
*/
$NOT_HIDEABLE_FIELDS = [
'user' => [],
'autor' => [],
'tutor' => [],
'dozent' => [],
'admin' => [],
'root' => []
];
//Add ids of datafields to use for import on teilnehmer.php
$TEILNEHMER_IMPORT_DATAFIELDS = [];
<?php
/*settings for database access
----------------------------------------------------------------
please fill in your database connection settings.
*/
namespace Studip {
const ENV = 'development';
}
namespace {
// default Stud.IP database (DB_Seminar)
$DB_STUDIP_HOST = "localhost";
$DB_STUDIP_USER = "";
$DB_STUDIP_PASSWORD = "";
$DB_STUDIP_DATABASE = "studip";
@include "dbpass.inc";
//ABSOLUTE_PATH_STUDIP should end with a '/'
//$ABSOLUTE_PATH_STUDIP = $STUDIP_BASE_PATH . '/public/';
//$CANONICAL_RELATIVE_PATH_STUDIP
if (!$ABSOLUTE_URI_STUDIP) $ABSOLUTE_URI_STUDIP = 'https://develop.studip.de/studip/';
//path to the temporary folder
$TMP_PATH ="/tmp/studip"; //the system temp path
if (!is_dir($TMP_PATH)) mkdir($TMP_PATH,0777);
//caching
$CACHING_ENABLE = true;
$CACHING_FILECACHE_PATH = $TMP_PATH . '/studip_cache';
$CACHE_IS_SESSION_STORAGE = false; //store session data in cache
/*Stud.IP modules
----------------------------------------------------------------
enable or disable the Stud.IP internal modules, set and basic settings*/
$FOP_SH_CALL = "/usr/bin/fop"; //path to fop
/*domain name and path translation
----------------------------------------------------------------
*/
$STUDIP_DOMAINS[1] = "test.studip.de/studip";
$STUDIP_DOMAINS[2] = "develop.studip.de/studip";
/*mail settings
----------------------------------------------------------------
*/
$MAIL_TRANSPORT = "smtp";
/*smtp settings
----------------------------------------------------------------
leave blank or try 127.0.0.1 if localhost is also the mailserver
ignore if you don't use smtp as transport*/
$MAIL_HOST_NAME = "127.0.0.1"; //which mailserver should we use? (must allow mail-relaying from $MAIL_LOCALHOST, defaults to SERVER_NAME)
$MAIL_LOCALHOST = "develop.studip.de"; //name of the mail sending machine (the web server) defaults to SERVER_NAME
$MAIL_ENV_FROM = "develop-noreply@studip.de"; //sender mail adress, defaults to wwwrun @ $MAIL_LOCALHOST
$MAIL_ABUSE = "abuse@studip.de"; //mail adress to reply to in case of abuse, defaults to abuse @ $MAIL_LOCALHOST
$MAIL_BULK_DELIVERY = TRUE; //try to improve the message queueing rate (experimental, does not work for php transport)
$MAIL_VALIDATE_HOST = TRUE; //check for valid mail host when user enters email adress
$MAIL_VALIDATE_BOX = FALSE; //check for valid mail account when user enters email adress; set to false if the webserver got no valid MX record
$MESSAGING_FORWARD_DEFAULT = 3; //the default functions for internal and external messages
$MAIL_ATTACHMENTS_MAX_SIZE = 10; //maximum size of attachments in MB
/*language settings
----------------------------------------------------------------*/
$CONTENT_LANGUAGES['en_GB'] = ['picture' => 'lang_en.gif', 'name' => 'English'];
/*authentication plugins
----------------------------------------------------------------
*/
$STUDIP_AUTH_PLUGIN[] = "Standard";
$STUDIP_AUTH_PLUGIN[] = "Shib";
$STUDIP_AUTH_CONFIG_STANDARD = ["error_head" => "intern"];
$STUDIP_AUTH_CONFIG_SHIB = [
// SessionInitator URL for remote SP
'session_initiator' => 'https://shib-sp.uni-osnabrueck.de/secure/studip-sp.php',
// validation URL for remote SP
'validate_url' => 'https://shib-sp.uni-osnabrueck.de/auth/studip-sp.php',
// standard user data mapping
'user_data_mapping' => [
'auth_user_md5.username' => ['callback' => 'dummy', 'map_args' => ''],
'auth_user_md5.password' => ['callback' => 'dummy', 'map_args' => ''],
'auth_user_md5.Vorname' => ['callback' => 'getUserData', 'map_args' => 'givenname'],
'auth_user_md5.Nachname' => ['callback' => 'getUserData', 'map_args' => 'sn'],
'auth_user_md5.Email' => ['callback' => 'getUserData', 'map_args' => 'mail']
]
];
$PHPASS_USE_PORTABLE_HASH = true;
$LIBRARY_CATALOGS = [
[
'name' => 'K10Plus Zentral',
'class_name' => 'K10PlusZentralLibrarySearch',
//'base_url' => 'http://findex.gbv.de/index/dataquest/select'
'base_url' => 'https://server5.data-quest.de/search-k10plus'
],
[
'name' => 'BASE',
'class_name' => 'BASELibrarySearch',
//'base_url' => 'https://api.base-search.net/cgi-bin/BaseHttpSearchInterface.fcgi',
'base_url' => 'https://server5.data-quest.de/search-base',
'settings' => [
'collection' => 'de'
]
],
[
'name' => 'TIB Portal',
'class_name' => 'SRULibrarySearch',
'base_url' => 'https://www.tib.eu/sru/tibkat',
'settings' => [
'sru_version' => '1.2',
'query_format' => 'cql'
],
'opac_link_template' => 'https://www.tib.eu/de/suchen/id/TIBKAT%3A{opac_document_id}',
'local_catalog' => true
]
];
}
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
const DEFAULT_ENV = 'production'; const DEFAULT_ENV = 'production';
//software version - please leave it as it is! //software version - please leave it as it is!
$SOFTWARE_VERSION = '5.2.alpha-svn'; $SOFTWARE_VERSION = '5.2';
// Store startup time // Store startup time
$STUDIP_STARTUP_TIME = microtime(true); $STUDIP_STARTUP_TIME = microtime(true);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment