Integration dans dolibarr et nconnector
This commit is contained in:
parent
df5d29cfc3
commit
932c0148f8
43
atelier.php
43
atelier.php
|
@ -2,9 +2,10 @@
|
|||
|
||||
|
||||
// TODO: vérifier disponibilité de la salle
|
||||
require_once("session_init.php");
|
||||
require_once("config.inc.php");
|
||||
require_once('fonctions.php');
|
||||
require_once "session_init.php";
|
||||
require_once "include/entete_dolibarr.php";
|
||||
require_once "config.inc.php";
|
||||
require_once 'fonctions.php';
|
||||
|
||||
//echo "argc=" . $argc . EOL . "argv=" . EOL;
|
||||
//print_r($argv);
|
||||
|
@ -21,20 +22,19 @@ $optind=null;
|
|||
|
||||
$opt = getopt( 'h::', $param, $optind);
|
||||
|
||||
$cat = getparam( "cat", "all" );
|
||||
$action = getparam( "action", "" );
|
||||
$date = getparam("date");
|
||||
$heure = getparam("heure");
|
||||
$courriel = getparam("courriel");
|
||||
|
||||
$cat = getpost( "cat", "all" );
|
||||
$action = getpost( "action", "sondage" );
|
||||
$date = getpost("date");
|
||||
$heure = getpost("heure");
|
||||
$courriel = getpost("courriel");
|
||||
|
||||
echo "action = " . $action;
|
||||
if( !empty(getopt("h")) or !empty(getopt("help")) )
|
||||
{
|
||||
// affiche l'aide de la commande
|
||||
print "Aide de la commande atelier.php\n
|
||||
atelier.php [--h|-h] [--date=<date>] [--heure=<heure>] [action=<action>] [cat=<catégorie>]
|
||||
atelier.php --action=sondage --date=<01/01/20> --heure=<10h30>
|
||||
atelier.php --action=nouveau --date=<01/01/20> --heure=<10h30>
|
||||
atelier.php --action=sendmail [cat=<all|membres|contacts>]
|
||||
atelier.php --action=liste
|
||||
Avec l'argument --action=liste affiche un résumé des ateliers en cours.
|
||||
|
@ -60,24 +60,28 @@ Avec l'argument --action=sendmail, elle envoi un mail contenant la liste des ate
|
|||
|
||||
switch ($action)
|
||||
{
|
||||
case "sondage":
|
||||
case "nouveau":
|
||||
// sondage => crée un nouveau sondage
|
||||
// enregistre le sondage dans la base opensurvey de dolibarr
|
||||
echo "Création du sondage ";
|
||||
$date_time = date_reservation( $date, $heure);
|
||||
echo "Création d'un sondage le " ;
|
||||
$date_time = date_reservation($date, $heure);
|
||||
print_r($date_time);
|
||||
echo date_format( $date_time["debut"], "j/m/Y à g\hi") . EOL;
|
||||
if ( !verif_agenda( $date_time ) )
|
||||
{
|
||||
echo 'La date est disponible';
|
||||
//echo 'La date est disponible';
|
||||
require_once( "donnees.inc.php");
|
||||
require_once( "db.class.php");
|
||||
echo "Enregistrement dans dolibarr/opensurvey" . EOL;
|
||||
$db = new db( "dolibarr" );
|
||||
$sondage = new sondage($commentaires, $sujet, $date_time["ts_debut"]);
|
||||
$sondage = new sondage($commentaires, $sujet);
|
||||
$sondage->mail_admin = "contact@lalis.fr";
|
||||
$sondage->nom_admin = "Daniel";
|
||||
$sondage->titre = "Atelier du " . $opt["date"] . " à " . $opt["heure"];
|
||||
$sondage->titre = "Atelier du " . date_format( $date_time["debut"], "j/m/Y à g\hi");
|
||||
$sondage->datetime_debut = date_format( $date_time['debut'], "Y-m-d H:i:s");
|
||||
$sondage->datetime_fin = date_format( $date_time['fin'], "Y-m-d H:i:s");
|
||||
$sondage->write($db);
|
||||
print_r($sondage);
|
||||
//print_r($sondage);
|
||||
$db->close();
|
||||
|
||||
// enregistre la réservation dans mrbs
|
||||
|
@ -86,18 +90,17 @@ Avec l'argument --action=sendmail, elle envoi un mail contenant la liste des ate
|
|||
|
||||
$reservation = new reservation( $date_time[ "ts_debut" ], $date_time["ts_fin"], addslashes(html_entity_decode($commentaires, ENT_QUOTES )));
|
||||
$reservation->write($db);
|
||||
print_r($reservation) . EOL;
|
||||
//print_r($reservation) . EOL;
|
||||
|
||||
// envoi de l'évènement sur l'agenda nextcloud
|
||||
require_once("send_nextcloud.php");
|
||||
echo "Ajout à l'agenda Nextcloud" . EOL;
|
||||
require_once('send_nextcloud.php');
|
||||
envoi_event($date_time, $opt, $base_url . "dbarr/public/opensurvey/studs.php?sondage=" . $sondage->id_sondage);
|
||||
envoi_event($date_time, $base_url . "dbarr/public/opensurvey/studs.php?sondage=" . $sondage->id_sondage);
|
||||
}else
|
||||
{
|
||||
echo "La date n'est pas disponible.";
|
||||
}
|
||||
|
||||
break;
|
||||
case "sendmail":
|
||||
require_once("send_mail.php");
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
|
||||
<?php
|
||||
|
||||
date_default_timezone_set("Europe/Paris");
|
||||
set_include_path (get_include_path() . PATH_SEPARATOR . __DIR__ . "/include/" . PATH_SEPARATOR . __DIR__ . "/config/");
|
||||
|
||||
//constantes des niveaux de log
|
||||
|
@ -14,14 +13,14 @@ define( 'WEB', 1);
|
|||
$base_url = "https://lalis69.ddns.net:10443/";
|
||||
if ( empty($_SERVER) )
|
||||
{
|
||||
$env = CLI;
|
||||
$web = CLI;
|
||||
define( 'EOL', "\n");
|
||||
define( 'TAB', "\t");
|
||||
}else
|
||||
{
|
||||
$env = WEB;
|
||||
$web = WEB;
|
||||
define( 'EOL', "<br>");
|
||||
define( 'TAB', "$nbsp$nbsp$nbsp$nbsp");
|
||||
define( 'TAB', "    ");
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
<?php
|
||||
|
||||
require_once "session_init.php";
|
||||
require_once "include/entete_dolibarr.php";
|
||||
require_once "config.inc.php";
|
||||
require_once 'fonctions.php';
|
||||
|
||||
echo '<form action="atelier.php" method="post">
|
||||
Sélectioner la catégorie à laquelle envoyer le courriel des ateliers<br>
|
||||
<select name="cat">
|
||||
<option value="membres" default>Membres</option>
|
||||
<option value="contacts">Contacts</option>
|
||||
<option value="all">Tous</option>
|
||||
</select>
|
||||
<br>
|
||||
ou l\'adresse courriel de la personne.<br>
|
||||
<input type="email" name="courriel" />
|
||||
<input type="submit" value="envoyer" />
|
||||
<input type="hidden" name="action" value="sendmail" />
|
||||
</form>';
|
||||
|
||||
|
||||
?>
|
|
@ -61,6 +61,7 @@ class db
|
|||
|
||||
$this->result = $this->connect->query( $string ) ;
|
||||
if ( $this->connect->error ) log_error( "Échec de la commande query" . " => ". $this->connect->error . "<br />" . __file__ . esp( 'ligne' ) . __line__ . "\n" . $string, false, true );
|
||||
return $this->connect->error;
|
||||
}
|
||||
|
||||
function error()
|
||||
|
@ -80,7 +81,8 @@ class sondage
|
|||
public $nom_admin;
|
||||
public $fk_user_creat = 1;
|
||||
public $titre;
|
||||
public $date_fin;
|
||||
public $datetime_debut;
|
||||
public $datetime_fin;
|
||||
public $status = 1;
|
||||
public $format ="A";
|
||||
public $mailsonde = 1;
|
||||
|
@ -89,20 +91,20 @@ class sondage
|
|||
public $tms;
|
||||
public $sujet;
|
||||
|
||||
function __construct($commentaires, $sujet, $datetime)
|
||||
function __construct($commentaires, $sujet)
|
||||
{
|
||||
$this->commentaires = $commentaires;
|
||||
$this->sujet = $sujet;
|
||||
$this->id_sondage = $datetime;
|
||||
$this->id_sondage = date("YmdHis");
|
||||
$this->entity = 1;
|
||||
}
|
||||
|
||||
function write($db)
|
||||
{
|
||||
if ($this->date_fin != null)
|
||||
if ($this->datetime_fin != null)
|
||||
{
|
||||
$dfc = "date_fin, ";
|
||||
$dfv = "'" . $this->date_fin . "', ";
|
||||
$dfv = "'" . $this->datetime_fin . "', ";
|
||||
}else
|
||||
{
|
||||
$dfc = '';
|
||||
|
@ -137,7 +139,7 @@ class reservation
|
|||
{
|
||||
$this->ical_uid = uniqid("MRBS-") . "-" . bin2hex(random_bytes(4)) . "@librepc.com";
|
||||
$query = "INSERT INTO mrbs_entry (start_time, end_time, create_by, name, type, description, status, ical_uid) VALUES ($this->start_time, $this->end_time, '$this->create_by', '$this->name', '$this->type', '$this->description', $this->status, '$this->ical_uid')";
|
||||
echo $query;
|
||||
//echo $query;
|
||||
$db->query($query);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,50 @@
|
|||
<?php
|
||||
|
||||
require_once "session_init.php";
|
||||
// Load Dolibarr environment
|
||||
$res=0;
|
||||
// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined)
|
||||
if (! $res && ! empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) $res=@include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php";
|
||||
// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME
|
||||
$tmp=empty($_SERVER['SCRIPT_FILENAME'])?'':$_SERVER['SCRIPT_FILENAME'];$tmp2=realpath(__FILE__); $i=strlen($tmp)-1; $j=strlen($tmp2)-1;
|
||||
while($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i]==$tmp2[$j]) { $i--; $j--; }
|
||||
if (! $res && $i > 0 && file_exists(substr($tmp, 0, ($i+1))."/main.inc.php")) $res=@include substr($tmp, 0, ($i+1))."/main.inc.php";
|
||||
if (! $res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i+1)))."/main.inc.php")) $res=@include dirname(substr($tmp, 0, ($i+1)))."/main.inc.php";
|
||||
// Try main.inc.php using relative path
|
||||
if (! $res && file_exists("../main.inc.php")) $res=@include "../main.inc.php";
|
||||
if (! $res && file_exists("../../main.inc.php")) $res=@include "../../main.inc.php";
|
||||
if (! $res && file_exists("../../../main.inc.php")) $res=@include "../../../main.inc.php";
|
||||
if (! $res) die("Include of main fails");
|
||||
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
|
||||
|
||||
// Load translation files required by the page
|
||||
$langs->loadLangs(array("outilslalis@outilslalis"));
|
||||
|
||||
$action=GETPOST('action', 'alpha');
|
||||
|
||||
|
||||
// Securite acces client
|
||||
if (! $user->rights->outilslalis->read) accessforbidden();
|
||||
$socid=GETPOST('socid','int');
|
||||
if (isset($user->societe_id) && $user->societe_id > 0)
|
||||
{
|
||||
$action = '';
|
||||
$socid = $user->societe_id;
|
||||
}
|
||||
|
||||
$max=5;
|
||||
$now=dol_now();
|
||||
|
||||
$form = new Form($db);
|
||||
$formfile = new FormFile($db);
|
||||
|
||||
llxHeader("",$langs->trans("OutilsLalisArea"));
|
||||
|
||||
print load_fiche_titre($langs->trans("OutilsLalisArea"),'','outilslalis.png@outilslalis');
|
||||
|
||||
print '<div class="fichecenter"><div class="fichethirdleft">';
|
||||
|
||||
|
||||
|
||||
?>
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
function getpost( $var, $default="", $session=false )
|
||||
function getparam( $var, $default="", $session=false )
|
||||
{
|
||||
global $opt;
|
||||
//echo '$var =>' . $var . "<br />";
|
||||
|
@ -28,17 +28,32 @@ function getpost( $var, $default="", $session=false )
|
|||
|
||||
function date_reservation( $date, $heure )
|
||||
{
|
||||
$date_exploded = explode( "/", $date );
|
||||
print_r($date_exploded);
|
||||
if ( $date_exploded[2] < 2000 ) //si année sur 2 chiffres
|
||||
if ( strpos($date, "/") != 0 )
|
||||
{
|
||||
$date_exploded[2] += 2000; // on rajoute 2000
|
||||
$date_exploded = explode( "/", $date );
|
||||
if ( $date_exploded[2] < 2000 ) //si année sur 2 chiffres
|
||||
{
|
||||
$date_exploded[2] += 2000; // on rajoute 2000
|
||||
}
|
||||
if ( strpos($heure, "h") != 0 )
|
||||
{
|
||||
$time_exploded = explode( "h", $heure );
|
||||
}else
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
$date_time["mysql"] = $date_exploded[2] . "-" . $date_exploded[1] . "-" . $date_exploded[0] . " " . $time_exploded[0] . ":" . $time_exploded[1] .":00";
|
||||
}elseif( strpos($date, "-") != 0 )
|
||||
{
|
||||
$date_time["mysql"] = $date . " " . $heure . ":00";
|
||||
|
||||
}else
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
$time_exploded = explode( "h", $heure );
|
||||
print_r($time_exploded);
|
||||
$date_time["mysql"] = $date_exploded[2] . "-" . $date_exploded[1] . "-" . $date_exploded[0] . " " . $time_exploded[0] . ":" . $time_exploded[1] .":00";
|
||||
|
||||
$date_time["debut"] = DateTime::createFromFormat("Y-m-d H:i:s", $date_time["mysql"]);
|
||||
$interval = new DateInterval('PT1H30M');
|
||||
$interval = new DateInterval('PT01H30M');
|
||||
$date_time["fin"] = clone $date_time["debut"];
|
||||
$date_time["fin"]->add( $interval );
|
||||
$date_time["ts_debut"] = $date_time["debut"]->getTimestamp();
|
||||
|
@ -67,21 +82,5 @@ function verif_agenda( $date_time )
|
|||
if ( !empty($result) ) return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
function write( $str )
|
||||
{
|
||||
global $env;
|
||||
if ($env == CLI)
|
||||
{
|
||||
|
||||
}else
|
||||
{
|
||||
echo
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
<?php
|
||||
|
||||
require_once( "db.class.php" );
|
||||
function recap()
|
||||
{
|
||||
global $base_url;
|
||||
global $base_url, $web;
|
||||
require_once "db.class.php";
|
||||
// on ouvre la bd dolibarr 2 fois
|
||||
// la première la liste des sondages actifs triés par date de date_fin
|
||||
// la deuxième pour lire les résumlatts des sondages
|
||||
// la deuxième pour lire les résultats des sondages
|
||||
$db = new db("dolibarr");
|
||||
$db2= new db("dolibarr");
|
||||
|
||||
|
@ -15,7 +15,6 @@ function recap()
|
|||
// Pour chaque sondage on va lire les résultats
|
||||
if ( $db->result->num_rows !=0 )
|
||||
{
|
||||
echo "Liste des sondages:" . EOL;
|
||||
while( $sondage = $db->result->fetch_array() )
|
||||
{
|
||||
// tri des résultats des sondages qui sont compilés dns un seul champ
|
||||
|
@ -63,46 +62,48 @@ function recap()
|
|||
{
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
echo "<h2>Liste des sondages</h2>";
|
||||
foreach( $resultat as $resume)
|
||||
{
|
||||
if ($env)
|
||||
if ($web)
|
||||
{
|
||||
$titre = "<h1>" . $resume["titre"] . "</H1>";
|
||||
$str = TAB . strstr( $resume["nom_atelier"][$atelier["atelier"]], "@checkbox" , true ) . " Votes : " . $atelier["votes"] . EOL;
|
||||
$pas_atelier = TAB . "Pas d'ateliers" . EOL;
|
||||
$url = TAB . "Url : " . $resume["url"] . EOL;
|
||||
|
||||
$str_atelier = "<h4>" . $resume["titre"] . "</h4>";
|
||||
$url = TAB . 'Url : <a href="' . $resume["url"] . '">' . $resume["url"] . '</a>' . EOL;
|
||||
}else
|
||||
{
|
||||
$titre = $resume["titre"];
|
||||
$str = TAB . strstr( $resume["nom_atelier"][$atelier["atelier"]], "@checkbox" , true ) . " Votes : " . $atelier["votes"] . EOL;
|
||||
$pas_atelier = TAB . "Pas d'ateliers" . EOL;
|
||||
echo "Liste des sondages:" . EOL;
|
||||
$str_atelier = $resume["titre"];
|
||||
$url = TAB . "Url : " . $resume["url"] . EOL;
|
||||
}
|
||||
echo $titre . EOL;
|
||||
|
||||
echo $str_atelier;
|
||||
foreach( $resume["reponse"] as $atelier )
|
||||
{
|
||||
if ( isset ($atelier["atelier"]) )
|
||||
if ( !empty($atelier["atelier"]) )
|
||||
{
|
||||
|
||||
$str = TAB . strstr( $resume["atelier"], "@checkbox" , true ) . " Votes : " . $atelier["votes"] . EOL;
|
||||
echo $str;
|
||||
|
||||
}else
|
||||
{
|
||||
echo $pas_atelier;
|
||||
echo TAB . "Pas d'ateliers" . EOL;
|
||||
}
|
||||
echo $url;
|
||||
}
|
||||
echo EOL;
|
||||
echo $url;
|
||||
|
||||
}
|
||||
}else
|
||||
{
|
||||
echo "Aucun atelier de prévu" . EOL;
|
||||
if ($web)
|
||||
{
|
||||
echo "<h1>Aucun atelier de prévu</h1>";
|
||||
}else
|
||||
{
|
||||
echo "Aucun atelier de prévu" . EOL;
|
||||
}
|
||||
}
|
||||
|
||||
llxFooter();
|
||||
}
|
||||
?>
|
||||
|
|
|
@ -50,8 +50,8 @@ function send_mail( $cat_dest, $destinataire, $texte='' )
|
|||
while( $contacts = $db->result->fetch_array() )
|
||||
{
|
||||
$mail_adresse = $contacts["email"];
|
||||
envoi_mail( $mail_adresse, "[Lalis] prochains ateliers", $mail, $headers );
|
||||
//echo "envoi mail: $mail_adresse," . "[Lalis] prochains ateliers" . $mail . $headers;
|
||||
//envoi_mail( $mail_adresse, "[Lalis] prochains ateliers", $mail, $headers );
|
||||
echo "envoi mail: $mail_adresse," . "[Lalis] prochains ateliers" . $mail . $headers;
|
||||
sleep(1);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
require_once('SimpleCalDAVClient.php');
|
||||
|
||||
function envoi_event($date_time, $opt, $url)
|
||||
function envoi_event($date_time, $url)
|
||||
{
|
||||
$client = new SimpleCalDAVClient();
|
||||
$date = $opt["date"];
|
||||
$date = date_format($date_time['debut'], 'd/m/Y' );
|
||||
$date_creation = date("Ymd\THis\Z");
|
||||
$datetime_start = date("Ymd\THis\Z", $date_time["ts_debut"]);
|
||||
$datetime_fin = date("Ymd\THis\Z", $date_time["ts_fin"]);
|
||||
$datetime_start = date_format($date_time["debut"], "Ymd\THis\Z");
|
||||
$datetime_fin = date_format($date_time["fin"], "Ymd\THis\Z");
|
||||
$ID = uniqid();
|
||||
$NewEvent = "BEGIN:VCALENDAR
|
||||
PRODID:-//Atelier Lalis//FR
|
||||
|
@ -21,14 +21,12 @@ TZOFFSETFROM:+0000
|
|||
TZOFFSETTO:+0100
|
||||
TZNAME:CEST
|
||||
DTSTART:19700329T020000
|
||||
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
|
||||
END:DAYLIGHT
|
||||
BEGIN:STANDARD
|
||||
TZOFFSETFROM:+0100
|
||||
TZOFFSETTO:+0000
|
||||
TZNAME:CET
|
||||
DTSTART:19701025T030000
|
||||
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
|
||||
END:STANDARD
|
||||
END:VTIMEZONE
|
||||
BEGIN:VEVENT
|
||||
|
@ -45,6 +43,7 @@ LOCATION:Lalis 7 place Louis Chazette 69001 Lyon
|
|||
DESCRIPTION:Inscription: $url
|
||||
END:VEVENT
|
||||
END:VCALENDAR";
|
||||
echo $NewEvent;
|
||||
try {
|
||||
/*
|
||||
* To establish a connection and to choose a calendar on the server, use
|
||||
|
|
|
@ -0,0 +1,156 @@
|
|||
#!/usr/bin/php
|
||||
|
||||
<?php
|
||||
|
||||
require_once "session_init.php";
|
||||
require_once "config.inc.php";
|
||||
require_once "log.php";
|
||||
require_once "db.class.php";
|
||||
include_once "entete_dolibarr.php";
|
||||
|
||||
function concat ($a, $b)
|
||||
{
|
||||
if ( !empty($a) && !empty($b) )
|
||||
{
|
||||
$r = $a . " " . $b;
|
||||
}else
|
||||
{
|
||||
$r = $a . $b;
|
||||
}
|
||||
return $r;
|
||||
}
|
||||
|
||||
$status_nc='';
|
||||
$flag = 0;
|
||||
$data = array("displayname"=>array("value"=>"","scope"=>"contacts","verified"=>"0"),"address"=>array("value"=>"[adresse]","scope"=>"private","verified"=>"0"),"website"=>array("value"=>"","scope"=>"private","verified"=>"0"),"email"=>array("value"=>"","scope"=>"contacts","verified"=>"1"),"avatar"=>array("scope"=>"contacts","verified"=>"0"),"phone"=>array("value"=>"","scope"=>"private","verified"=>"0"),"twitter"=>array("value"=>"","scope"=>"private","verified"=>"0"));
|
||||
|
||||
$doldb = new db("dolibarr");
|
||||
$ncdb = new db("nextcloud");
|
||||
|
||||
$doldb->query("SELECT login, firstname, lastname, pass_crypted, fk_adherent_type, address, email, phone_perso, phone_mobile, zip, town, fk_user_valid, datefin FROM llx_adherent");
|
||||
//print_r ($ncdb);
|
||||
while ($user = $doldb->result->fetch_assoc())
|
||||
{
|
||||
$insert = false;
|
||||
if ($user["fk_user_valid"] == null) $user["fk_user_valid"] = 0;
|
||||
$ncdb->query("SELECT uid FROM oc_accounts WHERE uid='" . $user["login"] . "'");
|
||||
if ( $ncdb->result->num_rows != 0 )
|
||||
{
|
||||
// L'utilisateur existe déjà, on ne le crée pas, mais on vérifie sa validité et si il est à jour de cotisation.
|
||||
$ncuser = $ncdb->result->fetch_assoc();
|
||||
|
||||
// vérification si l'utilisateur est à jour de cotisation
|
||||
if( !empty($user['datefin']) )
|
||||
{
|
||||
$datefin = DateTime::createFromFormat("Y-m-d H:i:s", $user['datefin']);
|
||||
$interval = new DateInterval('P0000Y02M00D');
|
||||
|
||||
$datefin->add($interval);
|
||||
if ( $datefin->getTimestamp() <= time() )
|
||||
{
|
||||
// désactive l'utilisateur hors cotisation
|
||||
echo "Utilisateur " . $user["login"] . " hors cotisation" .EOL;
|
||||
$status = "false";
|
||||
}else
|
||||
{
|
||||
// réactive l'utilisateur désactivé à jour de cotisation.
|
||||
//echo "réactive l'utilisateur " . $user["login"] . " désactivé à jour de cotisation" . EOL;
|
||||
$status = "true";
|
||||
}
|
||||
}
|
||||
$ncdb->query("SELECT configvalue FROM oc_preferences WHERE userid='" . $user["login"] . "' AND appid='core' AND configkey='enabled'");
|
||||
if ( $ncdb->result->num_rows != 0 )
|
||||
{
|
||||
// le validité de l'utilisateur est définie
|
||||
//echo "utilisateur " . $user["login"] . " valide" . EOL;
|
||||
$r = $ncdb->result->fetch_assoc();
|
||||
$status_nc = $r["configvalue"] ;
|
||||
}else
|
||||
{
|
||||
// pas de définition de la validité de l'utilisateur => par défaut utilisateur valide
|
||||
//echo "utilisateur valide par défaut";
|
||||
$insert = true; // insertion de la validité dans la table préférence
|
||||
//$status_nc = 'true';
|
||||
}
|
||||
if ( $user["fk_user_valid"] == 0 || $status_nc == "false" )
|
||||
{
|
||||
// différence entre nexcloud et dolibarr
|
||||
//echo "mise à jour du statut de => " . $user["login"] . " à " . $user["fk_user_valid"] . EOL;
|
||||
//write_status( $insert, $user["login"], $user["fk_user_valid"], $ncdb );
|
||||
$status = "false";
|
||||
}else
|
||||
{
|
||||
$status ="true";
|
||||
}
|
||||
if ( $status_nc != $status )
|
||||
{
|
||||
write_status( $insert, $user['login'] , $status, $ncdb );
|
||||
}
|
||||
}else
|
||||
{
|
||||
echo $user["login"] . " n'existe pas" . EOL;
|
||||
if ( empty($user["phone_mobile"]) )
|
||||
{
|
||||
$data["phone"]["value"] = $user["phone_perso"];
|
||||
}else
|
||||
{
|
||||
$data["phone"]["value"] = $user["phone_mobile"];
|
||||
}
|
||||
|
||||
$data["displayname"]["value"] = addslashes(concat(utf8_encode($user["firstname"]), utf8_encode($user["lastname"])));
|
||||
$address = concat(utf8_encode($user['address']), $user["zip"]);
|
||||
$data["address"]["value"] = (concat ($address, utf8_encode($user["town"])));
|
||||
$data["email"]["value"] = "'" . $user["email"] . "'";
|
||||
print_r($data);
|
||||
if ( ($account_data = json_encode($data)) == false )
|
||||
{
|
||||
echo json_last_error() . EOL;
|
||||
exit (0);
|
||||
}
|
||||
|
||||
$oc_account_query = 'INSERT INTO oc_accounts (uid, data) VALUES ("' . $user["login"] . '","' . addslashes($account_data) .'")';
|
||||
$oc_users_query = 'INSERT INTO oc_users (uid, displayname, password, uid_lower) VALUES ("' . $user["login"] . '","' . $user["firstname"] . ' ' . $user["lastname"] . '","1|' . $user["pass_crypted"] . '","' . strtolower($user["login"]) . '")';
|
||||
|
||||
if ($user["fk_adherent_type"] == 2)
|
||||
{
|
||||
$gid="membres";
|
||||
}else if ($user["fk_adherent_type"] == 3)
|
||||
{
|
||||
$gid="contributeurs";
|
||||
}
|
||||
|
||||
$oc_group_user_query = "INSERT INTO oc_group_user(uid, gid) VALUES ('" . $user["login"] . "','" . $gid . "')";
|
||||
|
||||
$oc_preferences_query_quota = "INSERT INTO oc_preferences(userid, appid, configkey, configvalue) VALUES ('" . $user["login"] . "', 'files', 'quota', '10 GB')";
|
||||
$oc_preferences_query_email = "INSERT INTO oc_preferences(userid, appid, configkey, configvalue) VALUES ('" . $user["login"] . "', 'settings', 'email', '" . $user["email"] . "')";
|
||||
//echo $account_data . EOL . $oc_account_query . EOL . $oc_users_query .EOL . $oc_group_user_query . EOL . $oc_preferences_query_quota . EOL . $oc_preferences_query_email . EOL;
|
||||
|
||||
$ncdb->query($oc_account_query);
|
||||
$ncdb->query($oc_users_query);
|
||||
$ncdb->query($oc_group_user_query);
|
||||
$ncdb->query($oc_preferences_query_quota);
|
||||
$ncdb->query($oc_preferences_query_email);
|
||||
}
|
||||
|
||||
//$ncdb->result->close();
|
||||
//if ($flag > 12) exit;
|
||||
}
|
||||
//$doldb->result->close();
|
||||
llxFooter();
|
||||
|
||||
function write_status( $mode, $uid, $status, $db )
|
||||
{
|
||||
if ( $mode )
|
||||
{
|
||||
echo "Création du statut de" . $uid . " statut: " . $status . EOL;
|
||||
$query = "INSERT INTO oc_preferences (userid, appid, configkey, configvalue) VALUES ( '" . $uid . "', 'core', 'enabled', '" . $status . "' ) ";
|
||||
}else
|
||||
{
|
||||
echo "Modification du statut de " . $uid . " statut: " . $status . EOL;
|
||||
$query = "UPDATE oc_preferences SET configvalue = '" . $status ."' WHERE userid='" . $uid . "' AND appid='core' AND configkey='enabled'" ;
|
||||
|
||||
}
|
||||
$db->query( $query );
|
||||
//echo $query;
|
||||
}
|
||||
?>
|
|
@ -82,19 +82,10 @@ print load_fiche_titre($langs->trans("OutilsLalisArea"),'','outilslalis.png@outi
|
|||
|
||||
print '<div class="fichecenter"><div class="fichethirdleft">';
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
require_once 'config.inc.php';
|
||||
include "recap.php";
|
||||
recap();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* BEGIN MODULEBUILDER DRAFT MYOBJECT
|
||||
// Draft MyObject
|
||||
if (! empty($conf->outilslalis->enabled) && $user->rights->outilslalis->read)
|
||||
|
@ -114,4 +105,3 @@ print '</div></div></div>';
|
|||
|
||||
// End of page
|
||||
llxFooter();
|
||||
$db->close();
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
<?php
|
||||
|
||||
require_once "session_init.php";
|
||||
require_once "include/entete_dolibarr.php";
|
||||
require_once "config.inc.php";
|
||||
require_once 'fonctions.php';
|
||||
|
||||
echo '<form action="atelier.php" method="post">
|
||||
Date et heure de l\'atelier : <input type="date" name="date" />
|
||||
<input type="time" name="heure" required />
|
||||
<input type="submit" value="envoyer" />
|
||||
<input type="hidden" name="action" value="nouveau" />
|
||||
</form>';
|
||||
|
||||
?>
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
ini_set('session.use_strict_mode','true');
|
||||
ini_set('display_errors', 1);
|
||||
ini_set('display_startup_errors', 1);
|
||||
ini_set('session.use_strict_mode','true');
|
||||
ini_set('session.cookie_secure','true');
|
||||
ini_set('session.hash_function','md5');
|
||||
date_default_timezone_set("Europe/Paris");
|
||||
|
|
Reference in New Issue