<?php require_once dirname(__FILE__).'/accesscheck.php'; include dirname(__FILE__).'/structure.php'; @ob_end_flush(); $success = 1; if (!isset($_REQUEST['adminname'])) $_REQUEST['adminname'] = ''; if (!isset($_REQUEST['orgname'])) $_REQUEST['orgname'] = ''; if (!isset($_REQUEST['adminpassword'])) $_REQUEST['adminpassword'] = ''; if (!isset($_REQUEST['adminemail'])) $_REQUEST['adminemail'] = ''; if (isset($_REQUEST['adminemail']) && !is_email($_REQUEST['adminemail'])) { $_REQUEST['adminemail'] = ''; } $force = !empty($_GET['force']) && $_GET['force'] == 'yes'; if ($force) { while (list($table, $val) = each($DBstruct)) { if ($table == "attribute") { $req = Sql_Query("select tablename from {$tables["attribute"]}"); while ($row = Sql_Fetch_Row($req)) Sql_Drop_Table($table_prefix . 'listattr_' . $row[0]); } Sql_Drop_Table($tables[$table]); } session_destroy(); Redirect('initialise&firstinstall=1'); exit; } if (empty($_SESSION['hasconf']) && !empty($_REQUEST['firstinstall']) && (empty($_REQUEST['adminemail']) || strlen($_REQUEST['adminpassword']) < 8)) { print '<noscript>'; print '<div class="error">'.s('To install phpList, you need to enable Javascript').'</div>'; print '</noscript>'; if ($_SESSION['adminlanguage']['iso'] != $GLOBALS['default_system_language'] && in_array($_SESSION['adminlanguage']['iso'],array_keys($GLOBALS['LANGUAGES']))) { print '<div class="info error">'.s('The default system language is different from your browser language.').'<br/>'; print s('You can set <pre>$default_system_language = "%s";</pre> in your config file, to use your language as the fallback language.',$_SESSION['adminlanguage']['iso']).'<br/>'; print s('It is best to do this before initialising the database.'); print '</div>'; } print '<form method="post" action="" class="configForm" id="initialiseform">'; print '<fieldset><legend>'.s('phpList initialisation').' </legend> <input type="hidden" name="firstinstall" value="1" />'; print '<input type="hidden" name="page" value="initialise" />'; print '<label for="adminname">'.s('Please enter your name.').'</label>'; print '<div class="field"><input type="text" name="adminname" class="error missing" value="'.htmlspecialchars($_REQUEST['adminname']).'" /></div>'; print '<label for="orgname">'.s('The name of your organisation').'</label>'; print '<input type="text" name="orgname" value="'.htmlspecialchars($_REQUEST['orgname']).'" />'; print '<label for="adminemail">'.s('Please enter your email address.').'</label>'; print '<input type="text" name="adminemail" value="'.htmlspecialchars($_REQUEST['adminemail']).'" />'; print s('The initial <i>login name</i> will be' ).' "admin"'.'<br/>'; print '<label for="adminpassword">'.s('Please enter the password you want to use for this account.').' ('.$GLOBALS['I18N']->get('minimum of 8 characters.').')</label>'; print '<input type="text" name="adminpassword" value="" id="initialadminpassword" /><br/><br/>'; print '<input type="submit" value="'.s('Continue').'" id="initialisecontinue" disabled="disabled" />'; print '</fieldset></form>'; return; } #var_dump($GLOBALS['plugins']);exit; print "<h3>".s("Creating tables")."</h3><br />\n"; while (list($table, $val) = each($DBstruct)) { if ($force) { if ($table == "attribute") { $req = Sql_Query("select tablename from {$tables["attribute"]}"); while ($row = Sql_Fetch_Row($req)) Sql_Drop_Table($table_prefix . 'listattr_' . $row[0]); } Sql_Drop_Table($tables[$table]); } $query = "CREATE TABLE $tables[$table] (\n"; while (list($column, $struct) = each($DBstruct[$table])) { if (preg_match('/index_\d+/',$column)) { $query .= "index " . $struct[0] . ","; } elseif (preg_match('/unique_\d+/',$column)) { $query .= "unique " . $struct[0] . ","; } else { $query .= "$column " . $struct[0] . ","; } } # get rid of the last , $query = substr($query,0,-1); $query .= "\n) default character set utf8"; # submit it to the database echo s("Initialising table")." <b>$table</b>"; if (!$force && Sql_Table_Exists($tables[$table])) { Error( s("Table already exists").'<br />'); echo "... ".s("failed")."<br />\n"; $success = 0; } else { $res = Sql_Query($query,0); $error = Sql_Has_Error($database_connection); $success = $force || ($success && !$error); if (!$error || $force) { if ($table == "admin") { # create a default admin $_SESSION['firstinstall'] = 1; if (isset($_REQUEST['adminemail'])) { $adminemail = $_REQUEST['adminemail']; } else { $adminemail = ''; } if (isset($_REQUEST['adminpassword'])) { $adminpass = $_REQUEST['adminpassword']; } else { $adminpass = 'phplist'; } Sql_Query(sprintf('insert into %s (loginname,namelc,email,created,modified,password,passwordchanged,superuser,disabled) values("%s","%s","%s",current_timestamp,current_timestamp,"%s",current_timestamp,%d,0)', $tables["admin"],"admin","admin",$adminemail,encryptPass($adminpass),1)); ## let's add them as a subscriber as well $userid = addNewUser($adminemail,$adminpass); Sql_Query(sprintf('update %s set confirmed = 1 where id = %d',$tables['user'],$userid)); /* to send the token at the end, doesn't work yet $adminid = Sql_Insert_Id(); */ } elseif ($table == "task") { while (list($type,$pages) = each ($system_pages)) { foreach ($pages as $page => $access_level) Sql_Query(sprintf('replace into %s (page,type) values("%s","%s")', $tables["task"],$page,$type)); } } echo "... ".s("ok")."<br />\n"; } else echo "... ".s("failed")."<br />\n"; } } #https://mantis.phplist.com/view.php?id=16879 make sure the new settings are saved if ($success) { $_SESSION['hasconf'] = true; } ## initialise plugins that are already here foreach ($GLOBALS['plugins'] as $pluginName => $plugin) { print s('Initialise plugin').' '.$pluginName.'<br/>'; if (method_exists($plugin,'initialise')) { $plugin->initialise(); } SaveConfig(md5('plugin-'.$pluginName.'-initialised'),time(),0); } if ($success) { # mark the database to be our current version SaveConfig('version',VERSION,0); # mark now to be the last time we checked for an update Sql_Replace($tables['config'], array('item' => "updatelastcheck", 'value' => 'current_timestamp', 'editable' => '0'), 'item', false); SaveConfig('admin_address',$adminemail,1); SaveConfig('message_from_name',strip_tags($_REQUEST['adminname']),1); SaveConfig('campaignfrom_default',"$adminemail ".strip_tags($_REQUEST['adminname'])); SaveConfig('notifystart_default',$adminemail); SaveConfig('notifyend_default',$adminemail); SaveConfig('report_address',$adminemail); SaveConfig('message_from_address',$adminemail); SaveConfig('message_from_name',strip_tags($_REQUEST['adminname'])); SaveConfig('message_replyto_address',$adminemail); if (!empty($_REQUEST['orgname'])) { SaveConfig('organisation_name',strip_tags($_REQUEST['orgname']),1); SaveConfig('campaignfrom_default',"$adminemail ".strip_tags($_REQUEST['orgname'])); SaveConfig('message_from_name',strip_tags($_REQUEST['orgname'])); } elseif (!empty($_REQUEST['adminname'])) { SaveConfig('organisation_name',strip_tags($_REQUEST['adminname']),1); } else { SaveConfig('organisation_name',strip_tags($_REQUEST['adminemail']),1); } # add a testlist $info = $GLOBALS['I18N']->get("List for testing."); $stmt = ' insert into ' . $tables['list'] . ' (name, description, entered, active, owner)' . ' values' . ' (?, ?, current_timestamp, ?, ?)'; $result = Sql_Query_Params($stmt, array('test', $info, '0', '1')); # add public newsletter list $info = s("Sign up to our newsletter"); $stmt = ' insert into ' . $tables['list'] . ' (name, description, entered, active, owner)' . ' values' . ' (?, ?, current_timestamp, ?, ?)'; $result = Sql_Query_Params($stmt, array('newsletter', $info, '1', '1')); ## add the admin to the lists Sql_Query(sprintf('insert into %s (listid, userid, entered) values(%d,%d,now())',$tables['listuser'],1,$userid)); Sql_Query(sprintf('insert into %s (listid, userid, entered) values(%d,%d,now())',$tables['listuser'],2,$userid)); $uri = $_SERVER['REQUEST_URI']; $uri = str_replace('?'.$_SERVER['QUERY_STRING'],'',$uri); $body = ' Version: '.VERSION."\r\n" .' Url: ' .$_SERVER['SERVER_NAME'] .$uri ."\r\n"; printf('<p class="information">' .$GLOBALS['I18N']->get('Success') .': <a class="button" href="mailto:info@phplist.com?subject=Successful installation of phplist&body=%s">' .$GLOBALS['I18N']->get('Tell us about it') .'</a>. </p>', $body); //printf('<p class="information"> //'.$GLOBALS['I18N']->get("Please make sure to read the file README.security that can be found in the zip file.").'</p>'); print subscribeToAnnouncementsForm($_REQUEST['adminemail']); if (ENCRYPT_ADMIN_PASSWORDS && !empty($adminid)) { print sendAdminPasswordToken($adminid); } # make sure the 0 template has the powered by image $query = ' insert into %s' . ' (template, mimetype, filename, data, width, height)' . ' values (0, ?, ?, ?, ?, ?)'; $query = sprintf($query, $GLOBALS["tables"]["templateimage"]); Sql_Query_Params($query, array('image/png', 'powerphplist.png', $newpoweredimage, 70, 30)); print '<div id="continuesetup" style="display:none;" class="fleft">'.$GLOBALS['I18N']->get("Continue with")." ".PageLinkButton("setup",$GLOBALS['I18N']->get("phpList Setup"))."</div>"; unset($_SESSION['hasI18Ntable']); ## load language files # this is too slow $GLOBALS['I18N']->initFSTranslations(); } else { print ('<div class="initialiseOptions"><ul><li>'.s("Maybe you want to")." ".PageLinkButton("upgrade",s("Upgrade")).' '.s("instead?").'</li> <li>'.PageLinkButton("initialise",s("Force Initialisation"),"force=yes").' '.s("(will erase all data!)").' '."</li></ul></div>\n"); }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
FCKeditor | Folder | 0755 |
|
|
PEAR | Folder | 0755 |
|
|
PHPMailer | Folder | 0755 |
|
|
PHPMailer6 | Folder | 0755 |
|
|
actions | Folder | 0755 |
|
|
auth | Folder | 0755 |
|
|
commonlib | Folder | 0755 |
|
|
css | Folder | 0755 |
|
|
data | Folder | 0755 |
|
|
help | Folder | 0755 |
|
|
images | Folder | 0755 |
|
|
inc | Folder | 0755 |
|
|
info | Folder | 0755 |
|
|
js | Folder | 0755 |
|
|
lan | Folder | 0755 |
|
|
locale | Folder | 0755 |
|
|
oldmailer | Folder | 0755 |
|
|
onyxrss | Folder | 0755 |
|
|
plugins | Folder | 0755 |
|
|
styles | Folder | 0755 |
|
|
tests | Folder | 0755 |
|
|
ui | Folder | 0755 |
|
|
uploadimages | Folder | 0755 |
|
|
.gitignore | File | 20 B | 0644 |
|
.htaccess | File | 171 B | 0644 |
|
.minceconf | File | 994 B | 0644 |
|
AnalyticsQuery.php | File | 985 B | 0644 |
|
CsvReader.php | File | 1.27 KB | 0644 |
|
EmailSender.php | File | 477 B | 0644 |
|
about.php | File | 4.22 KB | 0644 |
|
accesscheck.php | File | 1.51 KB | 0644 |
|
addprefix.php | File | 966 B | 0644 |
|
adduser.php | File | 46 B | 0644 |
|
admin.php | File | 10.68 KB | 0644 |
|
adminattributes.php | File | 6.39 KB | 0644 |
|
admins.php | File | 4.54 KB | 0644 |
|
adodb.inc | File | 6.49 KB | 0644 |
|
analytics.php | File | 2.84 KB | 0644 |
|
attributes.php | File | 102 B | 0644 |
|
blacklistemail.php | File | 1.04 KB | 0644 |
|
bounce.php | File | 10.09 KB | 0644 |
|
bouncemgt.php | File | 1.39 KB | 0644 |
|
bouncerule.php | File | 3 KB | 0644 |
|
bouncerules.php | File | 5.86 KB | 0644 |
|
bounces.php | File | 6.01 KB | 0644 |
|
catlists.php | File | 2.64 KB | 0644 |
|
checkbouncerules.php | File | 1.34 KB | 0644 |
|
checki18n.php | File | 2.69 KB | 0644 |
|
checkprerequisites.php | File | 1.05 KB | 0644 |
|
class.html.mime.mail-outlookfix.inc | File | 19.93 KB | 0644 |
|
class.html.mime.mail.inc | File | 19.35 KB | 0644 |
|
class.image.inc | File | 5.77 KB | 0644 |
|
class.phplistmailer.php | File | 24.23 KB | 0644 |
|
class.phplistmailerbase.php | File | 1.5 KB | 0644 |
|
community.php | File | 1.78 KB | 0644 |
|
communityfeed.php | File | 2.36 KB | 0644 |
|
configure.php | File | 5.25 KB | 0644 |
|
connect.php | File | 74.36 KB | 0644 |
|
convertstats.php | File | 5.51 KB | 0644 |
|
converttoutf8.php | File | 3.77 KB | 0644 |
|
cron.php | File | 3.37 KB | 0644 |
|
date.php | File | 6.08 KB | 0644 |
|
dbcheck.php | File | 111 B | 0644 |
|
defaultFrontendTexts.php | File | 9.57 KB | 0644 |
|
defaultconfig.inc | File | 23.52 KB | 0644 |
|
defaultconfig.php | File | 24.92 KB | 0644 |
|
defaultplugin.php | File | 23.31 KB | 0644 |
|
defaults.php | File | 2.83 KB | 0644 |
|
defaultsystemtemplate.php | File | 1.83 KB | 0644 |
|
defaulttest.php | File | 1.12 KB | 0644 |
|
dlusers.php | File | 232 B | 0644 |
|
domainbounces.php | File | 507 B | 0644 |
|
domainstats.php | File | 2.83 KB | 0644 |
|
editattributes.php | File | 6.7 KB | 0644 |
|
editlist.php | File | 6.79 KB | 0644 |
|
error_log | File | 274 B | 0644 |
|
eventlog.php | File | 4.49 KB | 0644 |
|
export.php | File | 4.84 KB | 0644 |
|
exportuserdata.php | File | 6.36 KB | 0644 |
|
fckphplist.php | File | 43.21 KB | 0644 |
|
footer.inc | File | 1.19 KB | 0644 |
|
footer.old.inc | File | 1.82 KB | 0644 |
|
gchart.php | File | 869 B | 0644 |
|
generatebouncerules.php | File | 5.24 KB | 0644 |
|
getrss.php | File | 3.94 KB | 0644 |
|
header.inc | File | 1.75 KB | 0644 |
|
home.php | File | 16.36 KB | 0644 |
|
hostedprocessqueuesetup.php | File | 1.64 KB | 0644 |
|
htaccess | File | 311 B | 0644 |
|
image.php | File | 795 B | 0644 |
|
import.php | File | 2.54 KB | 0644 |
|
import1.php | File | 9.41 KB | 0644 |
|
import2.php | File | 243 B | 0644 |
|
import3.php | File | 20.26 KB | 0644 |
|
import4.php | File | 15.63 KB | 0644 |
|
importadmin.php | File | 14.5 KB | 0644 |
|
importlib.php | File | 2.86 KB | 0644 |
|
importsimple.php | File | 5.84 KB | 0644 |
|
index.php | File | 22.53 KB | 0644 |
|
index.php.old | File | 22.53 KB | 0644 |
|
info.php | File | 1.01 KB | 0644 |
|
init.php | File | 21.7 KB | 0644 |
|
initialise.php | File | 10.02 KB | 0644 |
|
initlanguages.php | File | 794 B | 0644 |
|
languages.php | File | 22.43 KB | 0644 |
|
lib.php | File | 59.85 KB | 0644 |
|
list.php | File | 11.79 KB | 0644 |
|
listbounces.php | File | 4.64 KB | 0644 |
|
login.php | File | 6.05 KB | 0755 |
|
logout.php | File | 224 B | 0644 |
|
massremove.php | File | 1.81 KB | 0644 |
|
massunconfirm.php | File | 1.52 KB | 0644 |
|
mclicks.php | File | 9.55 KB | 0644 |
|
members.php | File | 16.58 KB | 0644 |
|
mergeduplicates.php | File | 4.28 KB | 0644 |
|
message.php | File | 7.27 KB | 0644 |
|
messages.php | File | 18.94 KB | 0644 |
|
mimePart.php | File | 10.7 KB | 0644 |
|
minify.txt | File | 201 B | 0644 |
|
msgbounces.php | File | 3.79 KB | 0644 |
|
msgstatus.php | File | 1.18 KB | 0644 |
|
mviews.php | File | 7.88 KB | 0644 |
|
mysql.inc | File | 11.19 KB | 0644 |
|
mysqli.inc | File | 11.58 KB | 0644 |
|
pageaction.php | File | 1.08 KB | 0644 |
|
pagetop.php | File | 1.17 KB | 0644 |
|
phpListAdminAuthentication.php | File | 7.2 KB | 0644 |
|
pluginlib.php | File | 6.39 KB | 0644 |
|
plugins.php | File | 10.32 KB | 0644 |
|
preparesend.php | File | 627 B | 0644 |
|
processbounces.php | File | 29.71 KB | 0644 |
|
processqueue.php | File | 3.73 KB | 0644 |
|
purgerss.php | File | 1.38 KB | 0644 |
|
readtestmail.php | File | 11.26 KB | 0644 |
|
reconcileusers.php | File | 25.16 KB | 0644 |
|
redirecttoupdater.php | File | 170 B | 0644 |
|
reindex.php | File | 1.69 KB | 0644 |
|
rsslib.php | File | 2.8 KB | 0644 |
|
runcommand.php | File | 583 B | 0644 |
|
send.php | File | 5.58 KB | 0644 |
|
send_core.php | File | 56.08 KB | 0644 |
|
sendemaillib.php | File | 64.2 KB | 0644 |
|
sendprepared.php | File | 4.33 KB | 0644 |
|
sessionlib.php | File | 2.92 KB | 0644 |
|
setpermissions.php | File | 1.57 KB | 0644 |
|
setup.php | File | 3.21 KB | 0644 |
|
sidebar.php | File | 2.67 KB | 0644 |
|
spage.php | File | 3.29 KB | 0644 |
|
spageedit.php | File | 17.07 KB | 0644 |
|
statsmgt.php | File | 1.22 KB | 0644 |
|
statsoverview.php | File | 7.62 KB | 0644 |
|
stresstest.php | File | 5.1 KB | 0644 |
|
structure.php | File | 26.79 KB | 0644 |
|
subscribelib2.php | File | 66.02 KB | 0644 |
|
subscriberstats.php | File | 591 B | 0644 |
|
suppressionlist.php | File | 1.71 KB | 0644 |
|
system.php | File | 784 B | 0644 |
|
systemstats.php | File | 7.71 KB | 0644 |
|
template.php | File | 12.72 KB | 0644 |
|
templates.php | File | 3.02 KB | 0644 |
|
tests.php | File | 1.57 KB | 0644 |
|
uclicks.php | File | 6.52 KB | 0644 |
|
update.php | File | 187 B | 0644 |
|
updateLib.php | File | 2.77 KB | 0644 |
|
updatetlds.php | File | 399 B | 0644 |
|
updatetranslation.php | File | 1.94 KB | 0644 |
|
upgrade.php | File | 29.03 KB | 0644 |
|
user.php | File | 2.35 KB | 0644 |
|
usercheck.php | File | 2.27 KB | 0644 |
|
userclicks.php | File | 8 KB | 0644 |
|
userhistory.php | File | 127 B | 0644 |
|
usermgt.php | File | 1.83 KB | 0644 |
|
users.php | File | 393 B | 0644 |
|
vCard.php | File | 1.9 KB | 0644 |
|
viewmessage.php | File | 610 B | 0644 |
|
viewrss.php | File | 4.07 KB | 0644 |
|
viewtemplate.php | File | 1.82 KB | 0644 |
|
vote.php | File | 38 B | 0644 |
|