function title($pdf, $day) { $pdf->SetLink($day->get_linker($pdf)); $date = new c_date(); $date->setDay2000($day->date); $pdf->SetFillColor(200, 200, 200); $pdf->SetDrawColor(0, 0, 0); $pdf->RoundedRect(10, 15, 190, 30, 5, '1111', 'DF'); $pdf->SetXY(10, 15); $pdf->SetFont('', 'B', 30); $pdf->drawTextBox(strtr($date->getString('D, d.m.Y'), $GLOBALS[en_to_de]), 190, 15, 'C', 'M', 0); $pdf->SetFont('', 'B', 20); $pdf->drawTextBox('Tagesübersicht:', 190, 10, 'C', 'M', 0); $pdf->Bookmark(strtr($date->getString('D, d.m.Y'), $GLOBALS[en_to_de]), 1, 0); }
public function Header() { global $print_data; $first_day = new c_date(); $first_day->setDay2000($print_data->camp->first_day); $last_day = new c_date(); $last_day->setDay2000($print_data->camp->last_day); $w = $this->getPageWidth(); $fs = $this->getFontSize(); $this->SetFontSize(8); $this->SetXY(10, 4); $this->drawTextBox($print_data->camp->slogan, $w - 20, 4, 'C', 'T', 0); $this->SetXY(10, 4); $this->drawTextBox($print_data->camp->group_name, $w - 20, 4, 'L', 'T', 0); $this->SetXY(10, 4); $this->drawTextBox($print_data->camp->name, $w - 20, 4, 'R', 'T', 0); $this->SetXY(10, 7); $this->drawTextBox($first_day->getString('d.m.Y') . " - " . $last_day->getString('d.m.Y'), $w - 20, 4, 'L', 'T', 0); $this->SetXY(10, 7); $this->drawTextBox($print_data->camp->ca_city, $w - 20, 4, 'R', 'T', 0); $this->Line(10, 10.5, $w - 10, 10.5); $this->SetFontSize($fs); return; }
while ($this_level2 = @mysql_fetch_assoc($result2)) { // Events suchen, die die Checkliste erfüllen $events = array(); $query = "SELECT \r\n\t\t\t\t\t\t\t i.id\r\n\t\t\t\t\t\t\tFROM\r\n\t\t\t\t\t\t\t event_checklist ch,\r\n\t\t\t\t\t\t\t event e,\r\n\t\t\t\t\t\t\t event_instance i\r\n\t\t\t\t\t\t\tWHERE \r\n\t\t\t\t\t\t\t ch.checklist_id = {$this_level2['id']}\r\n\t\t\t\t\t\t\tAND e.camp_id={$_camp->id}\r\n\t\t\t\t\t\t\tAND e.id = ch.event_id\r\n\t\t\t\t\t\t\tAND i.event_id = e.id\r\n\t\t\t\t\t\t\tORDER BY i.day_id, i.starttime"; $result3 = mysql_query($query); $no_events = true; while ($this_level3_instance = @mysql_fetch_assoc($result3)) { $this_level3 = $campevents[$this_level3_instance["id"]]; $no_events = false; $start = new c_time(); $start->setValue($this_level3[start]); $end = new c_time(); $end->setValue($this_level3[end]); $date = new c_date(); $date->setDay2000($this_level3[day]); $this_level3[date] = $GLOBALS[en_to_de][$date->getString("D")] . ", " . $date->getString("j.n.") . " " . $start->getString("G:i") . "-" . $end->getString("G:i"); //"Fr, 5.10. 17:15-18:00"; if ($this_level3['short_name']) { $this_level3['short_name'] .= ": "; } $events[] = $this_level3; } $level2[] = array("short" => $this_level2[short], "name" => $this_level2[name], "no_events" => $no_events, "events" => $events); } $list[$i][] = array("level2" => $level2, "short" => $this_level1[short], "name" => $this_level1[name]); } } // PHPTAL Variablen setzen $_page->html->set("pbs_list", $list[0]); $_page->html->set("js_list", $list[1]); /* Wechsel zu neuen Checklisten zulassen */
* * eCamp is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with eCamp. If not, see <http://www.gnu.org/licenses/>. */ $valid_fields = array("scoutname", "firstname", "surname", "street", "zipcode", "city", "homenr", "mobilnr", "birthday", "ahv", "sex", "jspersnr", "jsedu", "pbsedu"); $field = mysql_real_escape_string($_REQUEST[field]); $value = $_REQUEST[value]; $value_save = mysql_real_escape_string($value); if (!in_array($field, $valid_fields)) { die; } if ($field == "birthday") { $birthday = new c_date(); $birthday->setString($value_save); $value_save = $birthday->getValue(); } $query = "UPDATE user SET {$field} = '{$value_save}' WHERE id = '{$_user->id}'"; mysql_query($query); if ($field == "birthday") { $value_save = $birthday->getString("d.m.Y"); } // XML-Response senden header("Content-type: application/json"); $ans_array = array("field" => $field, "value" => $value); echo json_encode($ans_array); die;
$jsedu_content = array(); $jsedu_selected = "false"; $query = "\tSELECT \r\n\t\t\t\t\tdropdown.*, \r\n\t\t\t\t\t(\r\n\t\t\t\t\t\tSELECT \r\n\t\t\t\t\t\t\tcount(*) \r\n\t\t\t\t\t\tFROM \r\n\t\t\t\t\t\t\tuser \r\n\t\t\t\t\t\tWHERE \r\n\t\t\t\t\t\t\tuser.jsedu = dropdown.item_nr AND \r\n\t\t\t\t\t\t\tuser.id = '{$_user->id}'\r\n\t\t\t\t\t) as selected \r\n\t\t\t\tFROM \r\n\t\t\t\t\tdropdown, \r\n\t\t\t\t\tuser \r\n\t\t\t\tWHERE \r\n\t\t\t\t\tlist = 'jsedu' AND \r\n\t\t\t\t\tuser.id = '{$_user->id}'"; $result = mysql_query($query); while ($row = mysql_fetch_assoc($result)) { $jsedu_content[] = array("value" => $row[item_nr], "content" => $row[entry], "selected" => $row[selected]); if ($row['selected']) { $jsedu_selected = $row[item_nr]; } } // PBS-Ausbildung // ================ $pbsedu_content = array(); $pbsedu_selected = "false"; $query = "SELECT * FROM dropdown WHERE list = 'pbsedu'"; $query = "\tSELECT \r\n\t\t\t\t\tdropdown.*, \r\n\t\t\t\t\t(\r\n\t\t\t\t\t\tSELECT \r\n\t\t\t\t\t\t\tcount(*) \r\n\t\t\t\t\t\tFROM \r\n\t\t\t\t\t\t\tuser \r\n\t\t\t\t\t\tWHERE \r\n\t\t\t\t\t\t\tuser.pbsedu = dropdown.item_nr AND \r\n\t\t\t\t\t\t\tuser.id = '{$_user->id}'\r\n\t\t\t\t\t) as selected \r\n\t\t\t\tFROM \r\n\t\t\t\t\tdropdown, \r\n\t\t\t\t\tuser \r\n\t\t\t\tWHERE \r\n\t\t\t\t\tlist = 'pbsedu' AND \r\n\t\t\t\t\tuser.id = '{$_user->id}'"; $result = mysql_query($query); while ($row = mysql_fetch_assoc($result)) { $pbsedu_content[] = array("value" => $row[item_nr], "content" => $row[entry], "selected" => $row[selected]); if ($row['selected']) { $pbsedu_selected = $row[item_nr]; } } $query = "SELECT * FROM user WHERE id = '{$_user->id}'"; $result = mysql_query($query); $row = mysql_fetch_assoc($result); $birthday = new c_date(); $birthday->setDay2000($row[birthday]); $profile = array("img_src" => "index.php?app=user_profile&cmd=show_avatar&show_user_id=" . $_user->id, "scoutname" => array("name" => "scoutname", "value" => $row[scoutname]), "firstname" => array("name" => "firstname", "value" => $row[firstname]), "surname" => array("name" => "surname", "value" => $row[surname]), "street" => array("name" => "street", "value" => $row[street]), "zipcode" => array("name" => "zipcode", "value" => $row[zipcode]), "city" => array("name" => "city", "value" => $row[city]), "homenr" => array("name" => "homenr", "value" => $row[homenr]), "mobilnr" => array("name" => "mobilnr", "value" => $row[mobilnr]), "birthday" => array("name" => "birthday", "value" => $birthday->getString("d.m.Y")), "ahv" => array("name" => "ahv", "value" => $row[ahv]), "jspersnr" => array("name" => "jspersnr", "value" => $row[jspersnr]), "sex" => array("name" => "sex", "value" => $sex_content, "selected" => $sex_selected), "jsedu" => array("name" => "jsedu", "value" => $jsedu_content, "selected" => $jsedu_selected), "pbsedu" => array("name" => "pbsedu", "value" => $pbsedu_content, "selected" => $pbsedu_selected), "pw_change" => "", "avatar" => ""); $_page->html->set('profile', $profile); //print_r($profile);
$camp_info["subcamps"] = $subcamps; $camp_info['show_map_coor'] .= $camp_data['ca_coor1'] . $camp_data['ca_coor2'] . "," . $camp_data['ca_coor3'] . $camp_data['ca_coor4']; if ($_REQUEST['show'] == 'firsttime') { $camp_info['firsttime'] = true; } else { $camp_info['firsttime'] = false; } if ($camp_data['is_course']) { $query = "\tSELECT dropdown.entry\r\n\t\t\t\t\tFROM dropdown \r\n\t\t\t\t\tWHERE\r\n\t\t\t\t\t\tvalue = " . $camp_data['type'] . " AND\r\n\t\t\t\t\t\tlist = 'coursetype'"; $result = mysql_query($query); if (mysql_error() || !mysql_num_rows($result)) { $camp_info['type'] = "asdf"; } else { $camp_info['type'] = mysql_result($result, 0, 'entry'); } } $_page->html->set('camp_info', $camp_info); //##################################################### // Load Blocked Data: $cdate = new c_date(); $blocked_days = array(); $query = "\tSELECT \r\n\t\t\t\t\t(subcamp.start + day.day_offset) as day,\r\n\t\t\t\t\tsubcamp.id\r\n\t\t\t\tFROM\r\n\t\t\t\t\tday,\r\n\t\t\t\t\tsubcamp\r\n\t\t\t\tWHERE\r\n\t\t\t\t\tday.subcamp_id = subcamp.id AND\r\n\t\t\t\t\tsubcamp.camp_id = " . $_camp->id; $result = mysql_query($query); while ($day = mysql_fetch_assoc($result)) { if (!isset($blocked_days[$day['id']])) { $blocked_days[$day['id']] = array(); } $cdate->setDay2000($day['day']); array_push($blocked_days[$day['id']], $cdate->getString('j n Y')); } $_js_env->add('blocked_days', $blocked_days);
$move_to = ereg("([0-9]{1,2})[\\/\\. -]+([0-9]{1,2})[\\/\\. -]+([0-9]{1,4})", $move_to, $regs); $move_to = gmmktime(0, 0, 0, $regs[2], $regs[1], $regs[3]); $_camp->subcamp($subcamp_move_id) || die("error"); // Subcamp suchen $query = "SELECT * FROM subcamp WHERE id={$subcamp_move_id} AND camp_id={$_camp->id}"; $result = mysql_query($query); $subcamp = mysql_fetch_assoc($result); if (!$subcamp) { //header( "Location: index.php?app=camp" ); $ans = array("error" => true, "msg" => "Fehler"); echo json_encode($ans); die; } // Überschneidungen prüfen $start = new c_date(); $start->setUnix($move_to); $end = new c_date(); $end->setDay2000($start->getValue() + $subcamp[length] - 1); $query = "SELECT * FROM `subcamp` WHERE camp_id=" . $_camp->id . " AND NOT id=" . $subcamp[id] . " AND(`start` BETWEEN -10000 AND " . ($start->getValue() + $subcamp[length] - 1) . ") AND ((`start`+`length`-1) BETWEEN " . $start->getValue() . " AND 32000)"; $result = mysql_query($query); if (mysql_num_rows($result) >= 1) { $ans = array("error" => true, "msg" => "Der ausgewählte Zeitabschnitt überschneidet sich mit einem anderen Lagerabschnitt. Wähle einen freien Lagerabschnitt aus!"); echo json_encode($ans); die; } // Verschiebung durchführen $query = "UPDATE subcamp SET start=" . $start->getValue() . " WHERE id=" . $subcamp[id]; mysql_query($query); $ans = array("error" => false, "subcamp_start" => $start->getString("d.m.Y"), "subcamp_end" => $end->getString("d.m.Y")); echo json_encode($ans); die;
function EventInstance($event_instance_id) { $Data = EventInstanceData($event_instance_id); // Reicht der Platz aus, um den Block zu drucken... $y = $this->GetY(); $head = $Data[head]; $this->pdf->SetFillColor(hexdec(substr($head[color], 0, 2)), hexdec(substr($head[color], 2, 2)), hexdec(substr($head[color], 4, 2))); $this->pdf->RoundedRect(10, $y, 190, 18, $this->R, 'DF', '1234'); $display = "(" . $head[day_nr] . "." . $head[event_nr] . ") " . $head[short_name] . ": " . $head[name]; $this->pdf->setFontSize(20); $this->pdf->SetFontStyle('B'); $this->SetXY(15, $y); $this->pdf->Cell(120, 18, $display, 0, 1, 'L', 0); $this->pdf->setFontSize(10); $this->pdf->SetFontStyle('B'); $this->SetXY(140, $y + 1); $this->pdf->Write(5, "Datum:"); $this->SetXY(140, $y + 6.5); $this->pdf->Write(5, "Zeit:"); $this->SetXY(140, $y + 12); $this->pdf->Write(5, "Ort:"); $start_date = new c_date(); $start_date->setDay2000($head[start]); $this->SetXY(160, $y + 1); $this->pdf->Write(5, strtr($start_date->getString("D d.m.Y"), $GLOBALS[en_to_de])); $start_time = new c_time(); $start_time->setValue($head[starttime]); $end_time = new c_time(); $end_time->setValue($head[starttime] + $head[length]); $this->SetXY(160, $y + 6.5); $this->pdf->Write(5, $start_time->getString("H:i") . " - " . $end_time->getString("H:i")); $this->SetXY(160, $y + 12); $this->pdf->Write(5, $head[place]); $this->SetXY(10, $y + 18); $this->Space(4); $this->LabeldTable(190, $Data[info]); $this->Space(4); $this->LabeldCols(190, $Data[detail]); }
function title($pdf, $event_instance) { $pdf->SetLink($event_instance->get_linker($pdf), $this->y); $color = $this->color($event_instance->event->category->color); $pdf->SetLineWidth(0.5); $pdf->SetFillColor($color['r'], $color['g'], $color['b']); $pdf->RoundedRect(10, $this->y, 190, 17, 5, '1001', 'DF'); $pdf->SetLineWidth(0.2); $pdf->SetXY(15, $this->y + 1); $pdf->SetFont('', 'B', 30); $name = "(" . $event_instance->day->day_nr . "." . $event_instance->event_nr . ") "; $name .= $event_instance->event->category->short_name . ": "; $name .= $event_instance->event->name; $name_width = $pdf->GetStringWidth($name); if ($name_width > 120) { $name_font_size = max(15, 30 * 120 / $name_width); $pdf->SetFont('', 'B', $name_font_size); //$name_dy = ( 30 - $name_font_size ) / 4; //$pdf->SetXY( 15, $this->y + $name_dy ); } $pdf->MultiCell(130, 30, $name, '', 'L'); $pdf->SetFont('', 'B', 10); $date = new c_date(); $date->SetDay2000($event_instance->day->subcamp->start + $event_instance->day->day_nr - 1); $time = new c_time(); $time->SetValue($event_instance->starttime); $pdf->SetXY(155, $this->y + 1); $pdf->drawTextBox('Datum:', 15, 5, 'L', 'M', 0); $pdf->SetXY(170, $this->y + 1); $pdf->drawTextBox(strtr($date->getString('D d.m.Y'), $GLOBALS[en_to_de]), 30, 5, 'L', 'M', 0); $pdf->Link(170, $this->y + 1, 30, 5, $event_instance->day->get_linker($pdf)); $pdf->SetXY(155, $this->y + 6); $pdf->drawTextBox('Zeit:', 15, 5, 'L', 'M', 0); $pdf->SetXY(170, $this->y + 6); $pdf->drawTextBox($time->getString('H:i') . " Uhr", 30, 5, 'L', 'M', 0); $pdf->SetXY(155, $this->y + 11); $pdf->drawTextBox('Ort:', 15, 5, 'L', 'M', 0); $pdf->SetXY(170, $this->y + 11); $pdf->drawTextBox($event_instance->event->place, 30, 5, 'L', 'M', 0); $pdf->Bookmark($name, 2, $this->y); //$this->y += 22; $this->y += 17; }
function page_content($pdf, $subcamp, $start_row, $end_row) { $date = new c_date(); $num_row = $end_row - $start_row + 1; $row_width = ($this->pw - 60) / $num_row; for ($row = $start_row; $row <= $end_row; $row++) { $day = $subcamp->get_day_by_nr($row); $day->gen_event_nr(); $base_left = 30 + ($row - $start_row) * $row_width; $base_top = 30; $pdf->RoundedRect($base_left, 22, $row_width, 4, 2, '1001', ''); $pdf->RoundedRect($base_left, 26, $row_width, 4, 2, '0000', ''); $pdf->Link($base_left, 22, $row_width, 4, $day->get_linker($pdf)); $date->setDay2000($day->subcamp->start + $day->day_offset); $pdf->SetXY($base_left, 22); $pdf->SetFontSize(8); $pdf->drawTextBox(strtr($date->getString('D, d.m.Y'), $GLOBALS[en_to_de]), $row_width, 4, 'C', 'M', 0); if ($row % 2) { $pdf->SetFillColor(0, 0, 0); $pdf->SetAlpha(0.1); $pdf->RoundedRect($base_left, 30, $row_width, $this->ph - 50, 0, '0000', 'F'); $pdf->SetAlpha(1); } // MAIN DAY-JOB if ($day->user) { $pdf->SetXY($base_left, 26); $pdf->SetFontSize(8); $pdf->drawTextBox($day->user->get_name(), $row_width, 4, 'C', 'M', 0); } foreach ($day->event_instance as $event_instance) { $m = 0.3; $p = 0.5; $s = $this->time_mm($event_instance->starttime); $e = $this->time_mm($event_instance->starttime + $event_instance->length); $x = $base_left + $row_width * $event_instance->dleft + $m; $y = $base_top + $s + $m; $w = $row_width * $event_instance->width - 2 * $m; $h = $e - $s - 2 * $m; $color = $this->color($event_instance->event->category->color); $pdf->SetFillColor($color['r'], $color['g'], $color['b']); $pdf->SetAlpha(0.85); $pdf->RoundedRect($x, $y, $w, $h, 1.5, '1111', 'FD'); $pdf->Link($x, $y, $w, $h, $event_instance->get_linker($pdf)); $pdf->SetAlpha(1); $pdf->SetFontSize(6); $pdf->SetXY($x + $p, $y + $p); if ($event_instance->event->category->form_type) { $name = "(" . $day->day_nr . "." . $event_instance->event_nr . ") "; } else { $name = ""; } if ($event_instance->event->category->short_name != "") { $name .= $event_instance->event->category->short_name . ": "; } $name .= $event_instance->event->name . "\n"; if ($this->data->camp->is_course) { // ChkLst: $chklst = array(); foreach ($event_instance->event->event_checklist as $chkpnt) { $chklst[] = $chkpnt->short; } if (count($chklst)) { $name .= "[" . implode("; ", $chklst) . "]\n"; } } if (count($event_instance->event->event_responsible)) { $name .= "["; foreach ($event_instance->event->event_responsible as $user) { $name .= $user->scoutname . "; "; } $name = substr($name, 0, -2); $name .= "]"; } $pdf->MultiCell($w - 2 * $p, $h - 2 * $p, $name, 0, 'C'); $pdf->SetTextColor(0, 0, 0); } } }
$all_days_result = mysql_query($all_days_query); $events = ""; $days = array(); $day_nr = 0; while ($day = mysql_fetch_assoc($all_days_result)) { $leader_query = "\tSELECT\r\n\t\t\t\t\t\t\t\tuser_camp.user_id\r\n\t\t\t\t\t\t\tFROM\r\n\t\t\t\t\t\t\t\tjob,\r\n\t\t\t\t\t\t\t\tjob_day,\r\n\t\t\t\t\t\t\t\tuser_camp\r\n\t\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t\tjob.show_gp = 1 AND\r\n\t\t\t\t\t\t\t\tjob_day.day_id = " . $day[id] . " AND\r\n\t\t\t\t\t\t\t\tjob_day.user_camp_id = user_camp.id AND\r\n\t\t\t\t\t\t\t\tjob_day.job_id = job.id"; $leader_result = mysql_query($leader_query); if (mysql_num_rows($leader_result)) { $leader = mysql_result($leader_result, 'user_id', 0); } else { $leader = "0"; } $day_nr++; $date = new c_date(); $date->setDay2000($day[start] + $day[day_offset]); $days[] = array("day_id" => $day[id], "day_id_string" => "day_id_" . $day[id], "style" => "left:" . $day_width * ($day_nr - 1) . "px; width:" . $day_width . "px", "date" => strtr($date->getString('D d.m.Y'), $GLOBALS[en_to_de]), "link" => "index.php?app=day&cmd=home&day_id=" . $day[id], "leader" => $leader, "class" => $day_nr % 2 ? "bg1" : "bg2", "body_class" => ($day_nr % 2 ? "bg1" : "bg2") . " day_body"); } $leaders = array(); $all_leader_query = "\tSELECT\r\n\t\t\t\t\t\t\t\tuser.id,\r\n\t\t\t\t\t\t\t\tuser.scoutname,\r\n\t\t\t\t\t\t\t\tuser.firstname,\r\n\t\t\t\t\t\t\t\tuser.surname\r\n\t\t\t\t\t\t\tFROM\r\n\t\t\t\t\t\t\t\tuser,\r\n\t\t\t\t\t\t\t\tuser_camp,\r\n\t\t\t\t\t\t\t\tdropdown\r\n\t\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t\tuser_camp.function_id = dropdown.id AND\r\n\t\t\t\t\t\t\t\tdropdown.entry != 'Support' AND\r\n\t\t\t\t\t\t\t\tuser.id = user_camp.user_id AND\r\n\t\t\t\t\t\t\t\tuser_camp.camp_id = {$_camp->id}"; $all_leader_result = mysql_query($all_leader_query); while ($leader = mysql_fetch_assoc($all_leader_result)) { $leaders[$leader['id']] = array("value" => $leader['id'], "content" => $leader['scoutname'], "selected" => 0); } $query = "\tSELECT job_name\r\n\t\t\t\tFROM job\r\n\t\t\t\tWHERE\r\n\t\t\t\t\tjob.camp_id = {$_camp->id} AND\r\n\t\t\t\t\tjob.show_gp = 1"; $result = mysql_query($query); if (mysql_num_rows($result)) { $main_job = mysql_result($result, 'job_name', 0); $_js_env->add('EnableMainJobResp', true); } else { $main_job = "Undefiniert"; $_js_env->add('EnableMainJobResp', false);
$events = array(); $query = "\tSELECT\r\n \t\t\t\tevent.id,\r\n \t\t\t\tevent.name,\r\n \t\t\t\tevent.progress,\r\n \t\t\t\tcategory.form_type,\r\n \t\t\t\tcategory.short_name,\r\n \t\t\t\tcategory.color,\r\n \t\t\t\t(day.day_offset + subcamp.start) as date,\r\n \t\t\t\t(day.day_offset + 1) as day_offset,\r\n \t\t\t\t(\tSELECT\r\n\t\t\t\t\t\t\tcount(event_instance_down.id)\r\n\t\t\t\t\t\tFROM\r\n\t\t\t\t\t\t\tevent_instance as event_instance_up,\r\n\t\t\t\t\t\t\tevent_instance as event_instance_down,\r\n\t\t\t\t\t\t\tevent,\r\n\t\t\t\t\t\t\tcategory\r\n\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\tevent_instance_up.id = event_instance.id AND\r\n\t\t\t\t\t\t\tevent_instance_up.day_id = event_instance_down.day_id AND\r\n\t\t\t\t\t\t\tevent_instance_down.event_id = event.id AND\r\n\t\t\t\t\t\t\tevent.category_id = category.id AND\r\n\t\t\t\t\t\t\tcategory.form_type > 0 AND\r\n\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\tevent_instance_down.starttime < event_instance_up.starttime OR\r\n\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\tevent_instance_down.starttime = event_instance_up.starttime AND\r\n\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\tevent_instance_down.dleft < event_instance_up.dleft OR\r\n\t\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\t\tevent_instance_down.dleft = event_instance_up.dleft AND\r\n\t\t\t\t\t\t\t\t\t\t\tevent_instance_down.id <= event_instance_up.id\r\n\t\t\t\t\t\t\t)\t)\t)\t)\r\n\t\t\t\t\t) as event_nr,\r\n\t\t\t\t\tcategory.form_type,\r\n\t\t\t\t\tevent_instance.starttime\r\n \t\t\tFROM\r\n \t\t\t\tevent,\r\n \t\t\t\tevent_responsible,\r\n \t\t\t\tcategory,\r\n \t\t\t\tevent_instance,\r\n \t\t\t\tday,\r\n \t\t\t\tsubcamp\r\n \t\t\tWHERE\r\n \t\t\t\tevent_responsible.user_id = " . $_user->id . " AND\r\n \t\t\t\tevent.camp_id = " . $_camp->id . " AND\r\n \t\t\t\tevent_responsible.event_id = event.id AND\r\n \t\t\t\tevent.category_id = category.id AND\r\n \t\t\t\tevent_instance.event_id = event.id AND\r\n \t\t\t\tevent_instance.day_id = day.id AND\r\n \t\t\t\tday.subcamp_id = subcamp.id\r\n \t\t\tORDER BY date, starttime"; $query = "\tSELECT\r\n \t\t\t\tevent.id,\r\n \t\t\t\tevent.name,\r\n \t\t\t\tevent.progress,\r\n \t\t\t\tcategory.form_type,\r\n \t\t\t\tcategory.short_name,\r\n \t\t\t\tcategory.color,\r\n \t\t\t\t(day.day_offset + subcamp.start) as date,\r\n \t\t\t\tv_event_nr.day_nr as day_offset,\r\n \t\t\t\tv_event_nr.event_nr,\r\n\t\t\t\t\tcategory.form_type,\r\n\t\t\t\t\tevent_instance.starttime\r\n \t\t\tFROM\r\n \t\t\t\tv_event_nr,\r\n \t\t\t\tevent,\r\n \t\t\t\tevent_responsible,\r\n \t\t\t\tcategory,\r\n \t\t\t\tevent_instance,\r\n \t\t\t\tday,\r\n \t\t\t\tsubcamp\r\n \t\t\tWHERE\r\n \t\t\t\tv_event_nr.event_instance_id = event_instance.id AND\r\n \t\t\t\tevent_responsible.user_id = " . $_user->id . " AND\r\n \t\t\t\tevent.camp_id = " . $_camp->id . " AND\r\n \t\t\t\tevent_responsible.event_id = event.id AND\r\n \t\t\t\tevent.category_id = category.id AND\r\n \t\t\t\tevent_instance.event_id = event.id AND\r\n \t\t\t\tevent_instance.day_id = day.id AND\r\n \t\t\t\tday.subcamp_id = subcamp.id\r\n \t\t\tORDER BY date, starttime"; $result = mysql_query($query); while ($event = mysql_fetch_assoc($result)) { $date->setDay2000($event['date']); $event['link'] = '$event.edit(' . $event[id] . ')'; $event['color_str'] = "background-color:#" . $event['color']; if ($event['form_type']) { $event['prog_color'] = get_progress_color($event['progress']); } else { $event['prog_color'] = "#000000"; } $event['show_event_nr'] = $event[form_type] > 0; $events[$event['date']]['day_offset'] = $event['day_offset']; $events[$event['date']]['date'] = $date->getString('d.m.Y'); $events[$event['date']]['data'][] = $event; } //echo "events => "; //print_r($events); // day_jobs $day_jobs = array(); $query = "\tSELECT\r\n \t\t\t\tjob.job_name,\r\n \t\t\t\tday.id,\r\n \t\t\t\t(day.day_offset + subcamp.start) as date,\r\n \t\t\t\t(\r\n \t\t\t\t\tSELECT\r\n \t\t\t\t\t\tIFNULL( SUM( s.length ), 0 )\r\n \t\t\t\t\tFROM\r\n \t\t\t\t\t\tsubcamp s\r\n \t\t\t\t\tWHERE\r\n \t\t\t\t\t\ts.camp_id = subcamp.camp_id AND\r\n \t\t\t\t\t\ts.start < subcamp.start\r\n \t\t\t\t) + day.day_offset + 1 as day_offset \r\n \t\t\tFROM\r\n \t\t\t\tjob, \r\n \t\t\t\tjob_day,\r\n \t\t\t\tday,\r\n \t\t\t\tsubcamp\r\n \t\t\tWHERE\r\n \t\t\t\tjob.camp_id = " . $_camp->id . " AND\r\n \t\t\t\tjob_day.user_camp_id = " . $_user_camp->id . " AND\r\n \t\t\t\tjob.id = job_day.job_id AND\r\n \t\t\t\tjob_day.day_id = day.id AND\r\n \t\t\t\tday.subcamp_id = subcamp.id\r\n \t\t\tORDER BY day_offset"; $result = mysql_query($query); while ($day_job = mysql_fetch_assoc($result)) { $date->setDay2000($day_job['date']); $day_job['date_string'] = $date->getString("d.m.Y"); $day_jobs[$day_job['date']]['link'] = "index.php?app=day&cmd=home&day_id=" . $day_job['id']; $day_jobs[$day_job['date']]['date'] = $day_job['date_string']; $day_jobs[$day_job['date']]['day_offset'] = $day_job['day_offset']; $day_jobs[$day_job['date']]['data'][] = $day_job;
$user['sex_str'] = ""; $user['sex_symbol'] = ""; } // J+S Edu: $query = "\tSELECT \tentry\n\t\t\t\tFROM \tdropdown\n\t\t\t\tWHERE\tlist = 'jsedu'\n\t\t\t\tAND\t\titem_nr = '" . $user['jsedu'] . "'"; $result = mysql_query($query); if (mysql_num_rows($result) == 1) { $jsedu_array = mysql_fetch_assoc($result); $user['jsedu_str'] = $jsedu_array['entry']; } else { $user['jsedu_str'] = ""; } // PBS Edu: $query = "\tSELECT \tentry\n\t\t\t\tFROM \tdropdown\n\t\t\t\tWHERE\tlist = 'pbsedu'\n\t\t\t\tAND\t\titem_nr = '" . $user['pbsedu'] . "'"; $result = mysql_query($query); if (mysql_num_rows($result) == 1) { $pbsedu_array = mysql_fetch_assoc($result); $user['pbsedu_str'] = $pbsedu_array['entry']; } else { $user['pbsedu_str'] = ""; } // birthday: $user['birthday_str'] = ""; if (is_numeric($user['birthday'])) { $date = new c_date(); $date->setDay2000($user['birthday']); $user['birthday_str'] = $date->getString("d.m.Y"); } // Profile Pic: $user['avatar'] = "index.php?app=user_profile&cmd=show_avatar&show_user_id=" . $id; $_page->html->set('user_detail', $user);
<?php /* * Copyright (C) 2010 Urban Suppiger, Pirmin Mattmann * * This file is part of eCamp. * * eCamp is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * eCamp is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with eCamp. If not, see <http://www.gnu.org/licenses/>. */ $query = "\tSELECT\n \t\t\t\tevent.id,\n \t\t\t\tevent.name,\n \t\t\t\tevent.progress,\n \t\t\t\tevent_instance.id as event_instance_id,\n \t\t\t\tcategory.short_name,\n \t\t\t\t(day.day_offset + subcamp.start) as date,\n \t\t\t\t(day.day_offset + 1) as day_offset,\n \t\t\t\t(\tSELECT\n\t\t\t\t\t\t\tcount(event_instance_down.id)\n\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\tevent_instance as event_instance_up,\n\t\t\t\t\t\t\tevent_instance as event_instance_down,\n\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\tcategory\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\tevent_instance_up.id = event_instance.id AND\n\t\t\t\t\t\t\tevent_instance_up.day_id = event_instance_down.day_id AND\n\t\t\t\t\t\t\tevent_instance_down.event_id = event.id AND\n\t\t\t\t\t\t\tevent.category_id = category.id AND\n\t\t\t\t\t\t\tcategory.form_type > 0 AND\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\tevent_instance_down.starttime < event_instance_up.starttime OR\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\tevent_instance_down.starttime = event_instance_up.starttime AND\n\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\tevent_instance_down.dleft < event_instance_up.dleft OR\n\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\tevent_instance_down.dleft = event_instance_up.dleft AND\n\t\t\t\t\t\t\t\t\t\t\tevent_instance_down.id <= event_instance_up.id\n\t\t\t\t\t\t\t)\t)\t)\t)\n\t\t\t\t\t) as event_nr,\n\t\t\t\t\tcategory.form_type,\n\t\t\t\t\tevent_instance.starttime\n \t\t\tFROM\n \t\t\t\tevent,\n \t\t\t\tcategory,\n \t\t\t\tevent_instance,\n \t\t\t\tday,\n \t\t\t\tsubcamp\n \t\t\tWHERE\n \t\t\t\tevent.camp_id = " . $_camp->id . " AND\n \t\t\t\tevent.category_id = category.id AND\n \t\t\t\tevent_instance.event_id = event.id AND\n \t\t\t\tevent_instance.day_id = day.id AND\n \t\t\t\tday.subcamp_id = subcamp.id\n \t\t\tORDER BY date, starttime"; $query = "\tSELECT\n \t\t\t\tevent.id,\n \t\t\t\tevent.name,\n \t\t\t\tevent.progress,\n \t\t\t\tevent_instance.id as event_instance_id,\n \t\t\t\tcategory.short_name,\n \t\t\t\t(day.day_offset + subcamp.start) as date,\n \t\t\t\tv_event_nr.day_nr as day_offset,\n \t\t\t\tv_event_nr.event_nr,\n\t\t\t\t\tcategory.form_type,\n\t\t\t\t\tevent_instance.starttime\n \t\t\tFROM\n \t\t\t\tv_event_nr,\n \t\t\t\tevent,\n \t\t\t\tcategory,\n \t\t\t\tevent_instance,\n \t\t\t\tday,\n \t\t\t\tsubcamp\n \t\t\tWHERE\n \t\t\t\tv_event_nr.event_instance_id = event_instance.id AND\n \t\t\t\tevent.camp_id = " . $_camp->id . " AND\n \t\t\t\tevent.category_id = category.id AND\n \t\t\t\tevent_instance.event_id = event.id AND\n \t\t\t\tevent_instance.day_id = day.id AND\n \t\t\t\tday.subcamp_id = subcamp.id\n \t\t\tORDER BY date, starttime"; $result = mysql_query($query); $events = array(); $c_date = new c_date(); while ($row = mysql_fetch_assoc($result)) { $c_date->setDay2000($row['date']); $events[$row['date']]['day_str'] = $c_date->getString('d.m.Y'); $events[$row['date']]['events'][] = $row; } $_page->html->set('events', $events);
Header("Content-Type: text/x-vCard; name=$filename"); echo $output; ?> */ $user_id = $_REQUEST['user_id']; $user_id = mysql_real_escape_string($user_id); $query = "\tSELECT\n\t\t\t\t\tuser.homenr,\n\t\t\t\t\tuser.mobilnr,\n\t\t\t\t\tuser.scoutname,\n\t\t\t\t\tuser.firstname,\n\t\t\t\t\tuser.surname,\n\t\t\t\t\tuser.birthday,\n\t\t\t\t\tuser.street,\n\t\t\t\t\tuser.zipcode,\n\t\t\t\t\tuser.city,\n\t\t\t\t\tuser.mail\n\t\t\t\tFROM\n\t\t\t\t\tuser,\n\t\t\t\t\tuser as my_user,\n\t\t\t\t\tuser_camp,\n\t\t\t\t\tuser_camp as my_user_camp\n\t\t\t\tWHERE\n\t\t\t\t\tuser.id = {$user_id} AND\n\t\t\t\t\tmy_user.id = {$_user->id} AND\n\t\t\t\t\tmy_user.id = my_user_camp.user_id AND\n\t\t\t\t\tuser.id = user_camp.user_id AND\n\t\t\t\t\tuser_camp.camp_id = my_user_camp.camp_id"; $result = mysql_query($query); if (mysql_num_rows($result) < 1) { die("no result"); } $user_data = mysql_fetch_assoc($result); $birthday = new c_date(); $birthday->setDay2000($user_data[birthday]); $v = new vCard(); $v->setPhoneNumber($user_data[homenr], "PREF;HOME;VOICE"); $v->setPhoneNumber($user_data[mobilnr], "PREF;CELL;VOICE"); $v->setName($user_data[surname], $user_data[firstname], $user_data[scoutname], ""); $v->setBirthday($birthday->getString("Y-m-d")); $v->setAddress("", "", $user_data[street], $user_data[city], "", $user_data[zipcode], ""); $v->setEmail($user_data[mail]); $v->setNote("Automatisch generiert auf Basis der Daten von eCamp"); $output = $v->getVCard(); $filename = $v->getFileName(); Header("Content-Disposition: attachment; filename={$filename}"); Header("Content-Length: " . strlen($output)); Header("Connection: close"); Header("Content-Type: text/x-vCard; name={$filename}"); echo $output; die;
*/ $_page->html->set('main_macro', $GLOBALS[tpl_dir] . '/application/day/border.tpl/border'); $day_id = mysql_real_escape_string($_REQUEST['day_id']); if (is_numeric($day_id)) { $_camp->day($day_id) || die("error"); } include 'load_day_list.php'; if (is_numeric($day_id)) { $_page->html->set('day_selected', true); include 'load_job_list.php'; include 'load_event_list.php'; $query = "\tSELECT\n\t\t\t\t\t\tday.story,\n\t\t\t\t\t\tday.notes,\n\t\t\t\t\t\t(day.day_offset + subcamp.start) as day_date\n\t\t\t\t\tFROM\n\t\t\t\t\t\tday,\n\t\t\t\t\t\tsubcamp\n\t\t\t\t\tWHERE\n\t\t\t\t\t\tday.id = {$day_id} AND\n\t\t\t\t\t\tday.subcamp_id = subcamp.id"; $result = mysql_query($query); $day_date = new c_date(); $day_date->setDay2000(mysql_result($result, 0, 'day_date')); $day_str = strtr($day_date->getString('l d.m.Y'), $GLOBALS[en_to_de]); $day_story = mysql_result($result, 0, 'story'); $day_notes = mysql_result($result, 0, 'notes'); } else { $_page->html->set('day_selected', false); } $query = "\tSELECT category.*\n\t\t\t\tFROM category\n\t\t\t\tWHERE category.camp_id = {$_camp->id}"; $result = mysql_query($query); $categories = array(); while ($category = mysql_fetch_assoc($result)) { $categories[] = $category; } $_js_env->add('categories', $categories); $day = array("list_border" => array("title" => "Liste aller Tage", "macro" => $GLOBALS[tpl_dir] . "/application/day/list.tpl/list"), "day_border" => array("title" => "Tagesübersicht", "macro" => $GLOBALS[tpl_dir] . "/application/day/day.tpl/day"), "day_list" => $day_list, "job_list" => $job_list, "event_list" => $event_list, "day_str" => $day_str, "day_id" => $day_id, "day_story" => $day_story, "day_notes" => $day_notes); //print_r( $day ); $_page->html->set('day', $day);
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with eCamp. If not, see <http://www.gnu.org/licenses/>. */ $_page->html->set('main_macro', $GLOBALS[tpl_dir] . '/application/todo/border.tpl/border'); $todo_list = array(); $date = new c_date(); // SUBCAMPS: // =========== $query = "\tSELECT camp.id, subcamp.start , subcamp.start + subcamp.length as end\r\n\t\t\t\tFROM camp, subcamp\r\n\t\t\t\tWHERE camp.id = subcamp.camp_id AND camp_id = " . $_camp->id; $result = mysql_query($query); while ($subcamp = mysql_fetch_assoc($result)) { $date->setDay2000($subcamp['end']); $end = $date->getString('d.m.Y'); $date->setDay2000($subcamp['start']); $start = $date->getString('d.m.Y'); $todo_list[$date->getString('Ym')]['name'] = strtr($date->getString("F Y"), $GLOBALS[en_to_de]); $todo_list[$date->getString('Ym')]['todos'][$date->getString('d')][] = array("date" => $start, "camptime" => true, "entry" => false, "today" => false, "short" => $start . " - " . $end); ksort($todo_list[$date->getString("Ym")]['todos']); } // TODAY: // ======== $todo_list[date("Ym")]['name'] = strtr(date("F Y"), $GLOBALS[en_to_de]); $todo_list[date("Ym")]['todos'][date("d")][] = array("date" => strtr(date("D d. M"), $GLOBALS[en_to_de]), "camptime" => false, "entry" => false, "today" => true); ksort($todo_list[date("Ym")]['todos']); $query = "\tSELECT\r\n\t\t\t\t\ttodo.*\r\n\t\t\t\tFROM\r\n\t\t\t\t\ttodo\r\n\t\t\t\tWHERE\r\n\t\t\t\t\ttodo.camp_id = {$_camp->id}\r\n\t\t\t\tORDER BY\r\n\t\t\t\t\ttodo.date"; $result = mysql_query($query); while ($todo = mysql_fetch_assoc($result)) { if ($date->getUnix() < time()) {