public static function createDb(ContainerBuilder $container = null) { if (!$container) { $container = new ContainerBuilder(); } $dataDir = Application::resolveRelativePath($container->getParameter('doctrine.db.data_dir')); if (!is_dir($dataDir)) { $result = mkdir($dataDir, 0777, true); if (!$result) { throw new \Exception('Error creating Portunus data dir'); } } $dev = $container->getParameter('portunus.dev'); $container->setParameter('protunus.dev', true); // schema creation requires dev mode $metadata = $container->get('doctrine.entity_manager')->getMetadataFactory()->getAllMetadata(); // create db if not exists $dbName = $container->getParameter('doctrine.db.filename'); $portunusDB = sprintf('%s/%s', $dataDir, $dbName); if (!file_exists($portunusDB)) { $container->get('doctrine.schema_tool')->createSchema($metadata); } // create proxy classes if not exist $cacheDir = $container->get('portunus.application')->getCacheDir(); $cacheFiles = glob($cacheDir . '/__CG__*.php'); if (count($cacheFiles) < 1) { $cacheDir = $container->get('portunus.application')->getCacheDir(); $container->get('doctrine.entity_manager')->getProxyFactory()->generateProxyClasses($metadata, $cacheDir); } $container->setParameter('protunus.dev', $dev); }
public function page_header_after($event) { $context = $this->phpbb_container->get('template_context'); $rootref =& $context->get_root_ref(); if (isset($this->config['menu_enabled']) && $this->config['menu_enabled']) { $sql = 'SELECT * FROM ' . $this->menu_colors; $result = $this->db->sql_query($sql); $row = $this->db->sql_fetchrow($result); if ($this->db->sql_affectedrows()) { $this->template->assign_vars(array('S_MENU_COLOR' => $row['color_name'], 'S_MENU_FONT_COLOR' => $row['color_text'], 'S_MENU_FONT_COLOR_HOVER' => $row['color_text_hover'], 'S_MENU_DECORATION' => $row['color_text_hover_decor'], 'S_MENU_WEIGHT' => $row['color_text_weight'], 'S_MENU_SEARCH' => $row['color_display_search'], 'S_MENU_TEXT_TRANSFORM' => $row['color_text_transform'], 'S_MENU_ALIGN' => $row['color_align'])); $sql = 'SELECT * FROM ' . $this->menu_buttons . ' WHERE button_display = 1 AND parent_id = 0 ORDER BY left_id'; $result = $this->db->sql_query($sql); while ($row = $this->db->sql_fetchrow($result)) { if ($row['button_only_registered'] && $this->user->data['user_id'] == ANONYMOUS || $row['button_only_guest'] && $this->user->data['user_id'] != ANONYMOUS) { continue; } if (preg_match("/\\{(.*)\\}/", $row['button_url'])) { $brackets = array("{", "}"); $var_name = strtoupper(str_replace($brackets, '', $row['button_url'])); $row['button_url'] = $rootref[$var_name]; } if (preg_match("/\\{(.*)\\}/", $row['button_name'])) { $brackets = array("{L_", "}"); $var_name = strtoupper(str_replace($brackets, '', $row['button_name'])); $row['button_name'] = $this->user->lang[$var_name]; } $this->template->assign_block_vars('buttons', array('ID' => $row['button_id'], 'URL' => $row['button_url'], 'NAME' => $row['button_name'], 'EXTERNAL' => $row['button_external'])); $sub_sql = 'SELECT * FROM ' . $this->menu_buttons . ' WHERE button_display = 1 AND parent_id = ' . $row['button_id'] . ' ORDER BY left_id'; $sub_result = $this->db->sql_query($sub_sql); while ($sub_row = $this->db->sql_fetchrow($sub_result)) { if ($sub_row['button_only_registered'] && $this->user->data['user_id'] == ANONYMOUS || $sub_row['button_only_guest'] && $this->user->data['user_id'] != ANONYMOUS) { continue; } if (preg_match("/\\{(.*)\\}/", $sub_row['button_url'])) { $brackets = array("{", "}"); $var_name = strtoupper(str_replace($brackets, '', $sub_row['button_url'])); $sub_row['button_url'] = $rootref[$var_name]; } if (preg_match("/\\{(.*)\\}/", $sub_row['button_name'])) { $brackets = array("{L_", "}"); $var_name = strtoupper(str_replace($brackets, '', $sub_row['button_name'])); $sub_row['button_name'] = $this->user->lang[$var_name]; } $this->template->assign_block_vars('buttons.sub', array('ID' => $sub_row['button_id'], 'URL' => $sub_row['button_url'], 'NAME' => $sub_row['button_name'], 'EXTERNAL' => $sub_row['button_external'])); } $this->db->sql_freeresult($sub_result); } $this->db->sql_freeresult($result); } } }
/** * Handle stats resync. * * @return null */ public function handle_stats_resync() { if (!confirm_box(true)) { confirm_box(false, $this->user->lang['RESYNC_FILES_STATS_CONFIRM'], build_hidden_fields(array('i' => $this->id, 'mode' => 'manage', 'action' => 'stats'))); } else { $this->set_attachment_stats($this->get_attachment_stats()); $log = $this->src_container->get('log'); $log->add('admin', $this->user->data['user_id'], $this->user->ip, 'LOG_RESYNC_FILES_STATS'); } }