Exemplo n.º 1
0
function churchcal_handleMeetingRequest($cal_id, $params)
{
    global $base_url, $user;
    $i = new CTInterface();
    $i->setParam("cal_id");
    $i->setParam("person_id");
    $i->setParam("mailsend_date");
    $i->setParam("event_date");
    $dt = new DateTime();
    foreach ($params["meetingRequest"] as $id => $param) {
        $param["mailsend_date"] = $dt->format('Y-m-d H:i:s');
        $param["person_id"] = $id;
        $param["event_date"] = $params["startdate"];
        $param["cal_id"] = $cal_id;
        $db = db_query('select mr.*, c.modified_pid from {cc_meetingrequest} mr, {cc_cal} c where 
         c.id=mr.cal_id and mr.person_id=:person_id and mr.cal_id=:cal_id', array(":person_id" => $param["person_id"], ":cal_id" => $param["cal_id"]))->fetch();
        if ($db == false) {
            db_insert("cc_meetingrequest")->fields($i->getDBInsertArrayFromParams($param))->execute(false);
            $txt = "<h3>Hallo [Spitzname]!</h3><p>";
            $txt .= "<P>Du wurdest auf " . variable_get('site_name', 'ChurchTools');
            $txt .= ' von <i>' . $user->vorname . " " . $user->name . "</i>";
            $txt .= " f&uuml;r einen Termin angefragt. ";
            $db = db_query("select if (password is null and loginstr is null and lastlogin is null,1,0) as invite from {cdb_person}\n               where id=:id", array(":id" => $id))->fetch();
            if ($db !== false) {
                if ($db->invite == 1) {
                    include_once CHURCHDB . '/churchdb_ajax.php';
                    churchdb_invitePersonToSystem($id);
                    $txt .= "Da Du noch nicht kein Zugriff auf das System hast, bekommst Du noch eine separate E-Mail, mit der Du Dich dann anmelden kannst!";
                }
                $txt .= "<p>Zum Zu- oder Absagen bitte hier klicken:";
                $loginstr = churchcore_createOnTimeLoginKey($id);
                $txt .= '<p><a href="' . $base_url . '?q=home&id=' . $id . '&loginstr=' . $loginstr . '" class="btn btn-primary">%sitename aufrufen</a>';
                churchcore_sendEMailToPersonids($id, "[" . variable_get('site_name', 'ChurchTools') . "] Neue Termin-Anfrage", $txt, null, true);
            }
        } else {
            /*      db_update("cc_meetingrequest")
                    ->fields($i->getDBInsertArrayFromParams($param))
                    ->condition("person_id", $param["person_id"], "=")
                    ->condition("cal_id", $param["cal_id"], "=")
                    ->execute(false);
                  churchcore_sendEMailToPersonids($id, "[".variable_get('site_name', 'ChurchTools')."] Anpassung in einer Termin-Anfrage", "anpassung", null, true);*/
        }
    }
}
 /**
  *
  * @param array $params
  * @throws CTException
  */
 public function sendEMail($params)
 {
     global $user;
     include_once './' . CHURCHDB . '/churchdb_db.php';
     $groups = churchdb_getMyGroups($user->id, true, false);
     if (empty($groups[$params["groupid"]])) {
         throw new CTException("Group is not allowed!");
     }
     $ids = churchdb_getAllPeopleIdsFromGroups(array($params["groupid"]));
     churchcore_sendEMailToPersonids(implode(",", $ids), "[" . variable_get('site_name', 'ChurchTools') . "] Nachricht von {$user->vorname} {$user->name}", $params["message"], null, true);
 }