Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- require_once "vendor/autoload.php";
- $app = new \Slim\Slim();
- $app->get('/', function () use ($app) {
- $view = new \view\Home();
- echo $view->render();
- });
- $app->get('/mysql/', function () use ($app) {
- $start = microtime(true);
- $family_id = $app->request()->get('family');
- \config\Connexion::connection("config.ini");
- $view = new \view\Families();
- if ($family_id == null) {
- $data[0] = \model\Family::where('id_parent', '=', 0)->get();
- $view->addVar('current', $data[0][0]);
- } else {
- $res = \model\Family::where('id_parent', '=', $family_id)->get();
- if (sizeof($res) == 0) {
- $parent = \model\Family::find($family_id);
- $data[0] = \model\Family::with('articles')->where('id_parent', '=', $parent->id_parent)->get();
- foreach ($data[0] as $d) {
- if ($d->id == $parent->id) {
- $view->addVar('current', $d);
- $d->colored = true;
- break;
- }
- }
- } else {
- $data[0] = $res;
- $view->addVar('current', $res);
- }
- $parent = \model\Family::find($data[0][0]->id_parent);
- while ($parent != null) {
- $data[sizeof($data)] = \model\Family::where('id_parent', '=', $parent->id_parent)->get();
- foreach ($data[sizeof($data) - 1] as $d) {
- if ($d->id == $parent->id) {
- $d->colored = true;
- break;
- }
- }
- $parent = \model\Family::find($data[sizeof($data) - 1][0]->id_parent);
- }
- }
- $end = microtime(true);
- $view->addVar('time', $end - $start);
- $view->addVar('categories', $data);
- echo $view->render();
- });
- $app->get('/mongodb/', function () use ($app) {
- $start = microtime(true);
- try {
- $conn = new MongoClient('localhost');
- $db = $conn->catalogue;
- $families = $db->families;
- $family_id = $app->request()->get('family');
- $view = new \view\Families();
- $view->addVar('current', $family_id);
- if ($family_id == null) {
- $data[0][0] = $families->findOne(array('parents' => []));
- $view->addVar('current', $data[0][0]);
- } else {
- $fam_cur = $families->findOne(array('id' => intval($family_id)));
- $fam_cur['colored'] = true;
- $view->addVar('current', $fam_cur);
- $children = $fam_cur['childs'];
- $level_child = $fam_cur['depth'];
- $data = array();
- foreach ($children as $child) {
- if ($child['depth'] == $fam_cur['depth'] + 1) {
- $res = $families->findOne(array('id' => $child['id']));
- $data[0][] = $res;
- }
- }
- $parents = $fam_cur['parents'];
- if (sizeof($fam_cur['parents']) == 0) {
- $bn = $level_child + 1 - $fam_cur['depth'];
- $data[$bn][] = $fam_cur;
- }
- foreach ($parents as $parent) {
- $aaa = $families->findOne(array('id' => intval($parent['id'])));
- if (sizeof($aaa['parents']) == 0) {
- $bn = $level_child + 1 - $aaa['depth'];
- $data[$bn][] = $aaa;
- }
- foreach ($aaa['childs'] as $lol) {
- if ($lol['depth'] == $aaa['depth'] + 1) {
- $mdr = $families->findOne(array('id' => intval($lol['id'])));
- $bn = $level_child + 1 - $mdr['depth'];
- $data[$bn][] = $mdr;
- }
- }
- foreach ($fam_cur['parents'] as $ccc) {
- $mdr = $families->findOne(array('id' => intval($ccc['id'])));
- foreach ($data as $key => $ddd) {
- foreach ($ddd as $k => $eee) {
- if ($eee['id'] == $mdr['id'] || $eee['id'] == $fam_cur['id']) {
- $data[$key][$k]['colored'] = true;
- }
- }
- }
- }
- }
- }
- ksort($data);
- $view->addVar('categories', $data);
- $end = microtime(true);
- $view->addVar('time', $end - $start);
- echo $view->render();
- $conn->close();
- } catch (MongoConnectionException $e) {
- die('Error connecting to MongoDB server');
- } catch (MongoException $e) {
- die('Error: ' . $e->getMessage());
- }
- });
- $app->run();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement