mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-24 02:12:17 +00:00
Coodle
- Reservierung von Räumen nach Abschluss der Umfrage - Design Anpassungen - Freebusy für Coodletermine - Mailversand mit Coodle-Event im Anhang
This commit is contained in:
@@ -54,6 +54,8 @@ class coodle extends basis_db
|
||||
public $datum; // date
|
||||
public $uhrzeit; // date
|
||||
public $auswahl; // boolean
|
||||
|
||||
public $status_arr;
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
@@ -648,6 +650,50 @@ class coodle extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Laedt alle Termine einer Umfrage zu denen eine Ressource zugesagt hat
|
||||
* @param $coodle_id ID der Umfrage
|
||||
* @param $ressource_id ID der Ressource
|
||||
*/
|
||||
public function getRessourceTermin($coodle_id, $ressource_id)
|
||||
{
|
||||
$qry = "SELECT
|
||||
*
|
||||
FROM
|
||||
campus.tbl_coodle_ressource_termin
|
||||
JOIN campus.tbl_coodle_termin USING(coodle_termin_id)
|
||||
WHERE
|
||||
coodle_id=".$this->db_add_param($coodle_id, FHC_INTEGER)."
|
||||
AND coodle_ressource_id=".$this->db_add_param($ressource_id, FHC_INTEGER).";";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new coodle();
|
||||
|
||||
$obj->coodle_id = $row->coodle_id;
|
||||
$obj->coodle_termin_id = $row->coodle_termin_id;
|
||||
$obj->datum = $row->datum;
|
||||
$obj->uhrzeit = $row->uhrzeit;
|
||||
$obj->auswahl = $this->db_parse_bool($row->auswahl);
|
||||
$obj->coodle_ressource_id = $row->coodle_ressource_id;
|
||||
$obj->coodle_termin_id = $row->coodle_termin_id;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Überprüfut ob der Benutzer entweder der Ersteller oder eine Ressource der Coodleumfrage ist
|
||||
* @param Integer $coodle_id
|
||||
@@ -675,9 +721,10 @@ class coodle extends basis_db
|
||||
$qry.= ' uid = '.$this->db_add_param($uid, FHC_STRING, false);
|
||||
|
||||
if($zugangscode != '')
|
||||
$qry.= ' zugangscode ='.$this->db_add_param($zugangscode, FHC_STRING, false);
|
||||
$qry.= ' zugangscode ='.$this->db_add_param($zugangscode, FHC_STRING, false);
|
||||
|
||||
$qry.="UNION SELECT 1 FROM campus.tbl_coodle WHERE ersteller_uid=".$this->db_add_param($uid).";";
|
||||
|
||||
$qry.=';';
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
@@ -1107,5 +1154,27 @@ class coodle extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle Stati
|
||||
*/
|
||||
public function loadStatus()
|
||||
{
|
||||
$qry = "SELECT * FROM campus.tbl_coodle_status";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$this->status_arr[$row->coodle_status_kurzbz]=$row->bezeichnung;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -83,7 +83,7 @@ class ical extends basis_db
|
||||
$dtend='';
|
||||
}
|
||||
}
|
||||
elseif(mb_strstr($row,'FREEBUSY:'))
|
||||
elseif(mb_strpos($row,'FREEBUSY')===0)
|
||||
$this->result[$idx].=$row."\n";
|
||||
}
|
||||
}
|
||||
@@ -114,13 +114,13 @@ class ical extends basis_db
|
||||
|
||||
foreach($rows as $row)
|
||||
{
|
||||
if(mb_strstr($row,'FREEBUSY:'))
|
||||
if(mb_strpos($row,'FREEBUSY')===0)
|
||||
{
|
||||
|
||||
$len = mb_strlen($row);
|
||||
$slashpos = mb_strpos($row, '/');
|
||||
$fblen = mb_strlen('FREEBUSY:');
|
||||
$dtstart = mb_substr($row, $fblen, $len-$slashpos);
|
||||
$doppelpunktpos = mb_strpos($row, ':');
|
||||
$dtstart = mb_substr($row, $doppelpunktpos+1, $len-$slashpos);
|
||||
$dtend = mb_substr($row, $slashpos+1);
|
||||
$this->dtresult[]=array('dtstart'=>trim($dtstart),'dtend'=>trim($dtend));
|
||||
}
|
||||
|
||||
+34
-3
@@ -57,6 +57,7 @@ class mail
|
||||
$this->CC_revievers='';
|
||||
$this->BCC_recievers='';
|
||||
$attachments='';
|
||||
$this->attachmentsplain='';
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -92,7 +93,7 @@ class mail
|
||||
|
||||
$header .= 'X-Mailer: FHComplete V1'.$eol;
|
||||
$header .= 'Mime-Version: 1.0'.$eol;
|
||||
$header .= "Content-Type: multipart/related; boundary=\"$mime_boundary_mixed\"".$eol;
|
||||
$header .= "Content-Type: multipart/mixed; boundary=\"$mime_boundary_mixed\"".$eol;
|
||||
|
||||
// Body
|
||||
$mailbody = "";
|
||||
@@ -122,7 +123,25 @@ class mail
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= "--$mime_boundary_mixed";
|
||||
|
||||
// Attachments
|
||||
// Attachments Plain
|
||||
if (is_array($this->attachmentsplain) && (count($this->attachmentsplain) > 0))
|
||||
{
|
||||
foreach ($this->attachmentsplain as $attachment)
|
||||
{
|
||||
$dispo = 'attachment';
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= "Content-Disposition: $dispo; filename={$attachment[2]}".$eol;
|
||||
$mailbody .= "Content-Type: {$attachment[1]}; name={$attachment[2]}".$eol;
|
||||
|
||||
$mailbody .= 'Content-Transfer-Encoding: '.$attachment[3].$eol;
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= $attachment[0];
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= "--$mime_boundary_mixed";
|
||||
}
|
||||
}
|
||||
|
||||
// Attachments Binary
|
||||
if (is_array($this->attachments) && (count($this->attachments) > 0))
|
||||
{
|
||||
foreach ($this->attachments as $attachment)
|
||||
@@ -177,7 +196,7 @@ class mail
|
||||
}
|
||||
|
||||
/**
|
||||
* Fuegt ein Attachment zum Mail hinzu
|
||||
* Fuegt ein Binary Attachment zum Mail hinzu
|
||||
* $file Dateiname des hinzuzufuegenden Files
|
||||
* $type MIME Type "application/xls"
|
||||
* $name Anzeigename des Files
|
||||
@@ -206,6 +225,18 @@ class mail
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fuegt ein Attachment zum Mail hinzu
|
||||
* $content
|
||||
* $type MIME Type "application/xls"
|
||||
* $name Anzeigename des Files
|
||||
* $ContentID die ContentID der Datei falls sie als inline-image genutzt wird
|
||||
*/
|
||||
public function addAttachmentPlain($content, $type, $name, $encoding='8bit')
|
||||
{
|
||||
$this->attachmentsplain[] = Array($content, $type, $name, $encoding);
|
||||
return true;
|
||||
}
|
||||
/**
|
||||
* Setzt den ReplyTo
|
||||
*/
|
||||
|
||||
@@ -92,5 +92,34 @@ class stunde extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Liefert die Stunden innerhalb der uebergebenen Uhrzeiten
|
||||
* @param $uhrzeit_start
|
||||
* @param $uhrzeit_ende
|
||||
* @return array $stunden
|
||||
*/
|
||||
public function getStunden($uhrzeit_start, $uhrzeit_ende)
|
||||
{
|
||||
$stunden=array();
|
||||
|
||||
$qry = "SELECT
|
||||
*
|
||||
FROM
|
||||
lehre.tbl_stunde
|
||||
WHERE
|
||||
(beginn BETWEEN ".$this->db_add_param($uhrzeit_start)." AND ".$this->db_add_param($uhrzeit_ende).")
|
||||
OR (ende BETWEEN ".$this->db_add_param($uhrzeit_start)." AND ".$this->db_add_param($uhrzeit_ende).");";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$stunden[] = $row->stunde;
|
||||
}
|
||||
}
|
||||
return $stunden;
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -219,5 +219,38 @@ class stundenplan extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Prueft ob ein Stundenplaneintrag fuer den gewaehlten Ort/Datum/Stunde vorhanden ist
|
||||
* @param $ort_kurzbz
|
||||
* @param $datum
|
||||
* @param $stunde
|
||||
* @return true wenn belegt, false wenn frei, false+errormsg bei Fehler
|
||||
*/
|
||||
public function isBelegt($ort_kurzbz, $datum, $stunde)
|
||||
{
|
||||
$qry = "SELECT
|
||||
1
|
||||
FROM
|
||||
lehre.tbl_$this->stpl_table
|
||||
WHERE
|
||||
ort_kurzbz=".$this->db_add_param($ort_kurzbz)."
|
||||
AND datum=".$this->db_add_param($datum)."
|
||||
AND stunde=".$this->db_add_param($stunde).";";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($this->db_num_rows($result)>0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user