public function api_add_extension() { $parents = Extension::all(array('conditions' => array('parent IS NULL'))); echo '<div class="col-lg-10 well col-lg-offset-1 form-group"> <form data-id="FIRST"> <div class="row"> <div class="col-lg-3 text-left"><b>Elternelement</b></div> <div class="col-lg-9 text-left"><b>Bezeichnung</b></div> </div> <div class="row"> <div class="col-lg-3">' . $this->getParentSelector(null, $parents) . '</div> <div class="col-lg-9"><textarea class="form-control" style="resize: none;height: 150px;" name="value"></textarea></div> </div> <div class="row"><div class="col-lg-12"><br /></div></div> <div class="row"> <div class="col-lg-12"> <input type="hidden" name="id" value="FIRST" /> <button class="btn btn-xs btn-default pull-right save_extension" data-id="FIRST">Speichern</button> </div> </div> </form> </div>'; }
public function api_bundle() { $data = false; switch ($_POST['type']) { case 'normal': /*Get all times*/ $start = microtime(true); $times = Time::all(); $sets = array(); /*Bundle Times Days*/ foreach ($times as $time) { $sets[date('Ymd', $time->created)][] = array('project_name' => $time->project_name, 'service_name' => $time->service_name, 'created' => $time->created, 'minutes' => $time->minutes); } /*Storing the prev generated bundles as Sets*/ foreach ($sets as $set_date => $set) { $tmp_set = Set::find_by_set_date($set_date); if ($tmp_set) { //UPDATE $tmp_set->object_data = json_encode($set); $tmp_set->save(); } else { //INSERT Set::create(array('object_data' => json_encode($set), 'set_date' => $set_date)); } } $data['count'] = count($sets); $data['time'] = microtime(true) - $start; break; case 'advanced': /*Get all times*/ $start = microtime(true); $times = Time::all(); $sets = array(); $extensions = Extension::all(); $parents = array(); $section = array(); foreach ($extensions as $extension) { if ($extension->parent == null) { $parents[$extension->id] = $extension->value; } } foreach ($extensions as $extension) { if ($extension->parent !== null) { $section[$parents[$extension->parent]][] = $extension->value; } } /*Bundle Times Days*/ foreach ($times as $time) { //echo $section[$time->project_name][array_rand($section[$time->project_name])]."\n"; $sets[date('Ymd', $time->created)][] = array('project_name' => $time->project_name, 'service_name' => $time->service_name, 'created' => $time->created, 'minutes' => $time->minutes); } /*Storing the prev generated bundles as Sets*/ foreach ($sets as $set_date => $set) { $tmp_set = Set::find_by_set_date($set_date); if ($tmp_set) { //UPDATE $tmp_set->object_data = json_encode($set); $tmp_set->save(); } else { //INSERT Set::create(array('object_data' => json_encode($set), 'set_date' => $set_date)); } } $data['count'] = count($sets); $data['time'] = microtime(true) - $start; break; } return $data; }