return long2ip($uint);
}
-
-/******************************************************************************
- * Security functions
- *****************************************************************************/
-
-function check_ip($level)
-{
- if (empty($_SERVER['REMOTE_ADDR'])) {
- return false;
- }
- if (empty($_SESSION['check_ip'])) {
- $ips = array();
- if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
- $ips = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
- }
- $ips[] = $_SERVER['REMOTE_ADDR'];
- foreach ($ips as &$ip) {
- $ip = '(ip & mask) = (' . ip_to_uint($ip) . '& mask)';
- }
- $res = XDB::query('SELECT state, description
- FROM ip_watch
- WHERE ' . implode(' OR ', $ips) . '
- ORDER BY state DESC');
- if ($res->numRows()) {
- $state = $res->fetchOneAssoc();
- $_SESSION['check_ip'] = $state['state'];
- $_SESSION['check_ip_desc'] = $state['description'];
- } else {
- $_SESSION['check_ip'] = 'safe';
- }
- }
- $test = array();
- switch ($level) {
- case 'unsafe': $test[] = 'unsafe';
- case 'dangerous': $test[] = 'dangerous';
- case 'ban': $test[] = 'ban'; break;
- default: return false;
- }
- return in_array($_SESSION['check_ip'], $test);
-}
-
-function check_email($email, $message)
-{
- $res = XDB::query("SELECT state, description
- FROM emails_watch
- WHERE state != 'safe' AND email = {?}", $email);
- if ($res->numRows()) {
- send_warning_mail($message);
- return true;
- }
- return false;
-}
-
-function check_account()
-{
- return S::v('watch_account');
-}
-
-function check_redirect($red = null)
-{
- require_once 'emails.inc.php';
- if (is_null($red)) {
- $red = new Redirect(S::v('uid'));
- }
- if ($red->get_uid() == S::v('uid')) {
- $_SESSION['no_redirect'] = !$red->other_active('');
- $_SESSION['mx_failures'] = $red->get_broken_mx();
- }
-}
-
-function send_warning_mail($title)
-{
- global $globals;
- $mailer = new PlMailer();
- $mailer->setFrom("webmaster@" . $globals->mail->domain);
- $mailer->addTo($globals->core->admin_email);
- $mailer->setSubject("[Plat/al Security Alert] $title");
- $mailer->setTxtBody("Identifiants de session :\n" . var_export($_SESSION, true) . "\n\n"
- ."Identifiants de connexion :\n" . var_export($_SERVER, true));
- $mailer->send();
-}
-
-function kill_sessions()
-{
- assert(S::has_perms());
- shell_exec('sudo -u root ' . dirname(dirname(__FILE__)) . '/bin/kill_sessions.sh');
-}
-
-
-/******************************************************************************
- * Dynamic configuration update/edition stuff
- *****************************************************************************/
-
-function update_NbIns()
-{
- global $globals;
- $res = XDB::query("SELECT COUNT(*)
- FROM auth_user_md5
- WHERE perms IN ('admin','user') AND deces=0");
- $cnt = $res->fetchOneCell();
- $globals->changeDynamicConfig(array('NbIns' => $cnt));
-}
-
-function update_NbValid()
-{
- global $globals;
- $res = XDB::query("SELECT COUNT(*)
- FROM requests");
- $globals->changeDynamicConfig(array('NbValid' => $res->fetchOneCell()));
-}
-
-function update_NbNotifs()
-{
- require_once 'notifs.inc.php';
- $n = select_notifs(false, S::i('uid'), S::v('watch_last'), false);
- $_SESSION['notifs'] = $n->numRows();
-}
-
// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
?>
$TIME_BEGIN = microtime(true);
+require_once dirname(__FILE__) . '/misc.inc.php';
+
define('PERMS_EXT', 'ext');
define('PERMS_USER', 'user');
define('PERMS_ADMIN', 'admin');
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
***************************************************************************/
-require_once("xorg.misc.inc.php");
-
define("SUCCESS", 1);
define("ERROR_INACTIVE_REDIRECTION", 2);
define("ERROR_INVALID_EMAIL", 3);
private function getUser($uid, $email)
{
- require_once("xorg.misc.inc.php");
$res = XDB::query("SELECT FIND_IN_SET('femme', flags) AS sexe, nom, prenom, promo
FROM auth_user_md5
WHERE user_id = {?}", $uid);
public function getText(array $user)
{
- $page = new XorgPage('marketing/marketing.mail.tpl', NO_SKIN);
+ $page = new XorgPage();
+ $page->changeTpl('marketing/marketing.mail.tpl', NO_SKIN);
$this->prepareText($page, $user);
return $page->raw();
}
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
***************************************************************************/
-require_once("xorg.misc.inc.php");
-
// {{{ class MassMailer
abstract class MassMailer
WHERE ni_id={?}', $uid);
XDB::execute('DELETE FROM watch_nonins WHERE ni_id={?}', $uid);
}
- require_once 'xorg.misc.inc.php';
update_NbNotifs();
}
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
***************************************************************************/
-require_once('xorg.misc.inc.php');
require_once('user.func.inc.php');
global $globals;
parent::__construct($_uid, true, 'usage');
$this->nom_usage = $_usage;
$this->reason = $_reason;
- require_once 'xorg.misc.inc.php';
$this->alias = make_username($this->prenom, $this->nom_usage);
if (!$this->nom_usage) $this->alias = "";
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
***************************************************************************/
-require_once('xorg.misc.inc.php');
require_once('user.func.inc.php');
class VCardIterator implements PlIterator
define('PL_PAGE_CLASS', 'XnetPage');
require_once dirname(dirname(__FILE__)) . '/core/include/platal.inc.php';
-require_once('xorg.misc.inc.php');
-require_once('globals.inc.php');
-require_once('xnet/session.inc.php');
-require_once('xnet/page.inc.php');
+require_once 'globals.inc.php';
+require_once 'xnet/session.inc.php';
+require_once 'xnet/page.inc.php';
function __autoload($cls)
{
define('PL_PAGE_CLASS', 'XorgPage');
require_once dirname(dirname(__FILE__)) . '/core/include/platal.inc.php';
-require_once('xorg.misc.inc.php');
-require_once('globals.inc.php');
-require_once('xorg/session.inc.php');
+require_once 'security.inc.php';
+require_once 'globals.inc.php';
+require_once 'xorg/session.inc.php';
function __autoload($cls)
{
}
}
+/******************************************************************************
+ * Dynamic configuration update/edition stuff
+ *****************************************************************************/
+
+function update_NbIns()
+{
+ global $globals;
+ $res = XDB::query("SELECT COUNT(*)
+ FROM auth_user_md5
+ WHERE perms IN ('admin','user') AND deces=0");
+ $cnt = $res->fetchOneCell();
+ $globals->changeDynamicConfig(array('NbIns' => $cnt));
+}
+
+function update_NbValid()
+{
+ global $globals;
+ $res = XDB::query("SELECT COUNT(*)
+ FROM requests");
+ $globals->changeDynamicConfig(array('NbValid' => $res->fetchOneCell()));
+}
+
+function update_NbNotifs()
+{
+ require_once 'notifs.inc.php';
+ $n = select_notifs(false, S::i('uid'), S::v('watch_last'), false);
+ $_SESSION['notifs'] = $n->numRows();
+}
+
+
+
// {{{ class XorgPage
class XorgPage extends PlPage
$page->trigSuccess("updaté correctement.");
}
if (Env::v('nomusageN') != $mr['nom_usage']) {
- require_once "xorg.misc.inc.php";
set_new_usage($mr['user_id'], Env::v('nomusageN'), make_username(Env::v('prenomN'), Env::v('nomusageN')));
}
if (Env::v('decesN') != $mr['deces']) {
if (!$uid) {
$uid = S::i('uid');
} else if ($uid != S::i('uid')) {
- require_once 'xorg.misc.inc.php';
send_warning_email("Récupération d\'un autre utilisateur ($uid)");
}
} else if (!$uid) {
$page->assign('promo', $promo);
if (Post::has('valide')) {
- require_once('xorg.misc.inc.php');
$email = trim(Post::v('mail'));
if (!isvalid_email_redirection($email)) {
$name = $req->fetchOneCell();
// on constuit la reference de la transaction
- require_once 'xorg.misc.inc.php';
$prefix = ($pay->flags->hasflag('unique')) ? str_pad("",15,"0") : rand_url_id();
$fullref = substr("$prefix-xorg-{$pay->id}",-15);
$this->infos['client'] = array_map('replace_accent', array_merge($info_client, $res->fetchOneAssoc()));
// on constuit la reference de la transaction
- require_once 'xorg.misc.inc.php';
$prefix = ($pay->flags->hasflag('unique')) ? str_pad("",15,"0") : rand_url_id();
$fullref = substr("$prefix-xorg-{$pay->id}",-15);
$page->changeTpl('profile/orange.tpl');
require_once 'validations.inc.php';
- require_once 'xorg.misc.inc.php';
$res = XDB::query(
"SELECT u.promo, u.promo_sortie
$page->changeTpl('profile/nomusage.tpl');
require_once 'validations.inc.php';
- require_once 'xorg.misc.inc.php';
$res = XDB::query(
"SELECT u.nom, u.nom_usage, u.flags, e.alias
return isset($page->values[$field]) ? $page->values[$field] : S::v($field);
}
$value = trim($value);
- require_once 'xorg.misc.inc.php';
$success = empty($value) || isvalid_email($value);
if (!$success) {
Platal::page()->trigError('Adresse Email invalide');
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
***************************************************************************/
-require_once 'xorg.misc.inc.php';
-
// {{{ function user_cmp
function user_cmp($prenom, $nom, $_prenom, $_nom)
global $globals;
extract ($sub);
- require_once "xorg.misc.inc.php";
$mailorg = make_username($prenom, $nom);
$mailorg2 = $mailorg.sprintf(".%02u", ($promo%100));
$forlife = make_forlife($prenom, $nom, $promo);
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
***************************************************************************/
-require_once("xorg.misc.inc.php");
-
// {{{ Global variables used for the search Queries
@$globals->search->result_fields = '
$page->trigError($email." n'est pas un alias polytechnique.org valide.");
}
} else {
- require_once 'xorg.misc.inc.php';
if (isvalid_email($email)) {
if (Env::v('x') && Env::has('userid') && Env::i('userid')) {
$uid = Env::i('userid');