Exemple #1
0
function accumulate(&$row, &$count, &$hours, $report_start, $report_end, &$room_hash, &$breve_description_hash, $csv = "n")
{
    global $vocab;
    if ($_GET["sumby"] == "5") {
        $temp = grr_sql_query1("SELECT type_name FROM " . TABLE_PREFIX . "_type_area WHERE type_letter = '" . $row[$_GET["sumby"]] . "'");
    } else {
        if ($_GET["sumby"] == "3" || $_GET["sumby"] == "6") {
            $temp = $row[$_GET["sumby"]];
        } else {
            $temp = grrExtractValueFromOverloadDesc($row[12], $_GET["sumby"]);
        }
    }
    if ($temp == "") {
        $temp = "(Autres)";
    }
    if ($csv == "n") {
        //Description "Créer par":
        // [3]   Descrition brêve,(HTML) -> e.name
        // [4]   Descrition,(HTML) -> e.description
        // [5]   Type -> e.type
        // [6]   réservé par (nom ou IP), (HTML) -> e.beneficiaire
        // [12]  les champs additionnele -> e.overload_desc
        $breve_description = htmlspecialchars($temp);
        //$row[8] : Area , $row[9]:Room
        $room = htmlspecialchars($row[8]) . $vocab["deux_points"] . "<br />" . htmlspecialchars($row[9]);
    } else {
        $breve_description = $temp;
        //   $row[8] : Area , $row[9]:Room
        $room = removeMailUnicode($row[9]) . " (" . removeMailUnicode($row[8]) . ")";
    }
    //Ajoute le nombre de réservations pour cette "room" et nom.
    @$count[$room][$breve_description]++;
    //Ajoute le nombre d'heure ou la ressource est utilisée.
    @($hours[$room][$breve_description] += (min((int) $row[2], $report_end) - max((int) $row[1], $report_start)) / 3600.0);
    $room_hash[$room] = 1;
    $breve_description_hash[$breve_description] = 1;
}
Exemple #2
0
/**
 * @return string
 */
function affiche_nom_prenom_email($_beneficiaire, $_beneficiaire_ext, $type = "nomail")
{
    if ($_beneficiaire != "") {
        $sql_beneficiaire = "SELECT prenom, nom, email FROM " . TABLE_PREFIX . "_utilisateurs WHERE login = '******'";
        $res_beneficiaire = grr_sql_query($sql_beneficiaire);
        if ($res_beneficiaire) {
            $nb_result = grr_sql_count($res_beneficiaire);
            if ($nb_result == 0) {
                $chaine = get_vocab("utilisateur_inconnu") . $_beneficiaire;
            } else {
                $row_user = grr_sql_row($res_beneficiaire, 0);
                if ($type == "formail") {
                    $chaine = removeMailUnicode($row_user[0]) . " " . removeMailUnicode($row_user[1]);
                    if ($row_user[2] != "") {
                        $chaine .= " (" . $row_user[2] . ")";
                    }
                } else {
                    if ($type == "onlymail") {
                        // Cas où en envoie uniquement le mail
                        $chaine = grr_sql_query1("select email from " . TABLE_PREFIX . "_utilisateurs where login='******'");
                    } else {
                        if ($type == "withmail" and $row_user[2] != "") {
                            // Cas où en envoie les noms, prénoms et mail
                            $chaine = affiche_lien_contact($_beneficiaire, "identifiant:oui", "afficher_toujours");
                        } else {
                            // Cas où en envoie les noms, prénoms sans le mail
                            $chaine = $row_user[0] . " " . $row_user[1];
                        }
                    }
                }
            }
            return $chaine;
        } else {
            return "";
        }
    } else {
        // cas d'un bénéficiaire extérieur
        // On récupère le tableau des nom et emails
        $tab_benef = donne_nom_email($_beneficiaire_ext);
        // Cas où en envoie uniquement le mail
        if ($type == "onlymail") {
            $chaine = $tab_benef["email"];
            // Cas où en envoie les noms, prénoms et mail
        } else {
            if ($type == "withmail" && $tab_benef["email"] != "") {
                $email = explode('@', $tab_benef["email"]);
                $person = $email[0];
                if (isset($email[1])) {
                    $domain = $email[1];
                    $chaine = "<script type=\"text/javascript\">encode_adresse('" . $person . "','" . $domain . "','" . AddSlashes($tab_benef["nom"]) . "',1);</script>";
                } else {
                    $chaine = $tab_benef["nom"];
                }
            } else {
                // Cas où en envoie les noms, prénoms sans le mail
                $chaine = $tab_benef["nom"];
            }
        }
        return $chaine;
    }
}
Exemple #3
0
 if ($destinataire == "") {
     echo "<h1 class=\"avertissement\">L'envoi de messages est impossible car l'adresse email du destinataire n'a pas été renseignée.</h1>";
     include "include/trailer.inc.php";
     exit;
 }
 //N.B. pour peaufiner, mettre un script de vérification de l'adresse email et du contenu du message !
 $message = "";
 if ($fin_session == 'n' && getUserName() != '') {
     $message .= "Nom et prénom du demandeur : " . affiche_nom_prenom_email(getUserName(), "", "nomail") . "\n";
     $user_email = grr_sql_query1("select email from " . TABLE_PREFIX . "_utilisateurs where login='******'");
     if ($user_email != "" && $user_email != -1) {
         $message .= "Email du demandeur : " . $user_email . "\n";
     }
     $message .= $vocab["statut"] . preg_replace("/ /", " ", $vocab["deux_points"]) . $_SESSION['statut'] . "\n";
 }
 $message .= $vocab["company"] . preg_replace("/ /", " ", $vocab["deux_points"]) . removeMailUnicode(Settings::get("company")) . "\n";
 $message .= $vocab["email"] . preg_replace("/ /", " ", $vocab["deux_points"]) . $email_reponse . "\n";
 $message .= "\n" . $corps_message . "\n";
 $sujet = $vocab["subject_mail1"] . " - " . $objet_message;
 error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING);
 require 'phpmailer/PHPMailerAutoload.php';
 define("GRR_FROM", Settings::get("grr_mail_from"));
 define("GRR_FROMNAME", Settings::get("grr_mail_fromname"));
 $mail = new PHPMailer();
 $mail->isSMTP();
 $mail->SMTPDebug = 0;
 $mail->Debugoutput = 'html';
 $mail->Host = Settings::get("grr_mail_smtp");
 $mail->Port = 25;
 $mail->SMTPAuth = false;
 $mail->CharSet = 'UTF-8';
Exemple #4
0
          $display_type .=  " selected=\"selected\"";
        }
      } else {
      // Nouvelle réservation
          $id_type_par_defaut = grr_sql_query1("select id_type_par_defaut from ".TABLE_PREFIX."_area where id = '".$areas."'");
		  //Récupère le cookie par defaut
		  if($aff_default and isset($_COOKIE['type_default'])) $cookie = $_COOKIE['type_default']; else $cookie="";
          if ((!$cookie and ($id_type_par_defaut == $row[2])) or ($cookie and $cookie==$row[0])) $display_type .=  " selected=\"selected\"";
      }
      $display_type .=  " >".htmlentities(removeMailUnicode($row[0]))."</option>\n";
    }
    }

$display_type .=  "</select>";
if($aff_default)
	$display_type .= "&nbsp;<input type=\"button\" value=\"".get_vocab("definir par defaut")."\" onclick=\"setdefault('type_default',document.getElementById('main').type.options[document.getElementById('main').type.options.selectedIndex].text)\" />";
$display_type .= "</td></tr></table>\n";

if ($unicode_encoding)
 header("Content-Type: text/html;charset=utf-8");
else
 header("Content-Type: text/html;charset=".$charset_html);

header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');

if ($nb_type > 1) {
    echo $display_type;
} else {
	echo "<table width=100%><tr><td class=\"E\"><b>".get_vocab("type").get_vocab("deux_points").htmlentities(removeMailUnicode($type_nom_unique))."</b>"."<input name=\"type\" type=\"hidden\" value=\"".$type_id_unique."\" /></td></tr></table>\n";
}
?>
Exemple #5
0
  if ($destinataire=="") {
        echo "<h1 class=\"avertissement\">L'envoi de messages est impossible car l'adresse email du destinataire n'a pas été renseignée.</h1>";
        include "include/trailer.inc.php";
        exit;
  }

	//N.B. pour peaufiner, mettre un script de vérification de l'adresse email et du contenu du message !
	$message="";
	if (($fin_session == 'n') and (getUserName()!='')) {
	    $message .= "Nom et prénom du demandeur : ".affiche_nom_prenom_email(getUserName(),"","nomail")."\n";
      $user_email = grr_sql_query1("select email from ".TABLE_PREFIX."_utilisateurs where login='******'");
      if (($user_email != "") and ($user_email != -1))
    	    $message .= "Email du demandeur : ".$user_email."\n";
	    $message .= $vocab["statut"].preg_replace("/&nbsp;/", " ",$vocab["deux_points"]).$_SESSION['statut']."\n";
	}
	$message .= $vocab["company"].preg_replace("/&nbsp;/", " ",$vocab["deux_points"]).removeMailUnicode(getSettingValue("company"))."\n";
	$message .= $vocab["email"].preg_replace("/&nbsp;/", " ",$vocab["deux_points"]).$email_reponse."\n";
	$message.="\n".$corps_message."\n";
  $sujet = $vocab["subject_mail1"]." - ".$objet_message;

  require_once ("./include/mail.inc.php");
  $m= new my_phpmailer();
  $m->SetLanguage("fr","./phpmailer/language/");
  setlocale(LC_ALL,$locale);
  $tab_destinataire = explode(';',preg_replace("/ /", "",$destinataire));
  foreach($tab_destinataire as $item_email){
      $m->AddAddress($item_email);
  }
  $m->Subject = $sujet;
  $m->Body = $message;
  $m->AddReplyTo( $email_reponse );
     $data = '';
 }
 if ($overload_fields[$fieldname]['type'] == 'textarea') {
     echo '<tr><td><div class="col-xs-12"><textarea class="form-control" cols="80" rows="2" name="addon_' . $overload_fields[$fieldname]['id'] . '">' . htmlspecialchars($data) . "</textarea></div></td></tr>\n";
 } elseif ($overload_fields[$fieldname]['type'] == 'text') {
     echo '<tr><td><div class="col-xs-12"><input class="form-control" size="80" type="text" name="addon_' . $overload_fields[$fieldname]['id'] . '" id="addon_' . $overload_fields[$fieldname]['id'] . '" value="' . htmlspecialchars($data) . "\" /></div></td></tr>\n";
 } elseif ($overload_fields[$fieldname]['type'] == 'numeric') {
     echo '<tr><td><div class="col-xs-12"><input class="form-control" size="20" type="text" name="addon_' . $overload_fields[$fieldname]['id'] . '" id="addon_' . $overload_fields[$fieldname]['id'] . '" value="' . htmlspecialchars($data) . "\" /></div></td></tr>\n";
 } elseif ($overload_fields[$fieldname]['type'] == 'checkbox') {
     if ($data == "") {
         $data = "oui";
         $checked = "";
     } else {
         $checked = 'checked="checked"';
     }
     echo '<tr><td><div class="checkbox"><label><input type="checkbox" ' . $checked . ' name="addon_' . $overload_fields[$fieldname]['id'] . '" id="addon_' . $overload_fields[$fieldname]['id'] . '" value="' . htmlspecialchars($data) . '" />' . removeMailUnicode($fieldname) . $flag_obli . '</label></div></td></tr>';
 } else {
     echo '<tr><td><div class="col-xs-12"><select class="form-control" name="addon_' . $overload_fields[$fieldname]['id'] . "\" size=\"1\">\n";
     if ($overload_fields[$fieldname]['obligatoire'] == 'y') {
         echo '<option value="">' . get_vocab('choose') . '</option>';
     }
     foreach ($overload_fields[$fieldname]['list'] as $value) {
         echo '<option ';
         if (htmlspecialchars($data) == trim($value, '&') || $data == '' && $value[0] == '&') {
             echo ' selected="selected"';
         }
         echo '>' . trim($value, '&') . "</option>\n";
     }
     echo "</select></div>\n</td></tr>\n";
 }
 echo "</table>\n";
Exemple #7
0
function accumulate(&$row, &$count, &$hours, $report_start, $report_end,
    &$room_hash, &$breve_description_hash, $csv="n")
{
  global $vocab;
    if ($_GET["sumby"] == "5")
        $temp = grr_sql_query1("select type_name from ".TABLE_PREFIX."_type_area where type_letter = '".$row[$_GET["sumby"]]."'");
    else if (($_GET["sumby"] == "3") or ($_GET["sumby"] == "6"))
        $temp = $row[$_GET["sumby"]];
    else
        $temp = grrExtractValueFromOverloadDesc($row[12],$_GET["sumby"]);
    if ($temp == "") $temp = "(Autres)";
    if ($csv == "n") {
      #Description "Créer par":
      # [3]   Descrition brêve,(HTML) -> e.name
      # [4]   Descrition,(HTML) -> e.description
      # [5]   Type -> e.type
      # [6]   réservé par (nom ou IP), (HTML) -> e.beneficiaire
      # [12]  les champs additionnele -> e.overload_desc
      $breve_description = grr_htmlSpecialChars($temp);
      #   $row[8] : Area , $row[9]:Room
      $room = grr_htmlSpecialChars($row[8]) .$vocab["deux_points"]. "<br />" . grr_htmlSpecialChars($row[9]);
    } else {
      $breve_description = ($temp);
      #   $row[8] : Area , $row[9]:Room
      $room = removeMailUnicode($row[9]) ." (". removeMailUnicode($row[8]).")";
    }
    #Ajoute le nombre de réservations pour cette "room" et nom.
    @$count[$room][$breve_description]++;
    #Ajoute le nombre d'heure ou la ressource est utilisée.
    @$hours[$room][$breve_description] += (min((int)$row[2], $report_end)
        - max((int)$row[1], $report_start)) / 3600.0;
    $room_hash[$room] = 1;
    $breve_description_hash[$breve_description] = 1;
}
/**
 * Send email to administrator to notify a new/changed entry.
 *
 * @param   array   $mail_previous  contains deleted entry data forr email body
 * @return  bool    TRUE or PEAR error object if fails
 */
function notifyAdminOnDelete($mail_previous)
{
    global $typel, $enable_periods, $auth, $tbl_users, $CFG;
    //
    $recipients = '';
    MAIL_ADMIN_ON_BOOKINGS ? $recipients = MAIL_RECIPIENTS : '';
    if (MAIL_AREA_ADMIN_ON_BOOKINGS) {
        if ('' != $mail_previous['area_admin_email']) {
            $recipientlist[] = $mail_previous['area_admin_email'];
        }
    }
    if (MAIL_ROOM_ADMIN_ON_BOOKINGS) {
        if ('' != $mail_previous['room_admin_email']) {
            $recipientlist[] = $mail_previous['room_admin_email'];
        }
    }
    if (MAIL_BOOKER) {
        if ('moodle' == $auth['type']) {
            /* It would be possible to move this query within the query in
               getPreviousEntryData to have all in one central place and to
               reduce database hits by one. However this is a bad idea. If a
               user is deleted from your user database, this will prevent all
               mails to admins when this user previously booked entries will
               be changed, as no user name will match the booker name */
            $sql = "SELECT email FROM ";
            $sql .= $CFG->prefix . 'user WHERE username='******'";
            $sql .= $mail_previous['createdby'];
            $sql .= "'";
            $res = sql_query($sql);
            !$res ? fatal_error(0, sql_error()) : '';
            $row = sql_row($res, 0);
            if (NULL != $row[0]) {
                $recipientlist[] = $row[0];
            }
        } else {
            //this should never be the case with the MRBS Moodle block
            if (!empty($recipients) && '' != $mail_previous['createdby']) {
                if ('' != $mail_previous['createdby']) {
                    $recipientlist[] = str_replace(MAIL_USERNAME_SUFFIX, '', $mail_previous['createdby']) . MAIL_DOMAIN;
                }
            }
        }
    }
    // In case mail is allowed but someone forgot to supply email addresses...
    if (sizeof($recipientlist) == 0) {
        return FALSE;
    }
    //
    $subject = get_string('mail_subject_delete', 'block_mrbs');
    $body = get_string('mail_body_del_entry', 'block_mrbs') . ": \n\n";
    // Displays deleted entry details
    $body .= "\n" . get_string('namebooker', 'block_mrbs') . ': ';
    $body .= removeMailUnicode($mail_previous['namebooker']) . "\n";
    $body .= get_string('description') . ": ";
    $body .= removeMailUnicode($mail_previous['description']) . "\n";
    $body .= get_string('room', 'block_mrbs') . ": ";
    $body .= removeMailUnicode($mail_previous['area_name']);
    $body .= " - " . removeMailUnicode($mail_previous['room_name']) . "\n";
    $body .= get_string('start_date', 'block_mrbs') . ': ';
    if ($enable_periods) {
        $body .= unHtmlEntities($mail_previous['start_date']) . "\n";
    } else {
        $body .= $mail_previous['start_date'] . "\n";
    }
    $body .= get_string('duration', 'block_mrbs') . ': ' . $mail_previous['duration'] . ' ';
    $body .= $mail_previous['dur_units'] . "\n";
    if ($enable_periods) {
        $body .= get_string('end_date', 'block_mrbs') . ": ";
        $body .= unHtmlEntities($mail_previous['end_date']) . "\n";
    } else {
        $body .= get_string('end_date', 'block_mrbs') . ": " . $mail_previous['end_date'];
        $body .= "\n";
    }
    $body .= get_string('type', 'block_mrbs') . ": ";
    $body .= empty($typel[$mail_previous['type']]) ? "?" . $mail_previous['type'] . "?" : $typel[$mail_previous['type']];
    $body .= "\n" . get_string('createdby', 'block_mrbs') . ": ";
    $body .= $mail_previous['createdby'] . "\n";
    $body .= get_string('lastmodified') . ": " . $mail_previous['updated'];
    $body .= "\n" . get_string('rep_type', 'block_mrbs');
    $temp = $mail_previous['rep_type'];
    $body .= ": " . get_string('rep_type_' . $temp, 'block_mrbs');
    if ($mail_previous['rep_type'] > 0) {
        if ($mail_previous['rep_type'] == 6) {
            $body .= "\n" . get_string('rep_num_weeks', 'block_mrbs');
            $body .= ": " . $mail_previous["rep_num_weeks"];
        }
        if ($mail_previous["rep_opt"]) {
            $body .= "\n" . get_string('rep_rep_day', 'block_mrbs');
            $body .= " " . $mail_previous["rep_opt"];
        }
        $body .= "\n" . get_string('rep_end_date', 'block_mrbs');
        $body .= " " . $mail_previous['rep_end_date'] . "\n";
    }
    $body .= "\n";
    // End of mail details
    array_unique($recipientlist);
    $result = 1;
    if (!($fromuser = get_user_by_email(MAIL_FROM))) {
        $result = 0;
    }
    foreach ($recipientlist as $recip) {
        $recipuser = get_user_by_email($recip);
        if ($recipuser && $result) {
            $result = email_to_user($recipuser, $fromuser, $subject, $body);
            if (!$result) {
                notice(get_string('error_send_email', 'block_mrbs', $recip));
            }
        } else {
            if ($recipuser < 1) {
                $result = 0;
                notice(get_string('no_user_with_email', 'block_mrbs', $recip));
            } else {
                notice(get_string('no_user_with_email', 'block_mrbs', MAIL_FROM));
            }
        }
    }
    return $result;
}
if ($unicode_encoding) {
    header("Content-Type: text/html;charset=utf-8");
} else {
    header("Content-Type: text/html;charset=" . $charset_html);
}
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
// Boucle sur les areas
$overload_fields = mrbsOverloadGetFieldslist($areas);
foreach ($overload_fields as $fieldname => $fieldtype) {
    if ($overload_fields[$fieldname]["obligatoire"] == "y") {
        $flag_obli = " *";
    } else {
        $flag_obli = "";
    }
    echo "<table width=\"100%\" id=\"id_" . $areas . "_" . $overload_fields[$fieldname]["id"] . "\">";
    echo "<tr><td class=E><b>" . removeMailUnicode($fieldname) . $flag_obli . "</b></td></tr>\n";
    if (isset($overload_data[$fieldname]["valeur"])) {
        $data = $overload_data[$fieldname]["valeur"];
    } else {
        $data = "";
    }
    if ($overload_fields[$fieldname]["type"] == "textarea") {
        echo "<tr><td><div class=\"col-xs-12\"><textarea class=\"form-control\" cols=\"80\" rows=\"2\" name=\"addon_" . $overload_fields[$fieldname]["id"] . "\">" . htmlspecialchars($data) . "</textarea></div></td></tr>\n";
    } else {
        if ($overload_fields[$fieldname]["type"] == "text") {
            echo "<tr><td><div class=\"col-xs-12\"><input class=\"form-control\" size=\"80\" type=\"text\" name=\"addon_" . $overload_fields[$fieldname]["id"] . "\" value=\"" . htmlspecialchars($data) . "\" /></div></td></tr>\n";
        } else {
            if ($overload_fields[$fieldname]["type"] == "numeric") {
                echo "<tr><td><div class=\"col-xs-12\"><input class=\"form-control\" size=\"20\" type=\"text\" name=\"addon_" . $overload_fields[$fieldname]["id"] . "\" value=\"" . htmlspecialchars($data) . "\" /></div></td></tr>\n";
            } else {
                echo "<tr><td><div class=\"col-xs-12\"><select class=\"form-control\" name=\"addon_" . $overload_fields[$fieldname]["id"] . "\" size=\"1\">\n";
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');

// Boucle sur les areas
$overload_fields = mrbsOverloadGetFieldslist($areas);
foreach ($overload_fields as $fieldname=>$fieldtype) {
        if ($overload_fields[$fieldname]["obligatoire"] == "y") $flag_obli = " *" ; else $flag_obli = "";
        echo "<table width=\"100%\" id=\"id_".$areas."_".$overload_fields[$fieldname]["id"]."\">";
        echo "<tr><td class=E><b>".removeMailUnicode($fieldname).$flag_obli."</b></td></tr>\n";
        if (isset($overload_data[$fieldname]["valeur"]))
            $data = $overload_data[$fieldname]["valeur"];
        else
            $data = "";
        if ($overload_fields[$fieldname]["type"] == "textarea" )
            echo "<tr><td><textarea cols=\"80\" rows=\"2\" name=\"addon_".$overload_fields[$fieldname]["id"]."\">".htmlentities(removeMailUnicode($data))."</textarea></td></tr>\n";
        else if ($overload_fields[$fieldname]["type"] == "text" )
            echo "<tr><td><input size=\"80\" type=\"text\" name=\"addon_".$overload_fields[$fieldname]["id"]."\" value=\"".htmlentities(removeMailUnicode($data))."\" /></td></tr>\n";
        else if ($overload_fields[$fieldname]["type"] == "numeric" )
            echo "<tr><td><input size=\"20\" type=\"text\" name=\"addon_".$overload_fields[$fieldname]["id"]."\" value=\"".htmlentities(removeMailUnicode($data))."\" /></td></tr>\n";
        else {
            echo "<tr><td><select name=\"addon_".$overload_fields[$fieldname]["id"]."\" size=\"1\">\n";
            if ($overload_fields[$fieldname]["obligatoire"] == 'y') echo '<option value="">'.get_vocab('choose').'</option>';
            foreach ($overload_fields[$fieldname]["list"] as $value) {
                echo "<option ";
                if ($data == trim($value,"&") or ($data=="" and $value[0]=="&")) echo " selected=\"selected\"";
                echo ">".trim($value,"&")."</option>\n";
            }
            echo "</select>\n</td></tr>\n";
        }
        echo "</table>\n";
}
?>