Esempio n. 1
0
include_once 'ressources/class.ldap.inc';
include_once 'ressources/class.users.menus.inc';
include_once 'ressources/class.artica.inc';
include_once 'ressources/class.mysql.inc';
include_once 'ressources/class.ini.inc';
include_once 'ressources/class.cyrus.inc';
include_once 'ressources/class.cron.inc';
$users = new usersMenus();
if (!$users->AsPostfixAdministrator) {
    $tpl = new templates();
    $error = $tpl->javascript_parse_text("{ERROR_NO_PRIVS}");
    echo "alert('{$error}')";
    die;
}
if (isset($_GET["EnableZarafaIndexer"])) {
    SaveConfig();
    exit;
}
popup();
function popup()
{
    $tpl = new templates();
    $page = CurrentPageName();
    $sock = new sockets();
    $EnableZarafaIndexer = $sock->GET_INFO("EnableZarafaIndexer");
    $ZarafaIndexerInterval = $sock->GET_INFO("ZarafaIndexerInterval");
    $ZarafaIndexerThreads = $sock->GET_INFO("ZarafaIndexerThreads");
    if (!is_numeric($ZarafaIndexerInterval)) {
        $ZarafaIndexerInterval = 60;
    }
    if (!is_numeric($ZarafaIndexerThreads)) {
Esempio n. 2
0
$organisation_name = getConfig('organisation_name');
$domain = getConfig("domain");
$website = getConfig("website");
if (empty($domain)) {
    $domain = $_SERVER['SERVER_NAME'];
}
if (empty($website)) {
    $website = $_SERVER['SERVER_NAME'];
}
if (empty($organisation_name)) {
    $organisation_name = $_SERVER['SERVER_NAME'];
}
$xormask = getConfig('xormask');
if (empty($xormask)) {
    $xormask = md5(uniqid(rand(), true));
    SaveConfig("xormask", $xormask, 0, 1);
}
define('XORmask', $xormask);
if (empty($_SESSION['csrf_token'])) {
    $_SESSION['csrf_token'] = substr(md5(uniqid(mt_rand(), true)), rand(0, 32), rand(0, 32));
}
if (isset($_SESSION['lastactivity'])) {
    $_SESSION['session_age'] = time() - $_SESSION['lastactivity'];
}
$_SESSION['lastactivity'] = time();
$GLOBALS["img_tick"] = '<span class="yes">Yes</span>';
$GLOBALS["img_cross"] = '<span class="no">No</span>';
$GLOBALS["img_view"] = '<span class="view">View</span>';
$GLOBALS['img_busy'] = '<img src="images/busy.gif" with="34" height="34" border="0" alt="Please wait" id="busyimage" />';
# if keys need expanding with 0-s
$checkboxgroup_storesize = 1;
Esempio n. 3
0
 }
 $info = $default_config[$id];
 $haserror = 0;
 if (is_array($_POST['values'])) {
     foreach ($_POST['values'] as $id => $value) {
         if (isset($default_config[$id])) {
             $info = $default_config[$id];
             if ($id == 'website' || $id == 'domain') {
                 $value = str_replace('[DOMAIN]', '', $value);
                 $value = str_replace('[WEBSITE]', '', $value);
             }
             if (empty($value) && !$info['allowempty']) {
                 #    Error($info['description']. ' ' . $GLOBALS['I18N']->get('cannot be empty'));
                 $haserror = $info['description'] . ' ' . $GLOBALS['I18N']->get('cannot be empty');
             } else {
                 $haserror = SaveConfig($id, $value);
             }
         }
     }
     if (!$haserror) {
         print '<div class="actionresult">' . s('Changes saved') . '</div>';
         unset($id);
     } else {
         print '<div class="actionresult error">' . $haserror . '<br/>' . s('Changes not saved') . '</div>';
         unset($id);
     }
     #    Redirect("configure");
     #    exit;
 }
 $item = $_REQUEST['save'];
 $item = str_replace('item_', '', $item);
Esempio n. 4
0
	include_once('ressources/class.users.menus.inc');
	include_once('ressources/class.artica.inc');
	include_once('ressources/class.mysql.inc');	
	include_once('ressources/class.ini.inc');
	include_once('ressources/class.cyrus.inc');
	include_once('ressources/class.cron.inc');
	
	$users=new usersMenus();
	if(!$users->AsPostfixAdministrator){
		$tpl=new templates();
		$error=$tpl->javascript_parse_text("{ERROR_NO_PRIVS}");
		echo "alert('$error')";
		die();
	}	
	
	if(isset($_GET["EnableZarafaIndexer"])){SaveConfig();exit;}
	
	
popup();



function popup(){
	
	$tpl=new templates();
	$page=CurrentPageName();
	$sock=new sockets();
	$EnableZarafaIndexer=$sock->GET_INFO("EnableZarafaIndexer");
	$ZarafaIndexerInterval=$sock->GET_INFO("ZarafaIndexerInterval");
	$ZarafaIndexerThreads=$sock->GET_INFO("ZarafaIndexerThreads");
	if(!is_numeric($ZarafaIndexerInterval)){$ZarafaIndexerInterval=60;}
Esempio n. 5
0
             SaveConfig('pagefooter', $defaultfooter, 1);
             Sql_Query(sprintf('update %s set data = "%s" where name = "footer" and data = "%s"', $tables['subscribepage_data'], sql_escape($defaultfooter), addslashes($currentPF)));
         }
     }
 }
 ## #17328 - remove list categories with quotes
 Sql_Query(sprintf("update %s set category = replace(category,\"\\\\'\",\" \")", $tables['list']));
 ## longblobs are better at mixing character encoding. We don't know the encoding of anything we may want to store in cache
 ## before converting, it's quickest to clear the cache
 clearPageCache();
 Sql_Query(sprintf('alter table %s change column content content longblob', $tables['urlcache']));
 # mark the database to be our current version
 if ($success) {
     SaveConfig('version', VERSION, 0);
     # mark now to be the last time we checked for an update
     SaveConfig('updatelastcheck', date('Y-m-d H:i:s', time()), 0, true);
     ## also clear any possible value for "updateavailable"
     Sql_Query(sprintf('delete from %s where item = "updateavailable"', $tables['config']));
     Info(s('Success'), 1);
     upgradePlugins(array_keys($GLOBALS['plugins']));
     print subscribeToAnnouncementsForm();
     ##  check for old click track data
     $num = Sql_Fetch_Row_Query(sprintf('select count(*) from %s', $GLOBALS['tables']['linktrack']));
     if ($num[0] > 0) {
         print '<p class="information">' . $GLOBALS['I18N']->get('The clicktracking system has changed') . '</p>';
         printf($GLOBALS['I18N']->get('You have %s entries in the old statistics table'), $num[0]) . ' ';
         print ' ' . PageLinkButton('convertstats', $GLOBALS['I18N']->get('Convert Old data to new'));
     }
     if ($GLOBALS['commandline']) {
         output($GLOBALS['I18N']->get('Upgrade successful'));
     }
Esempio n. 6
0
 $owner = $_POST["owner"];
 if (!$owner) {
     $owner = $_SESSION['logindetails']['id'];
 }
 if ($id) {
     Sql_Query(sprintf('update %s set title = "%s",owner = %d where id = %d', $tables["subscribepage"], $title, $owner, $id));
 } else {
     Sql_Query(sprintf('insert into %s (title,owner) values("%s",%d)', $tables["subscribepage"], $title, $owner));
     $id = Sql_Insert_id();
 }
 Sql_Query(sprintf('delete from %s where id = %d', $tables["subscribepage_data"], $id));
 foreach (array("title", "intro", "header", "footer", "thankyoupage", "button", "htmlchoice", "emaildoubleentry") as $item) {
     Sql_Query(sprintf('insert into %s (name,id,data) values("%s",%d,"%s")', $tables["subscribepage_data"], $item, $id, $_POST[$item]));
 }
 foreach (array("subscribesubject", "subscribemessage", "confirmationsubject", "confirmationmessage") as $item) {
     SaveConfig("{$item}:{$id}", stripslashes($_POST[$item]), 0);
 }
 Sql_Query(sprintf('delete from %s where id = %d and name like "attribute___"', $tables["subscribepage_data"], $id));
 if (is_array($attr_use)) {
     $cnt = 0;
     $attributes = "";
     while (list($att, $val) = each($attr_use)) {
         $default = $attr_default[$att];
         $order = $attr_listorder[$att];
         $required = $attr_required[$att];
         Sql_Query(sprintf('insert into %s (id,name,data) values(%d,"attribute%03d","%s")', $tables["subscribepage_data"], $id, $att, $att . '###' . $default . '###' . $order . '###' . $required));
         $cnt++;
         $attributes .= $att . '+';
     }
 }
 Sql_Query(sprintf('replace into %s (id,name,data) values(%d,"attributes","%s")', $tables["subscribepage_data"], $id, $attributes));
Esempio n. 7
0
    ob_start();
    include dirname(__FILE__) . '/actions/processqueue.php';
    return;
}
# once and for all get rid of those questions why they do not receive any emails :-)
if (TEST) {
    print Info('<strong>' . $GLOBALS['I18N']->get('Running in testmode, no emails will be sent. Check your config file.'), 1) . '</strong>';
}
print '<noscript>
<div class="error">' . s('This page requires Javascript to be enabled.') . '</div>
</noscript>';
if (isset($_GET['pqchoice'])) {
    if ($_GET['pqchoice'] == 'local') {
        SaveConfig('pqchoice', 'local', 0);
    } elseif ($_GET['pqchoice'] == 'reset') {
        SaveConfig('pqchoice', '', 0);
    }
}
if (SHOW_PQCHOICE) {
    $pqChoice = getConfig('pqchoice');
} else {
    $pqChoice = 'local';
}
if (empty($pqChoice)) {
    print '<h3>' . s('To send your queue, you can now use the phpList.com service') . '</h3>';
    print '<strong>The options are:</strong>';
    print '<h4>1. Use the service from phpList.com</h4>
      <p>The service has a free trial and low cost.</p>
      <p><strong>Advantage</strong>: No need to keep your computer switched on and your browser open. <strong>Sending will happen automatically</strong>.</p>
      <p><strong>Disadvantage</strong>: We can\'t think of any.</p>
      <a href="./?page=hostedprocessqueuesetup" class="button">' . s('Set up using the service') . '</a>
Esempio n. 8
0
$now = time();
foreach ($cronJobs as $cronJob) {
    $cronID = $cronJob['plugin'] . '|' . $cronJob['page'];
    $lastrun = getConfig(md5($cronID));
    if (empty($lastrun) || $now - $lastrun > $cronJob['frequency'] * 60) {
        cl_output('Need to run ' . $cronJob['plugin'] . ' - ' . $cronJob['page']);
        $cronJob['page'] = basename($cronJob['page'], '.php');
        $cmd_result = '';
        if (isset($GLOBALS['plugins'][$cronJob['plugin']]) && is_file($GLOBALS['plugins'][$cronJob['plugin']]->coderoot . $cronJob['page'] . '.php')) {
            cl_output('running php ' . $argv[0] . ' -c ' . $GLOBALS['configfile'] . ' -m ' . $cronJob['plugin'] . ' -p ' . $cronJob['page']);
            exec('php ' . $argv[0] . ' -c ' . $GLOBALS['configfile'] . ' -m ' . $cronJob['plugin'] . ' -p ' . $cronJob['page'], $cmd_result);
        } elseif (empty($cronJob['plugin']) && is_file(__DIR__ . '/' . $cronJob['page'] . '.php')) {
            cl_output('running php ' . $argv[0] . ' -c ' . $GLOBALS['configfile'] . ' -p ' . $cronJob['page']);
            exec('php ' . $argv[0] . ' -c ' . $GLOBALS['configfile'] . ' -p ' . $cronJob['page'], $cmd_result);
        }
        SaveConfig(md5($cronID), time(), 0);
    } else {
        $nextRun = $lastrun + $cronJob['frequency'] * 60 - $now;
        if ($nextRun > $maxNextRun) {
            $maxNextRun = $nextRun;
        }
        if (VERBOSE) {
            cl_output('Will run ' . $cronJob['plugin'] . ' - ' . $cronJob['page'] . ' in' . secs2time($nextRun));
        }
    }
}
## tell how soon we need to run again, so that the calling system can relax a bit
if ($maxNextRun > 0) {
    cl_output('DELAYUNTIL=' . (int) ($now + $maxNextRun));
}
#var_dump($cronJobs);
Esempio n. 9
0
 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');
 $result = Sql_query("insert into {$tables['list']} (name,description,entered,active,owner) values(\"test\",\"{$info}\",now(),0,1)");
 $info = s('Sign up to our newsletter');
 $result = Sql_query("insert into {$tables['list']} (name,description,entered,active,owner) values(\"newsletter\",\"{$info}\",now(),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&amp;body=%s">' . $GLOBALS['I18N']->get('Tell us about it') . '</a>. </p>', $body);
 //printf('<p class="information">
Esempio n. 10
0
function Setup4()
{
    global $zbp;
    ?>
<dl>
  <dt></dt>
  <dd id="ddleft"><div id="headerimg"><img src="../zb_system/image/admin/install.png" alt="Z-BlogPHP" />
  <strong><?php 
    echo $zbp->lang['zb_install']['install_program'];
    ?>
</strong></div>
    <div class="left"><?php 
    echo $zbp->lang['zb_install']['install_progress'];
    ?>
&nbsp;</div>
    <div id="setup4"  class="left"></div>
    <p><b><?php 
    echo $zbp->lang['zb_install']['install_license'];
    ?>
</b> » <b><?php 
    echo $zbp->lang['zb_install']['environment_check'];
    ?>
</b> » <b><?php 
    echo $zbp->lang['zb_install']['db_build_set'];
    ?>
</b> » <b><?php 
    echo $zbp->lang['zb_install']['install_result'];
    ?>
</b></p>
  </dd>
  <dd id="ddright">
    <div id="title"><?php 
    echo $zbp->lang['zb_install']['install_result'];
    ?>
</div>
    <div id="content">
      <?php 
    $isInstallFlag = true;
    $zbp->option['ZC_DATABASE_TYPE'] = GetVars('dbtype', 'POST');
    $cts = '';
    switch ($zbp->option['ZC_DATABASE_TYPE']) {
        case 'mysql':
        case 'mysqli':
        case 'pdo_mysql':
            $cts = file_get_contents($GLOBALS['blogpath'] . 'zb_system/defend/createtable/mysql.sql');
            if ($zbp->option['ZC_YUN_SITE'] != '') {
                break;
            }
            $zbp->option['ZC_MYSQL_SERVER'] = GetVars('dbmysql_server', 'POST');
            if (strpos($zbp->option['ZC_MYSQL_SERVER'], ':') !== false) {
                $servers = explode(':', $zbp->option['ZC_MYSQL_SERVER']);
                $zbp->option['ZC_MYSQL_SERVER'] = trim($servers[0]);
                $zbp->option['ZC_MYSQL_PORT'] = (int) $servers[1];
                if ($zbp->option['ZC_MYSQL_PORT'] == 0) {
                    $zbp->option['ZC_MYSQL_PORT'] = 3306;
                }
                unset($servers);
            }
            $zbp->option['ZC_MYSQL_USERNAME'] = trim(GetVars('dbmysql_username', 'POST'));
            $zbp->option['ZC_MYSQL_PASSWORD'] = trim(GetVars('dbmysql_password', 'POST'));
            $zbp->option['ZC_MYSQL_NAME'] = trim(str_replace(array('\'', '"'), array('', ''), GetVars('dbmysql_name', 'POST')));
            $zbp->option['ZC_MYSQL_PRE'] = trim(str_replace(array('\'', '"'), array('', ''), GetVars('dbmysql_pre', 'POST')));
            if ($zbp->option['ZC_MYSQL_PRE'] == '') {
                $zbp->option['ZC_MYSQL_PRE'] == 'zbp_';
            }
            $zbp->option['ZC_MYSQL_ENGINE'] = GetVars('dbengine', 'POST');
            $cts = str_replace('MyISAM', $zbp->option['ZC_MYSQL_ENGINE'], $cts);
            $zbp->db = ZBlogPHP::InitializeDB($zbp->option['ZC_DATABASE_TYPE']);
            if ($zbp->db->CreateDB($zbp->option['ZC_MYSQL_SERVER'], $zbp->option['ZC_MYSQL_PORT'], $zbp->option['ZC_MYSQL_USERNAME'], $zbp->option['ZC_MYSQL_PASSWORD'], $zbp->option['ZC_MYSQL_NAME']) == true) {
                echo $zbp->lang['zb_install']['create_db'] . $zbp->option['ZC_MYSQL_NAME'] . "<br/>";
            }
            $zbp->db->dbpre = $zbp->option['ZC_MYSQL_PRE'];
            $zbp->db->Close();
            break;
        case 'sqlite':
            $cts = file_get_contents($GLOBALS['blogpath'] . 'zb_system/defend/createtable/sqlite.sql');
            $cts = str_replace(' autoincrement', '', $cts);
            $zbp->option['ZC_SQLITE_NAME'] = trim(GetVars('dbsqlite_name', 'POST'));
            $zbp->option['ZC_SQLITE_PRE'] = trim(GetVars('dbsqlite_pre', 'POST'));
            break;
        case 'sqlite3':
        case 'pdo_sqlite':
            $cts = file_get_contents($GLOBALS['blogpath'] . 'zb_system/defend/createtable/sqlite.sql');
            $zbp->option['ZC_SQLITE_NAME'] = trim(GetVars('dbsqlite_name', 'POST'));
            $zbp->option['ZC_SQLITE_PRE'] = trim(GetVars('dbsqlite_pre', 'POST'));
            break;
        default:
            $isInstallFlag = false;
            break;
    }
    if ($isInstallFlag) {
        $zbp->OpenConnect();
        $zbp->ConvertTableAndDatainfo();
        if (CreateTable($cts)) {
            InsertInfo();
            SaveConfig();
        }
        $zbp->CloseConnect();
    } else {
        echo '<p>还没有选择数据库类型,请后退重试。</p><p><a href="javascript:history.go(-1)">点击这里后退</a></p>';
    }
    ?>

    </div>
    <div id="bottom">
      <input type="button" name="next" onClick="window.location.href='../'" id="netx" value="<?php 
    echo $zbp->lang['zb_install']['ok'];
    ?>
" />
    </div>
  </dd>
</dl>
<?php 
}
Esempio n. 11
0
function upgradePlugins($toUpgrade)
{
    foreach ($toUpgrade as $pluginname) {
        #    print '<h2>Upgrading '.$pluginname. '</h2><br/> ';
        #    print md5('plugin-'.$pluginname.'-versiondate');
        $currentDate = getConfig(md5('plugin-' . $pluginname . '-versiondate'));
        #    print 'CUrrent '.$currentDate;
        if ($GLOBALS['allplugins'][$pluginname]->upgrade($currentDate)) {
            #      print "Saving ".'plugin-'.$pluginname.'-versiondate';
            SaveConfig(md5('plugin-' . $pluginname . '-versiondate'), date('Y-m-d'), 0);
        }
    }
}
Esempio n. 12
0
    $needscheck = Sql_Fetch_Row_Query($query);
    if ($needscheck[0] != "0") {
        @ini_set("user_agent", NAME . " (phplist version " . VERSION . ")");
        @ini_set("default_socket_timeout", 5);
        if ($fp = @fopen("https://www.phplist.com/files/LATESTVERSION", "r")) {
            $latestversion = fgets($fp);
            $latestversion = preg_replace("/[^\\.\\d]/", "", $latestversion);
            @fclose($fp);
            if (!versionCompare($thisversion, $latestversion)) {
                ## remember this, so we can remind about the update, without the need to check the phplist site
                ## hmmm, this causes it to be "stuck" on the last version checked
                SaveConfig("updateavailable", $latestversion, 0, true);
                $showUpdateAvail = true;
            }
        }
        SaveConfig("updatelastcheck", date("Y-m-d H:i:s", time()), 0, true);
    }
}
if ($showUpdateAvail) {
    print '<div class="newversion note">';
    print $GLOBALS['I18N']->get('A new version of phpList is available!');
    print '<br/>';
    print '<br/>' . $GLOBALS['I18N']->get('The new version may have fixed security issues,<br/>so it is recommended to upgrade as soon as possible');
    print '<br/>' . $GLOBALS['I18N']->get('Your version') . ': <b>' . $thisversion . '</b>';
    print '<br/>' . $GLOBALS['I18N']->get('Latest version') . ': <b>' . $latestversion . '</b><br/>  ';
    print '<a href="https://www.phplist.com/latestchanges?utm_source=pl' . $thisversion . '&amp;utm_medium=updatenews&amp;utm_campaign=phpList" title="' . s('Read what has changed in the new version') . '" target="_blank">' . $GLOBALS['I18N']->get('View what has changed') . '</a>&nbsp;&nbsp;';
    print '<a href="https://www.phplist.com/download?utm_source=pl' . $thisversion . '&amp;utm_medium=updatedownload&amp;utm_campaign=phpList" title="' . s('Download the new version') . '" target="_blank">' . $GLOBALS['I18N']->get('Download') . '</a></div>';
}
print '<div class="accordion">';
$some = 0;
$ls = new WebblerListing('');
Esempio n. 13
0
        MergeSettings($config, $_REQUEST);
        $OK = SaveConfig($config);
        if ($OK) {
            Redirect('config.php?section=' . $_REQUEST['section']);
        }
    } else {
        if (isset($_REQUEST['delete'])) {
            DeleteMultiSet($config, $_REQUEST['section'], $_REQUEST['delete'], $_REQUEST['id']);
            $OK = SaveConfig($config);
            if ($OK) {
                Redirect('config.php?section=' . $_REQUEST['section']);
            }
        } else {
            if (isset($_REQUEST['add'])) {
                AddMultiSet($config, $_REQUEST['section'], $_REQUEST['add']);
                $OK = SaveConfig($config);
                if ($OK) {
                    Redirect('config.php?section=' . $_REQUEST['section'] . '#' . $_REQUEST['add'] . $_REQUEST['id']);
                }
            }
        }
    }
}
if ($OK) {
    ?>

<table width="100%">
<tr>
<td valign="top" width="270">
<?php 
    MakeMenu();
 public function get_filesystem_image($filename)
 {
     if (defined('EMBEDEXTERNALIMAGES') && EMBEDEXTERNALIMAGES) {
         $extCacheDir = $GLOBALS['tmpdir'] . '/external_cache';
         $cacheFile = $extCacheDir . '/' . $this->messageid . '_' . preg_replace(array('~[\\.][\\.]+~i', '~[^\\w\\.]~i'), array('', '_'), $filename);
         if (file_exists($cacheFile) && @filesize($cacheFile) > 64) {
             return base64_encode(file_get_contents($cacheFile));
         }
     }
     ## get the image contents
     $localfile = basename(urldecode($filename));
     #      cl_output('get file system image'.$filename.' '.$localfile);
     if (defined('UPLOADIMAGES_DIR')) {
         #       print 'UPLOAD';
         $imageroot = getConfig('uploadimageroot');
         if (is_file($imageroot . $localfile)) {
             return base64_encode(file_get_contents($imageroot . $localfile));
         } else {
             if (is_file($_SERVER['DOCUMENT_ROOT'] . $localfile)) {
                 ## save the document root to be able to retrieve the file later from commandline
                 SaveConfig('uploadimageroot', $_SERVER['DOCUMENT_ROOT'], 0, 1);
                 return base64_encode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . $localfile));
             } elseif (is_file($_SERVER['DOCUMENT_ROOT'] . '/' . UPLOADIMAGES_DIR . '/image/' . $localfile)) {
                 SaveConfig('uploadimageroot', $_SERVER['DOCUMENT_ROOT'] . '/' . UPLOADIMAGES_DIR . '/image/', 0, 1);
                 return base64_encode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/' . UPLOADIMAGES_DIR . '/image/' . $localfile));
             } elseif (is_file($_SERVER['DOCUMENT_ROOT'] . '/' . UPLOADIMAGES_DIR . '/' . $localfile)) {
                 SaveConfig('uploadimageroot', $_SERVER['DOCUMENT_ROOT'] . '/' . UPLOADIMAGES_DIR . '/', 0, 1);
                 return base64_encode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/' . UPLOADIMAGES_DIR . '/' . $localfile));
             }
         }
     } elseif (is_file($_SERVER['DOCUMENT_ROOT'] . $GLOBALS['pageroot'] . '/' . FCKIMAGES_DIR . '/' . $localfile)) {
         $elements = parse_url($filename);
         $localfile = basename($elements['path']);
         return base64_encode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . $GLOBALS['pageroot'] . '/' . FCKIMAGES_DIR . '/' . $localfile));
     } elseif (is_file($_SERVER['DOCUMENT_ROOT'] . $GLOBALS['pageroot'] . '/' . FCKIMAGES_DIR . '/image/' . $localfile)) {
         return base64_encode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . $GLOBALS['pageroot'] . '/' . FCKIMAGES_DIR . '/image/' . $localfile));
     } elseif (is_file('../' . FCKIMAGES_DIR . '/' . $localfile)) {
         ## commandline
         return base64_encode(file_get_contents('../' . FCKIMAGES_DIR . '/' . $localfile));
     } elseif (is_file('../' . FCKIMAGES_DIR . '/image/' . $localfile)) {
         return base64_encode(file_get_contents('../' . FCKIMAGES_DIR . '/image/' . $localfile));
     }
     return '';
 }
Esempio n. 15
0
function refreshTlds($force = 0)
{
    ## fetch list of Tlds and store in DB
    $lastDone = getConfig('tld_last_sync');
    $tlds = '';
    ## let's not do this too often
    if ($lastDone + TLD_REFETCH_TIMEOUT < time() || $force) {
        ## even if it fails we mark it as done, so that we won't getting stuck in eternal updating.
        SaveConfig('tld_last_sync', time(), 0);
        if (defined('TLD_AUTH_LIST')) {
            $tlds = fetchUrl(TLD_AUTH_LIST);
        }
        if ($tlds && defined('TLD_AUTH_MD5')) {
            $tld_md5 = fetchUrl(TLD_AUTH_MD5);
            list($remote_md5, $fname) = explode(' ', $tld_md5);
            $mymd5 = md5($tlds);
            #        print 'OK: '.$remote_md5.' '.$mymd5;
            $validated = $remote_md5 == $mymd5;
        } else {
            $tlds = file_get_contents(dirname(__FILE__) . '/data/tlds-alpha-by-domain.txt');
            $validated = true;
        }
        if ($validated) {
            $lines = explode("\n", $tlds);
            $tld_list = '';
            foreach ($lines as $line) {
                ## for now, only handle ascii lines
                if (preg_match('/^\\w+$/', $line)) {
                    $tld_list .= $line . '|';
                }
            }
            $tld_list = substr($tld_list, 0, -1);
            SaveConfig('internet_tlds', strtolower($tld_list), 0);
        }
        #  } else {
        #    print $lastDone;
    }
    return true;
}
Esempio n. 16
0
<?php

$fopenAllowed = ini_get('allow_url_fopen');
if (!empty($_POST['apikey'])) {
    if (!verifyToken()) {
        print Error($GLOBALS['I18N']->get('No Access'));
        return;
    }
    $streamContext = stream_context_create(array('http' => array('timeout' => 10)));
    $check = @file_get_contents(PQAPI_URL . '&cmd=verifykey&key=' . trim($_POST['apikey']), false, $streamContext);
    $check = trim($check);
    if (!empty($check) && strpos($check, 'KEYPASS') !== false) {
        SaveConfig('PQAPIkey', trim(str_replace('"', '', strip_tags($_POST['apikey']))), 0);
        SaveConfig('pqchoice', 'phplistdotcom', 0);
        ## if we have active campaigns, start them now
        $_SESSION['action_result'] = s('Remote queue processing settings were saved successfully');
        $count = Sql_Fetch_Row_Query(sprintf("select count(*) from %s where status not in ('draft', 'sent', 'prepared', 'suspended') and embargo <= now()", $tables['message']));
        if ($count[0] > 0) {
            $_SESSION['action_result'] .= '<br/>' . activateRemoteQueue();
        }
        Redirect('messages&tab=active');
    } else {
        if (!empty($http_response_header[0]) && strpos($http_response_header[0], '200 OK') !== false) {
            $_SESSION['action_result'] = s('Error, the API key is incorrect');
        } else {
            $_SESSION['action_result'] = s('Error, unable to connect to the phpList.com server for checking. Please verify that your webserver is able to connect to https://pqapi.phplist.com') . '<br/><a href="./?page=processqueue&pqchoice=local" class="button">' . s('Use local processing instead') . '</a>';
        }
        Redirect('hostedprocessqueuesetup');
    }
}
$existingKey = getConfig('PQAPIkey');
Esempio n. 17
0
$organisation_name = getConfig('organisation_name');
$domain = getConfig('domain');
$website = getConfig('website');
if (empty($domain)) {
    $domain = $_SERVER['SERVER_NAME'];
}
if (empty($website)) {
    $website = $_SERVER['SERVER_NAME'];
}
if (empty($organisation_name)) {
    $organisation_name = $_SERVER['SERVER_NAME'];
}
$xormask = getConfig('xormask');
if (empty($xormask)) {
    $xormask = md5(uniqid(rand(), true));
    SaveConfig('xormask', $xormask, 0, 1);
}
define('XORmask', $xormask);
if (empty($_SESSION[$GLOBALS['installation_name'] . '_csrf_token'])) {
    $_SESSION[$GLOBALS['installation_name'] . '_csrf_token'] = substr(md5(uniqid(mt_rand(), true)), rand(0, 32), rand(0, 32));
}
if (isset($_SESSION['lastactivity'])) {
    $_SESSION['session_age'] = time() - $_SESSION['lastactivity'];
}
$_SESSION['lastactivity'] = time();
$GLOBALS['img_tick'] = '<span class="yes">Yes</span>';
$GLOBALS['img_cross'] = '<span class="no">No</span>';
$GLOBALS['img_view'] = '<span class="view">View</span>';
$GLOBALS['img_busy'] = '<img src="images/busy.gif" with="34" height="34" border="0" alt="Please wait" id="busyimage" />';
# if keys need expanding with 0-s
$checkboxgroup_storesize = 1;
Esempio n. 18
0
                $newscontent = fetchUrl(PHPLISTNEWSROOT . '/' . $newsitem);
                if (!empty($newscontent)) {
                    $news[$newsitem] = $newscontent;
                }
            }
        }
        ksort($news);
        $newscontent = '';
        foreach ($news as $newsitem => $newscontent) {
            $newsid = md5($newsitem);
            if (!isset($viewedmessages[$newsid])) {
                $viewedmessages[$newsid] = array('time' => time(), 'count' => 1);
            } else {
                ++$viewedmessages[$newsid]['count'];
            }
            SaveConfig('viewednews' . $_SESSION['logindetails']['id'], serialize($viewedmessages), 0, 1);
            $newscontent = '<div class="news"><a href="./?page=markread&id=' . $newsid . '" class="ajaxable hide" title="' . s('Hide forever') . '">' . s('Hide forever') . '</a>' . $newscontent . '</div>';
            break;
        }
    }
    if (!empty($newscontent)) {
        $_SESSION['newsshown'] = time();
        print '<div class="panel announcements closethisone">';
        print '<div class="content">';
        print $newscontent;
        print '</div>';
        print '</div>';
    }
}
#} // end of show one per session (not used)
/* 
Esempio n. 19
0
                    Sql_Create_Table($tables["bounceregex_bounce"], $DBstruct["bounceregex_bounce"]);
                }
                break;
        }
        # fix the new powered by image for the templates
        Sql_Query(sprintf('update %s set data = "%s",width=70,height=30 where filename = "powerphplist.png"', $tables["templateimage"], $newpoweredimage));
        print '<script language="Javascript" type="text/javascript"> finish(); </script>';
        # update the system pages
        while (list($type, $pages) = each($system_pages)) {
            foreach ($pages as $page) {
                Sql_Query(sprintf('replace into %s (page,type) values("%s","%s")', $tables["task"], $page, $type));
            }
        }
        # mark the database to be our current version
        if ($success) {
            SaveConfig("version", VERSION, 0);
            # mark now to be the last time we checked for an update
            Sql_Query(sprintf('replace into %s (item,value,editable) values("updatelastcheck",now(),0)', $tables["config"]));
            Info("Success");
        } else {
            Error("An error occurred while upgrading your database");
        }
    } else {
        ?>
<p>Your database requires upgrading, please make sure to create a backup of your database first.</p>

<p>When you're ready click <?php 
        echo PageLink2("upgrade", "Here", "doit=yes");
        ?>
. Depending on the size of your database, this may take quite a while. Please make sure not to interrupt the process, once you've started it.</p>
<?php 
Esempio n. 20
0
 function get_filesystem_image($filename)
 {
     ## get the image contents
     $localfile = basename(urldecode($filename));
     #      cl_output('get file system image'.$filename.' '.$localfile);
     if (defined('UPLOADIMAGES_DIR')) {
         #       print 'UPLOAD';
         $imageroot = getConfig('uploadimageroot');
         if (is_file($imageroot . $localfile)) {
             return base64_encode(file_get_contents($imageroot . $localfile));
         } else {
             if (is_file($_SERVER['DOCUMENT_ROOT'] . $localfile)) {
                 ## save the document root to be able to retrieve the file later from commandline
                 SaveConfig("uploadimageroot", $_SERVER['DOCUMENT_ROOT'], 0, 1);
                 return base64_encode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . $localfile));
             } elseif (is_file($_SERVER['DOCUMENT_ROOT'] . '/' . UPLOADIMAGES_DIR . '/image/' . $localfile)) {
                 SaveConfig("uploadimageroot", $_SERVER['DOCUMENT_ROOT'] . '/' . UPLOADIMAGES_DIR . '/image/', 0, 1);
                 return base64_encode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/' . UPLOADIMAGES_DIR . '/image/' . $localfile));
             } elseif (is_file($_SERVER['DOCUMENT_ROOT'] . '/' . UPLOADIMAGES_DIR . '/' . $localfile)) {
                 SaveConfig("uploadimageroot", $_SERVER['DOCUMENT_ROOT'] . '/' . UPLOADIMAGES_DIR . '/', 0, 1);
                 return base64_encode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/' . UPLOADIMAGES_DIR . '/' . $localfile));
             }
         }
     } elseif (is_file($_SERVER['DOCUMENT_ROOT'] . $GLOBALS['pageroot'] . '/' . FCKIMAGES_DIR . '/' . $localfile)) {
         $elements = parse_url($filename);
         $localfile = basename($elements['path']);
         return base64_encode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . $GLOBALS['pageroot'] . '/' . FCKIMAGES_DIR . '/' . $localfile));
     } elseif (is_file($_SERVER['DOCUMENT_ROOT'] . $GLOBALS['pageroot'] . '/' . FCKIMAGES_DIR . '/image/' . $localfile)) {
         return base64_encode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . $GLOBALS['pageroot'] . '/' . FCKIMAGES_DIR . '/image/' . $localfile));
     } elseif (is_file('../' . FCKIMAGES_DIR . '/' . $localfile)) {
         ## commandline
         return base64_encode(file_get_contents('../' . FCKIMAGES_DIR . '/' . $localfile));
     } elseif (is_file('../' . FCKIMAGES_DIR . '/image/' . $localfile)) {
         return base64_encode(file_get_contents('../' . FCKIMAGES_DIR . '/image/' . $localfile));
     }
     return '';
 }
        return;
    }
}
# configure options
reset($default_config);
if (!empty($_REQUEST['save']) && $id) {
    $info = $default_config[$id];
    if (is_array($_POST)) {
        if ($id == "website" || $id == "domain") {
            $_POST["values"][$id] = str_replace("[DOMAIN]", "", $_POST["values"][$id]);
            $_POST["values"][$id] = str_replace("[WEBSITE]", "", $_POST["values"][$id]);
        }
        if ($_POST["values"][$id] == "" && !$info[3]) {
            Error("{$info['1']} " . $GLOBALS['I18N']->get('cannot be empty'));
        } else {
            SaveConfig($id, $_POST["values"][$id], 0);
            Redirect("configure");
            exit;
        }
    }
}
if (!$id) {
    while (list($key, $val) = each($default_config)) {
        if (is_array($val)) {
            $dbval = getConfig($key);
            if (isset($dbval)) {
                $value = $dbval;
            } else {
                $value = $val[0];
            }
            printf('<p><a href="%s">%s</a> <b>%s</b><br/>', PageURL2("configure", "", "id={$key}"), $GLOBALS['I18N']->get('edit'), $GLOBALS['I18N']->get($val[1]));
Esempio n. 22
0
     $gameURLiOS = isset($_POST["gameurlios"]) ? $_POST["gameurlios"] : "";
     $gameURLAndroid = isset($_POST["gameurlandroid"]) ? $_POST["gameurlandroid"] : "";
     $screenshotURL = isset($_POST["screenshoturl"]) ? $_POST["screenshoturl"] : "";
     $description = isset($_POST["description"]) ? $_POST["description"] : "";
     SubmitEntry($gameName, $gameURL, $gameURLWeb, $gameURLWin, $gameURLMac, $gameURLLinux, $gameURLiOS, $gameURLAndroid, $screenshotURL, $description);
     break;
 case "newjam":
     $theme = isset($_POST["theme"]) ? $_POST["theme"] : "";
     $date = isset($_POST["date"]) ? $_POST["date"] : "";
     $time = isset($_POST["time"]) ? $_POST["time"] : "";
     CreateJam($theme, $date, $time, $description);
     break;
 case "saveconfig":
     if (IsAdmin()) {
         foreach ($_POST as $key => $value) {
             SaveConfig($key, $value);
         }
         LoadConfig();
         //reload config
     }
     break;
 case "editentry":
     if (IsAdmin()) {
         $jamNumber = intval($_POST["jamnumber"]);
         $author = strtolower(trim($_POST["entryauthor"]));
         $dictionary["editingentry"] = array();
         foreach ($jams as $i => $jam) {
             if (intval($jam["jam_number"]) == $jamNumber) {
                 foreach ($jam["entries"] as $j => $entry) {
                     if ($entry["author"] == $author) {
                         $dictionary["editingentry"] = $entry;