function smarty_block_ifHasAttr($params, $content, &$smarty, &$repeat) { /* return some dashes "---" if attribute doesn't exists in attributes array. attributes array are selected based on "object" parameter is one of "group_attrs" or "user_attrs" parameter object(string,required): can be "user" or "group" parameter var_name(string,required): variable name that will be checked that if exists and set !== FALSE and is not null , we suppose we have the attribute parameter alternate(string,optional): string that will be shown if object has not attr if not specified default it used */ if (is_null($content)) { if (hasAttr($params, $smarty)) { $repeat = TRUE; } else { $repeat = FALSE; if (isset($params["alternate"])) { $alternate = $params["alternate"]; } else { $alternate = "---------------"; } print "<center>{$alternate}"; } } else { return $content; } }
function generateLayoutHtml($number, $name, $capacities, $types, $roomsByName, &$requirements, $student_count, $poziadavka_prebrata) { $disabledLayout = hasAttr($number > 0 && !$requirements, "disabled"); echo "<div class='part {$name} color1' "; if ($number == 0) { echo "style='display: block;'"; } echo ">"; echo "<div class='core_head color2'>\n\t\t\t\t<div class='row'>\n\t\t\t\t\t<div class=\"left_side\">Počet cvičení</div>\n\t\t\t\t\t<div class='right_side' style='word-spacing: 3px;'>\n\t\t\t\t\t\t<div class='cbox'>1.</div>\n\t\t\t\t\t\t<div class='cbox'>2.</div>\n\t\t\t\t\t\t<div class='cbox'>3.</div>\n\t\t\t\t\t\t<div class='cbox'>4.</div>\n\t\t\t\t\t\t<div class='cbox'>5.</div>\n\t\t\t\t\t\t<div class='cbox'>6.</div>\n\t\t\t\t\t\t<div class='cbox'>7.</div>\n\t\t\t\t\t\t<div class='cbox'>8.</div>\n\t\t\t\t\t\t<div class='cbox'>9.</div>\n\t\t\t\t\t\t<div class='cbox'>10.</div>\n\t\t\t\t\t\t<div class='cbox'>11.</div>\n\t\t\t\t\t\t<div class='cbox'>12.</div>\n\t\t\t\t\t\t<div class='cbox'>13.</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class='row'>\n\t\t\t\t\t<div class=\"left_side\">\n\t\t\t\t\t\tv týždni:\n\t\t\t\t\t\t<select size='1' id='lecture_count_{$name}' name='requirement[layouts][{$name}][pract_count]' {$disabledLayout}>"; // pri selecte je idcko lecture... a nie pract, ale javascripty pracuju s idckom lecture... trosku matuce for ($i = 1; $i <= PRACT_COUNT; $i++) { if ($requirements) { $sel = hasAttr($requirements["pract_count"] == $i, "selected"); } else { $sel = hasAttr($i == 1, "selected"); } echo "<option {$sel}>{$i}</option>"; } echo "</select>\n\t\t\t\t\t\t<span style='margin-left: 60px'>\n\t\t\t\t\t\t\tVšetky?\n\t\t\t\t\t\t\t<input type='checkbox' id='checkall_{$name}' class='checkall' {$disabledLayout}/>\n\t\t\t\t\t\t</span>\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class='right_side' style='word-spacing: 3.4px;'>\n\t\t\t\t\t\t<div class='checkarea' id='checkarea_{$name}'>"; for ($i = 1; $i <= 13; $i++) { $checked = hasAttr($requirements["weeks"][$i - 1], "checked"); echo "<div class='cbox'><input id='{$name}{$i}' style='width:18px;float: left;text-align: left;' type='checkbox' name='requirement[layouts][{$name}][weeks][" . ($i - 1) . "]' {$disabledLayout} {$checked} /></div>"; } echo "\t </div>\n\t\t </div>\n\t </div>\n </div>"; for ($i = 1; $i <= 3; $i++) { echo reqhtml("{$i}", "{$name}", $capacities, $types, $roomsByName, "{$i}", $requirements["requirement"][$i], $student_count, $poziadavka_prebrata); } echo "</div>"; }
function reqhtml($id_requirement, $id_layout, $prednaska, $req, $rooms_nazvy) { $id = $id_requirement . $id_layout; // nekreslit nic ak nemame poziadavku if (empty($req)) { return; } //$index = $prednaska - 1; $lecture_hours = $req["lecture_hours"]; $notebook_checked = hasAttr($req["equipment"]["notebook"], "checked"); $projektor_checked = hasAttr($req["equipment"]["beamer"], "checked"); $chair_count = $req["equipment"]["chair_count"]; $hned_po_checked = hasAttr($req["after_lecture"], "checked"); $skor_ako_checked = hasAttr($req["before_lecture"], "checked"); $comment = $req["comment"]; $student_count = $req["rooms"]["students_count"]; $rooms_capacity = $req["rooms"]["capacity"]; // zostavi vyselektovane miestnosti na zaklade zoznamu miestnosti //najprv vytiahne nazvy a potom spoji $sel_rooms = array(); foreach ($req["rooms"]["selected"] as $sel_room) { $sel_rooms[] = $rooms_nazvy[$sel_room]; } $sel_rooms = implode(", ", $sel_rooms); $html = ' <div id="heading' . $id . '" style="display: block;">Prednáška ' . $prednaska . ':</div> <div id="lecture' . $id . '" class="color2" style="display: block;"> <div class="row"> <div class="left_side">Rozsah prednášky:</div> <div class="right_side"><input size="5" readonly="readonly" value="' . $lecture_hours . '" /> hodiny</div> </div> <div class="row"> <div class="inside_block color3" style="height: 60px;"> <div class="room_chooser color4" style="height: 50px;"> Vyhovujúce miestnosti: <input type="text" readonly="readonly" style="width: 160px;" value="' . $sel_rooms . '" /> </div> <div class="row" style="width: 400px;"> <div class="left_side" style="width: 140px;">Počet študentov:</div> <div class="right_side" style="width: 50px;"><input size="5" readonly="readonly" value="' . $student_count . '" /></div> <div class="left_side" style="width: 115px;">Stoličky navyše:</div> <div class="right_side" style="width: 50px;"><input size="5" readonly="readonly" value="' . $chair_count . '" /></div> </div> <div class="row" style="width: 400px;"> <div class="left_side" style="width: 140px;">Kapacita miestnosti:</div> <div class="right_side" style="width: 50px;"><input size="5" readonly="readonly" value="' . $rooms_capacity . '" /></div> <div class="left_side" style="width: 80px;"><input id="chbNote" type="checkbox" disabled="disabled" style="margin-left: 0px;" ' . $notebook_checked . ' />notebook</div> <div class="right_side" style="width: 80px;"><input id="chbProj" type="checkbox" disabled="disabled" style="margin-left: 0px;" ' . $projektor_checked . ' />projektor</div> </div> </div> </div> <div class="row"> <div class="left_side"><input type="checkbox" disabled="disabled" style="margin-left: 0px;" ' . $hned_po_checked . ' /> cvičenie je hneď po prednáške</div> <div class="right_side"><input type="checkbox" disabled="disabled" style="margin-left: 0px;" ' . $skor_ako_checked . ' /> cvičenie nie je skôr ako prednáška</div> </div> <div class="row"> <div class="right_side"><textarea readonly="readonly" rows="3" cols="70">' . $comment . '</textarea></div> </div> </div> '; return $html; }
function generateLayoutHtml($number, $name, $capacities, $roomsByName, &$requirements, $student_count, $poziadavka_prebrata) { $disabledLayout = hasAttr($number > 0 && !$requirements, "disabled"); echo "<div class='part {$name} color1' "; if ($number == 0) { echo "style='display: block;'"; } echo ">"; echo "<div class='core_head color2'>\n\t\t\t\t\t<div class='row'>\n\t\t\t\t\t\t<div class='left_side'>Počet prednášok</div>\n\t\t\t\t\t\t<div class='right_side' style='word-spacing: 3px;'>\n\t\t\t\t\t\t\t<div class='cbox'>1.</div>\n\t\t\t\t\t\t\t<div class='cbox'>2.</div>\n\t\t\t\t\t\t\t<div class='cbox'>3.</div>\n\t\t\t\t\t\t\t<div class='cbox'>4.</div>\n\t\t\t\t\t\t\t<div class='cbox'>5.</div>\n\t\t\t\t\t\t\t<div class='cbox'>6.</div>\n\t\t\t\t\t\t\t<div class='cbox'>7.</div>\n\t\t\t\t\t\t\t<div class='cbox'>8.</div>\n\t\t\t\t\t\t\t<div class='cbox'>9.</div>\n\t\t\t\t\t\t\t<div class='cbox'>10.</div>\n\t\t\t\t\t\t\t<div class='cbox'>11.</div>\n\t\t\t\t\t\t\t<div class='cbox'>12.</div>\n\t\t\t\t\t\t\t<div class='cbox'>13.</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class='row'>\n\t\t\t\t\t\t<div class='left_side'>\n\t\t\t\t\t\t\tv týždni:\n\t\t\t\t\t\t\t<select size='1' id='lecture_count_{$name}' name='requirement[layouts][{$name}][lecture_count]' {$disabledLayout}>"; for ($i = 1; $i <= LECTURE_COUNT; $i++) { if ($requirements) { $sel = hasAttr($requirements["lecture_count"] == $i, "selected"); } else { $sel = hasAttr($i == 1, "selected"); } echo " <option {$sel}>{$i}</option>"; } echo "\t\t\t\t\t\t</select>\n \t\t\t\t<span style='margin-left: 60px'>\n \t\t\t\t\tVšetky?\n \t\t\t\t\t<input type='checkbox' id='checkall_{$name}' class='checkall' {$disabledLayout}/>\n \t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class='right_side' style='word-spacing: 3.4px;'>\n\t\t\t\t\t\t\t<div id='checkarea_{$name}' class='checkarea'>"; for ($i = 1; $i <= 13; $i++) { $checked = hasAttr($requirements["weeks"][$i - 1], "checked"); echo "<div class='cbox'><input id='{$name}{$i}' type='checkbox' name='requirement[layouts][{$name}][weeks][" . ($i - 1) . "]' {$disabledLayout} {$checked}/></div>"; } echo "</div>\n\t\t\t\t\t \t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t </div>"; for ($i = 1; $i <= 3; $i++) { echo reqhtml("{$i}", "{$name}", $capacities, $roomsByName, "{$i}", $requirements["requirement"][$i], $student_count, $poziadavka_prebrata); } echo "</div>"; }