<?php /* * Manages the cache entries * **/ /** @var $ctrl \bbn\mvc\controller */ $cache = \bbn\cache::get_engine(); if (isset($ctrl->post['item'], $ctrl->arguments[0])) { switch ($ctrl->arguments[0]) { case 'info': $ctrl->set_title('Content of ' . $ctrl->post['item']); if ($cache->has($ctrl->post['item'])) { \bbn\x::hdump($cache->get($ctrl->post['item'])); } else { echo '<h3 style="color: red">The item ' . $ctrl->post['item'] . ' doesn\'t exist</h3>'; } break; case 'delete': $ctrl->obj->success = $cache->delete($ctrl->post['item']); break; } } else { $ctrl->combo('Cache content (' . \bbn\cache::get_type() . ')', ['root' => $ctrl->say_dir() . '/', 'items' => array_map(function ($a) { return ['name' => $a]; }, $cache->items())]); }
<?php /** @var $model \bbn\mvc\model */ // DB connection $db =& $model->data['db']; if (!empty($db) && !empty($model->data['id_lib'])) { // Get all library's versions $versions = $db->get_rows("\n SELECT versions.*, \n CASE WHEN versions.name = libraries.latest THEN 1 ELSE 0 END AS is_latest\n FROM versions\n JOIN libraries\n ON versions.library = libraries.name\n WHERE versions.library = ?\n ORDER BY internal DESC", $model->data['id_lib']); foreach ($versions as $i => $ver) { // Get all version's dependencies $versions[$i]['dependencies'] = $db->get_rows("\n SELECT libraries.title, libraries.name, versions.name AS version\n FROM dependencies\n LEFT JOIN versions\n ON id_master = versions.id\n LEFT JOIN libraries\n ON versions.library = libraries.name\n WHERE id_slave = ?\n GROUP BY libraries.title\n ORDER BY libraries.name", $ver['id']); // Get all version's slave dependencies $versions[$i]['slave_dependencies'] = $db->get_rows("\n SELECT libr.name, libr.title, vers.name AS version\n FROM versions\n JOIN libraries\n ON versions.library = libraries.name\n AND versions.name = libraries.latest\n JOIN dependencies \n ON versions.id = dependencies.id_master\n JOIN versions AS vers\n ON dependencies.id_slave = vers.id\n JOIN libraries AS libr\n ON vers.library = libr.name\n WHERE versions.id = ?\n GROUP BY libr.name\n ORDER BY libr.title COLLATE NOCASE ASC, vers.internal DESC", $ver['id']); // Make version's files TreeView $versions[$i]['files_tree'] = \bbn\x::make_tree((array) json_decode($ver['content'])); } return $versions; } else { if (!empty($model->data['folder']) && !empty(BBN_CDN_PATH)) { // Library path $lib_path = BBN_CDN_PATH . 'lib/' . $model->data['folder']; // Check if the library's subfolders are already inserted into db and use the first not included as version if (is_dir($lib_path) && ($dirs = \bbn\file\dir::get_dirs($lib_path))) { $ver = []; foreach ($dirs as $dir) { if (empty($db->select('versions', [], ['name' => basename($dir), 'library' => $model->data['folder']]))) { array_push($ver, $dir); } } if (empty($ver)) { return ['error' => _("All library's versions (subfolders) are existing into database.")];
<?php /** @var $ctrl \bbn\mvc\controller */ //$dir = array_shift($ctrl->arguments); $url = implode('/', $ctrl->arguments); $dirs = new \bbn\ide\directories($ctrl->inc->options, $ctrl->get_routes()); $dir = $dirs->dir_from_url($url); \bbn\x::dump($dir); \bbn\x::dump($dirs->get()); /* // Case where it's a new file and we need to provide the tabNav info if ( $ctrl->baseURL === $ctrl->data['root'].'editor/' ){ $ctrl->obj->url = $ctrl->get_path().'/'.$url; $ctrl->combo(substr($url, strlen($dir)), [ 'root' => $ctrl->data['root'], 'baseURL' => $ctrl->obj->url.'/', 'file' => $url ]); } // Case where the tabnav is already loaded and we just provide the data else{ $dirs = new \bbn\ide\directories($ctrl->inc->options, $ctrl->get_routes()); // Case where it's a new file and we need to provide the tabNav info if ( strpos($url, $ctrl->baseURL) === false ){ if ( $dir = $dirs->dir_from_url($url) ){ $info = $dirs->dir($dir); if ( empty($info['tabs']) ){ } else{ $tab = array_pop($ctrl->arguments);
<?php /* @var $ctrl \bbn\mvc */ echo $ctrl->set_title("Error logs Analysis")->add_js(\bbn\x::merge_arrays($ctrl->get_model(), ['root' => $ctrl->say_dir() . '/']))->get_view();
<?php /** @var $ctrl \bbn\mvc\controller */ //die(\bbn\x::dump($ctrl->data)); if ($ctrl->obj->data = $ctrl->get_model(\bbn\x::merge_arrays($ctrl->data, $ctrl->post))) { if (!empty($ctrl->obj->data['error'])) { $ctrl->obj->error = $ctrl->obj->data['error']; } else { if (!empty($ctrl->obj->data['def'])) { //$ctrl->obj->url = $ctrl->obj->data['url'].'/'.$ctrl->obj->data['def']; } else { //$ctrl->obj->url = $ctrl->obj->data['url']; } $list = $ctrl->inc->session->get('ide', 'list'); if (!in_array($ctrl->obj->data['url'], $list)) { array_push($list, $ctrl->obj->data['url']); $ctrl->inc->session->set($list, 'ide', 'list'); } } }
<?php if (isset($ctrl->post['session'])) { echo \bbn\x::make_tree($ctrl->inc->session->get()) . '<p> </p><hr><p> </p>' . \bbn\x::make_tree($_SERVER); } else { $ctrl->set_title('Infos Session'); echo '<h2><button class="k-button" onclick="appui.fn.post(\'' . $ctrl->say_dir() . '/session\', {session:1}, $(\'#info_session_container\'));"><i class="fa fa-refresh"> </i></button> Infos de session</h2>' . '<div class="appui-line-break">' . '</div>' . '<div id="info_session_container" class="appui-nl"> </div>'; $ctrl->add_script("appui.fn.post('" . $ctrl->say_dir() . "/session', {session:1}, \$('#info_session_container'));"); }