public function upgradeInfos()
 {
     $configuration = new Configuration('wakka.config.php');
     $configuration->load();
     $configuration['yeswiki_release'] = $this->release;
     return $configuration->write();
 }
Example #2
0
 /**
  * API initialization
  * 
  * Launch all needed services to response to API request, first by checking
  * token and doing authentication if asked
  * 
  * @version 1.0
  * @return  void
  */
 public static function init()
 {
     // we store HTTP header & body content
     self::$headers = getallheaders();
     self::$body = json_decode(file_get_contents('php://input'));
     // we check if request method is OPTIONS to send just headers without content
     if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
         self::parsing();
         self::result();
     }
     // we search asked module & methods
     if (isset($_SERVER['PATH_INFO'])) {
         $path = substr($_SERVER['PATH_INFO'], 1);
         self::$module = explode('/', $path);
     } else {
         self::$module = array();
     }
     // we check if a token exist and we store it
     if (isset(self::$headers['Authorization']) && substr(self::$headers['Authorization'], 0, 4) == Configuration::read('token')) {
         $token = explode(' ', self::$headers['Authorization']);
         self::$token = $token[1];
     }
     // we check if an authenticate is asked or if client have a valid token
     if (isset(self::$module[0]) && self::$module[0] == 'authenticate') {
         self::auth();
     } else {
         self::token_auth();
     }
     // we try connection to bdd client
     $dsn['client'] = 'mysql:host=' . Configuration::read('db.host') . ';port=' . Configuration::read('db.port') . ';dbname=leqg_' . self::$client . ';charset=utf8';
     // We try to connect the script to the LeQG Core MySQL DB
     try {
         $dbh['client'] = new PDO($dsn['client'], Configuration::read('db.user'), Configuration::read('db.pass'));
         // We save in configuration class the SQL link
         Configuration::write('db.client', $dbh['client']);
     } catch (PDOException $e) {
         // We store SQL connection error into the API result
         API::error(503, 'SQLConnectionFail', 'Can not connect to the client database server.');
         // We stop script execution
         exit;
     }
     // we launch client asked module
     if (!empty(self::$module[0]) && class_exists(self::$module[0])) {
         $module = self::$module[0];
         ${$module} = new $module();
     } elseif (!empty(self::$module[0]) && self::$module[0] != 'authenticate') {
         API::error(404, 'UnknownModule', 'Vous demandez un module qui n\'existe pas');
     } elseif (empty(self::$module[0])) {
         API::error(404, 'UnknownModule', 'Vous demandez un module qui n\'existe pas');
     }
 }
Example #3
0
<?php

chdir('..');
require 'libraries/start.php';
// setup
$message = '';
$config = array();
// save input
if (array_key_exists('config', $_POST) && $_POST['config']) {
    $config = Http::clean($_POST['config'], 'html');
    $errors = find_configuration_errors($config);
    // display errors, if any
    if ($errors) {
        foreach ($errors as $error) {
            $message .= "<p class='error'>{$error}</p>";
        }
    } else {
        Configuration::write($config);
        Configuration::reset();
    }
}
// get config
$config = Configuration::getInstance();
// templating
$t = new Template(Configuration::get('base_dir') . DS . 'templates' . DS . 'base.html');
$t->replace('base_url', Configuration::get('base_url'));
$t->replaceFromPHPFile('content', Configuration::get('base_dir') . DS . 'templates' . DS . 'configuration.html', array('c' => $config));
$t->replace('message', $message);
$t->display();
Example #4
0
Configuration::write('ini', $config);
// On fabrique la classe $noyau de connexion au noyau central
$host = '217.70.189.234';
$port = 3306;
$dbname = 'leqg-core';
$user = '******';
$pass = '******';
$charset = 'utf8';
$dsn = "mysql:host={$host};port={$port};dbname={$dbname};charset={$charset}";
$core = new PDO($dsn, $user, $pass);
// On fabrique la classe $link de liaison PDO
$dsn = 'mysql:host=' . Configuration::read('db.host') . ';dbname=' . Configuration::read('db.basename') . ';charset=utf8';
$link = new PDO($dsn, Configuration::read('db.user'), Configuration::read('db.pass'));
// On enregistre les liaisons SQL
Configuration::write('db.core', $core);
Configuration::write('db.link', $link);
// On charge les API extérieures
require_once '../api/esendex/autoload.php';
require_once '../api/phpmailer/class.phpmailer.php';
// On configure les données des API extérieures
$api['sms']['auth'] = new \Esendex\Authentication\LoginAuthentication($config['SMS']['compte'], $config['SMS']['login'], $config['SMS']['pass']);
$api['mail']['charset'] = 'UTF-8';
$api['mail']['smtp']['host'] = $config['MAIL']['host'];
$api['mail']['smtp']['user'] = $config['MAIL']['user'];
$api['mail']['smtp']['pass'] = $config['MAIL']['pass'];
$api['mail']['smtp']['port'] = $config['MAIL']['port'];
$api['mail']['from']['email'] = '*****@*****.**';
$api['mail']['from']['nom'] = 'Ne Pas Répondre';
$api['mail']['reply']['email'] = '*****@*****.**';
$api['mail']['reply']['nom'] = 'LeQG';
// On inclut les classes non chargées
 private function pathsConfig($sxml)
 {
     foreach ($sxml->{$this->selfname}->paths->path as $path) {
         Configuration::write((string) $path['name'], (string) $path);
     }
 }
Example #6
0
        return false;
    }
}
// We load configuration file
$configuration = parse_ini_file('config.ini', true);
// We store token name into Configuration datas
Configuration::write('token', $configuration['token']['name']);
Configuration::write('url', $configuration['url']['base']);
Configuration::write('db.host', $configuration['core']['host']);
Configuration::write('db.port', $configuration['core']['port']);
Configuration::write('db.user', $configuration['core']['user']);
Configuration::write('db.pass', $configuration['core']['pass']);
// We prepare the data source name information for LeQG Core MySQL DB
$dsn['core'] = 'mysql:host=' . $configuration['core']['host'] . ';port=' . $configuration['core']['port'] . ';dbname=leqg_core;charset=utf8';
// We try to connect the script to the LeQG Core MySQL DB
try {
    $dbh['core'] = new PDO($dsn['core'], $configuration['core']['user'], $configuration['core']['pass']);
    // We save in configuration class the SQL link
    Configuration::write('db.core', $dbh['core']);
} catch (PDOException $e) {
    // We store SQL connection error into the API result
    API::error(503, 'CentralAuthSystemCanConnect', 'Can not connect to the central authentication server.');
    // We stop script execution
    exit;
}
// We initiate API processing
API::init();
// We parse API result to JSON format
API::parsing();
// We display API result and return HTTP response code
API::result();
Example #7
0
// On configure les données des API extérieures
$api['sms']['auth'] = new \Esendex\Authentication\LoginAuthentication($config['SMS']['compte'], $config['SMS']['login'], $config['SMS']['pass']);
$mail = new Mandrill($config['MAIL']['pass']);
$api['mail']['charset'] = 'UTF-8';
$api['mail']['smtp']['host'] = $config['MAIL']['host'];
$api['mail']['smtp']['user'] = $config['MAIL']['user'];
$api['mail']['smtp']['pass'] = $config['MAIL']['pass'];
$api['mail']['smtp']['port'] = $config['MAIL']['port'];
Configuration::write('api', $api);
Configuration::write('sms', $api['sms']['auth']);
Configuration::write('mail', $mail);
Configuration::write('mail.quota', $config['MAIL']['quota']);
Configuration::write('mail.sender.mail', $config['SENDER']['mail']);
Configuration::write('mail.sender.name', $config['SENDER']['name']);
Configuration::write('mail.replyto', $config['SENDER']['reply']);
Configuration::write('sms.sender', $config['SENDER']['name']);
// On inclut les classes non chargées
require_once 'class/boite.class.php';
require_once 'class/campaign.class.php';
require_once 'class/campagne.class.php';
require_once 'class/carto.class.php';
require_once 'class/contact.class.php';
require_once 'class/core.class.php';
require_once 'class/csv.class.php';
require_once 'class/dossier.class.php';
require_once 'class/evenement.class.php';
require_once 'class/event.class.php';
require_once 'class/folder.class.php';
require_once 'class/map.class.php';
require_once 'class/maps.class.php';
require_once 'class/mission.class.php';
Example #8
0
        case 'copieTemplate':
            $data->templateCopy($_GET['template']);
            break;
        case 'modificationSMSCampagne':
            $data->update('message', $_POST['message']);
            break;
        case 'updateTracking':
            $data->trackingUpdate();
            break;
        case 'test':
            $data->testing();
            Core::goPage('campagne', array('id' => $_GET['id']), true);
            break;
    }
}
Configuration::write('tpl.actuel', $data->get('type'));
Core::loadHeader();
if ($data->get('type') == 'email') {
    ?>
<h2 id="titre-campagne" <?php 
    if ($data->get('status') == 'open') {
        ?>
class="titre"<?php 
    }
    ?>
 data-campagne="<?php 
    $data->get('id');
    ?>
"><?php 
    if (!empty($data->get('objet'))) {
        echo 'Campagne &laquo;&nbsp;' . $data->get('objet') . '&nbsp;&raquo;';
 private function alertTypesConfig($sxml)
 {
     foreach ($sxml->{$this->selfname}->alertTypes->value as $value) {
         Configuration::write((string) $value['name'], (string) $value);
     }
 }