$appconf = parse_ini_file($file, true); if (isset($appconf['Admin']['handler'])) { if (isset($appconf['Admin']['install'])) { $ver = $this->installed($app, $appconf['Admin']['version']); if ($ver === true) { // installed $tools[$appconf['Admin']['handler']] = $appconf['Admin']; $tools[$appconf['Admin']['handler']]['class'] = false; } elseif ($ver === false) { // not installed $appconf['Admin']['name'] .= ' (' . i18n_get('click to install') . ')'; $tools[$appconf['Admin']['install']] = $appconf['Admin']; $tools[$appconf['Admin']['install']]['class'] = 'not-installed'; } else { // needs upgrade $appconf['Admin']['name'] .= ' (' . i18n_get('click to upgrade') . ')'; $tools[$appconf['Admin']['upgrade']] = $appconf['Admin']; $tools[$appconf['Admin']['upgrade']]['class'] = 'needs-upgrade'; } } else { // no installer, as you were $tools[$appconf['Admin']['handler']] = $appconf['Admin']; $tools[$appconf['Admin']['handler']]['class'] = false; } } } uasort($tools, 'admin_head_links_sort'); $out = array('name' => Product::name(), 'logo' => Product::logo_toolbar(), 'links' => $tpl->render('admin/head/links', array('user' => User::val('name'), 'tools' => $tools))); $page->layout = false; header('Content-Type: application/json'); echo json_encode($out);
if (count($tools) === 0 && admin\Toolbar::$autofill === false) { $tools = admin\Toolbar::apps($this); $is_apps = true; } else { if (admin\Toolbar::$autofill) { // Extend the tools list with any unused app resources. $apps = admin\Toolbar::apps($this); foreach ($tools as $column => $group) { // filter out resources that are already in use $apps = array_diff_key($apps, $group); } if (count($apps)) { $i = 0; $j = 2; $column = admin\Toolbar::$autofill; $tools[$column] = array(); foreach ($apps as $handler => $app) { if (++$i > 7) { $i = 0; $column = admin\Toolbar::$autofill . ' (' . $j++ . ')'; $tools[$column] = array(); } $tools[$column][$handler] = $apps[$handler]; } } } $is_apps = false; } $editable = User::require_acl('admin/toolbar'); $out = array('name' => Product::name(), 'logo' => Product::logo_toolbar(), 'is_apps' => $is_apps || count($tools) === 0 && !$editable, 'links' => $tpl->render('admin/head/links', array('user' => User::val('name'), 'tools' => $tools, 'is_apps' => $is_apps, 'editable' => $editable))); echo json_encode($out);