本文整理汇总了PHP中module::active方法的典型用法代码示例。如果您正苦于以下问题:PHP module::active方法的具体用法?PHP module::active怎么用?PHP module::active使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类module
的用法示例。
在下文中一共展示了module::active方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: site
static function site($menu, $theme)
{
if (file_exists(MODPATH . "gallery/controllers/scaffold.php") && user::active()->admin) {
$menu->append($scaffold_menu = Menu::factory("submenu")->id("scaffold")->label("Scaffold"));
$scaffold_menu->append(Menu::factory("link")->id("scaffold_home")->label("Dashboard")->url(url::site("scaffold")));
}
$menu->append(Menu::factory("link")->id("home")->label(t("Home"))->url(url::site("albums/1")));
$item = $theme->item();
if (user::active()->admin || $item && access::can("edit", $item)) {
$menu->append($options_menu = Menu::factory("submenu")->id("options_menu")->label(t("Options")));
if ($item && access::can("edit", $item)) {
$options_menu->append(Menu::factory("dialog")->id("edit_item")->label($item->is_album() ? t("Edit album") : t("Edit photo"))->url(url::site("form/edit/{$item->type}s/{$item->id}")));
// @todo Move album options menu to the album quick edit pane
// @todo Create resized item quick edit pane menu
if ($item->is_album()) {
$options_menu->append(Menu::factory("dialog")->id("add_item")->label(t("Add a photo"))->url(url::site("simple_uploader/app/{$item->id}")))->append(Menu::factory("dialog")->id("add_album")->label(t("Add an album"))->url(url::site("form/add/albums/{$item->id}?type=album")))->append(Menu::factory("dialog")->id("edit_permissions")->label(t("Edit permissions"))->url(url::site("permissions/browse/{$item->id}")));
}
}
}
if (user::active()->admin) {
$menu->append($admin_menu = Menu::factory("submenu")->id("admin_menu")->label(t("Admin")));
self::admin($admin_menu, $theme);
foreach (module::active() as $module) {
if ($module->name == "gallery") {
continue;
}
$class = "{$module->name}_menu";
if (method_exists($class, "admin")) {
call_user_func_array(array($class, "admin"), array(&$admin_menu, $theme));
}
}
}
}
示例2: _reset
private function _reset()
{
$db = Database::instance();
// Drop all tables
foreach ($db->list_tables() as $table) {
$db->query("DROP TABLE IF EXISTS `{$table}`");
}
// Clean out data
dir::unlink(VARPATH . "uploads");
dir::unlink(VARPATH . "albums");
dir::unlink(VARPATH . "resizes");
dir::unlink(VARPATH . "thumbs");
dir::unlink(VARPATH . "modules");
dir::unlink(VARPATH . "tmp");
$db->clear_cache();
module::$modules = array();
module::$active = array();
// Use a known random seed so that subsequent packaging runs will reuse the same random
// numbers, keeping our install.sql file more stable.
srand(0);
gallery_installer::install(true);
module::load_modules();
foreach (array("user", "comment", "organize", "info", "rss", "search", "slideshow", "tag") as $module_name) {
module::install($module_name);
module::activate($module_name);
}
}
示例3: get_quick_buttons
static function get_quick_buttons($item, $page_type)
{
$buttons = self::buttons($item, $page_type);
foreach (module::active() as $module) {
if ($module->name == "gallery") {
continue;
}
$class_name = "{$module->name}_quick";
if (method_exists($class_name, "buttons")) {
$module_buttons = call_user_func(array($class_name, "buttons"), $item, $page_type);
foreach (array("left", "center", "right", "additional") as $position) {
if (!empty($module_buttons[$position])) {
$buttons[$position] = array_merge($buttons[$position], $module_buttons[$position]);
}
}
}
}
$sorted_buttons->main = array();
foreach (array("left", "center", "right") as $position) {
$sorted_buttons->main = array_merge($sorted_buttons->main, $buttons[$position]);
}
$sorted_buttons->additional = $buttons["additional"];
$max_display = empty($sorted_buttons->additional) ? 6 : 5;
if (count($sorted_buttons->main) >= $max_display) {
$to_move = array_slice($sorted_buttons->main, 5);
$sorted_buttons->additional = array_merge($to_move, $sorted_buttons->additional);
for ($i = count($sorted_buttons->main); $i >= 5; $i--) {
unset($sorted_buttons->main[$i]);
}
}
return $sorted_buttons;
}
示例4: __call
/**
* Handle all theme functions that insert module content.
*/
public function __call($function, $args)
{
switch ($function) {
case "admin_credits":
case "admin_footer":
case "admin_header_top":
case "admin_header_bottom":
case "admin_page_bottom":
case "admin_page_top":
case "admin_head":
case "body_attributes":
$blocks = array();
foreach (module::active() as $module) {
$helper_class = "{$module->name}_theme";
if (method_exists($helper_class, $function)) {
$blocks[] = call_user_func_array(array($helper_class, $function), array_merge(array($this), $args));
}
}
if ($function == "admin_head") {
array_unshift($blocks, $this->combine_files($this->css, "css"));
array_unshift($blocks, $this->combine_files($this->scripts, "javascript"));
}
if (Session::instance()->get("debug")) {
if ($function != "admin_head") {
array_unshift($blocks, "<div class=\"g-annotated-theme-block g-annotated-theme-block_{$function}\">" . "<div class=\"title\">{$function}</div>");
$blocks[] = "</div>";
}
}
return implode("\n", $blocks);
default:
throw new Exception("@todo UNKNOWN_THEME_FUNCTION: {$function}");
}
}
示例5: process_feed
static function process_feed($feed, $offset, $limit, $id)
{
foreach (module::active() as $module) {
$class_name = "{$module->name}_rss";
if (method_exists($class_name, $feed)) {
return call_user_func(array($class_name, $feed), $offset, $limit, $id);
}
}
}
示例6: get
static function get($request)
{
$results = array();
foreach (module::active() as $module) {
foreach (glob(MODPATH . "{$module->name}/helpers/*_rest.php") as $filename) {
$results[] = str_replace("_rest.php", "", basename($filename));
}
}
return array_unique($results);
}
示例7: get_definitions
/**
* Get all available tasks
*/
static function get_definitions()
{
$tasks = array();
foreach (module::active() as $module) {
$class_name = "{$module->name}_task";
if (method_exists($class_name, "available_tasks")) {
foreach (call_user_func(array($class_name, "available_tasks")) as $task) {
$tasks[$task->callback] = $task;
}
}
}
return $tasks;
}
示例8: get_available
static function get_available()
{
$blocks = array();
foreach (module::active() as $module) {
$class_name = "{$module->name}_block";
if (method_exists($class_name, "get_list")) {
foreach (call_user_func(array($class_name, "get_list")) as $id => $title) {
$blocks["{$module->name}:{$id}"] = $title;
}
}
}
return $blocks;
}
示例9: _get_blocks
private static function _get_blocks($function)
{
$blocks = array();
foreach (module::active() as $module) {
$class_name = "{$module->name}_block";
if (method_exists($class_name, $function)) {
foreach (call_user_func(array($class_name, $function)) as $id => $title) {
$blocks["{$module->name}:{$id}"] = $title;
}
}
}
return $blocks;
}
示例10: update
static function update($item)
{
$data = array();
$record = ORM::factory("search_record")->where("item_id", $item->id)->find();
if (!$record->loaded) {
$record->item_id = $item->id;
}
foreach (module::active() as $module) {
$class_name = "{$module->name}_search";
if (method_exists($class_name, "item_index_data")) {
$data[] = call_user_func(array($class_name, "item_index_data"), $record->item());
}
}
$record->data = join(" ", $data);
$record->dirty = 0;
$record->save();
}
示例11: sidebar_blocks
static function sidebar_blocks($theme) {
$block = new Block();
$block->css_id = "gRss";
$block->title = t("Available RSS Feeds");
$block->content = new View("rss_block.html");
$block->content->feeds = array();
foreach (module::active() as $module) {
$class_name = "{$module->name}_rss";
if (method_exists($class_name, "available_feeds")) {
$block->content->feeds = array_merge(
$block->content->feeds,
call_user_func(array($class_name, "available_feeds"), $theme->item(), $theme->tag()));
}
}
if ($block->content->feeds) {
return $block;
}
}
示例12: site
static function site($menu, $theme)
{
$is_admin = user::active()->admin;
$menu->append(Menu::factory("link")->id("home")->label(t("Home"))->url(url::site("albums/1")));
$item = $theme->item();
$can_edit = $item && access::can("edit", $item) || $is_admin;
$can_add = $item && (access::can("add", $item) || $is_admin);
if ($can_add) {
$menu->append(Menu::factory("dialog")->id("add_photos_item")->label(t("Add photos"))->url(url::site("simple_uploader/app/{$item->id}")));
}
if ($item && $can_edit || $can_add) {
$menu->append($options_menu = Menu::factory("submenu")->id("options_menu")->label(t("Options")));
if ($can_edit) {
$options_menu->append(Menu::factory("dialog")->id("edit_item")->label($item->is_album() ? t("Edit album") : t("Edit photo"))->url(url::site("form/edit/{$item->type}s/{$item->id}")));
}
// @todo Move album options menu to the album quick edit pane
if ($item->is_album()) {
if ($can_add) {
$options_menu->append(Menu::factory("dialog")->id("add_album")->label(t("Add an album"))->url(url::site("form/add/albums/{$item->id}?type=album")));
}
if ($can_edit) {
$options_menu->append(Menu::factory("dialog")->id("edit_permissions")->label(t("Edit permissions"))->url(url::site("permissions/browse/{$item->id}")));
}
}
}
if ($is_admin) {
$menu->append($admin_menu = Menu::factory("submenu")->id("admin_menu")->label(t("Admin")));
self::admin($admin_menu, $theme);
foreach (module::active() as $module) {
if ($module->name == "gallery") {
continue;
}
$class = "{$module->name}_menu";
if (method_exists($class, "admin")) {
call_user_func_array(array($class, "admin"), array(&$admin_menu, $theme));
}
}
}
}
示例13: get
static function get($block_id, $theme)
{
$block = "";
switch ($block_id) {
case "rss_feeds":
$feeds = array();
foreach (module::active() as $module) {
$class_name = "{$module->name}_rss";
if (method_exists($class_name, "available_feeds")) {
$feeds = array_merge($feeds, call_user_func(array($class_name, "available_feeds"), $theme->item(), $theme->tag()));
}
}
if (!empty($feeds)) {
$block = new Block();
$block->css_id = "g-rss";
$block->title = t("Available RSS feeds");
$block->content = new View("rss_block.html");
$block->content->feeds = $feeds;
}
break;
}
return $block;
}
示例14: index
function index()
{
if (!TEST_MODE) {
throw new Kohana_404_Exception();
}
// Force strict behavior to flush out bugs early
ini_set("display_errors", true);
error_reporting(-1);
// Jump through some hoops to satisfy the way that we check for the site_domain in
// config.php. We structure this such that the code in config will leave us with a
// site_domain of "." (for historical reasons)
// @todo: for tests, we should force the site_domain to something like example.com
$_SERVER["SCRIPT_FILENAME"] = "index.php";
$_SERVER["SCRIPT_NAME"] = "./index.php";
$config = Kohana_Config::instance();
$original_config = DOCROOT . "var/database.php";
$test_config = VARPATH . "database.php";
if (!file_exists($original_config)) {
print "Please copy kohana/config/database.php to {$original_config}.\n";
return;
} else {
copy($original_config, $test_config);
$db_config = Kohana::config('database');
if (empty($db_config['unit_test'])) {
$default = $db_config['default'];
$conn = $default['connection'];
$config->set('database.unit_test.benchmark', $default['benchmark']);
$config->set('database.unit_test.persistent', $default['persistent']);
$config->set('database.unit_test.connection.type', $conn['type']);
$config->set('database.unit_test.connection.user', $conn['user']);
$config->set('database.unit_test.connection.pass', $conn['pass']);
$config->set('database.unit_test.connection.host', $conn['host']);
$config->set('database.unit_test.connection.port', $conn['port']);
$config->set('database.unit_test.connection.socket', $conn['socket']);
$config->set('database.unit_test.connection.database', "{$conn['database']}_test");
$config->set('database.unit_test.character_set', $default['character_set']);
$config->set('database.unit_test.table_prefix', $default['table_prefix']);
$config->set('database.unit_test.object', $default['object']);
$config->set('database.unit_test.cache', $default['cache']);
$config->set('database.unit_test.escape', $default['escape']);
$db_config = Kohana::config('database');
}
if ($db_config['default']['connection']['database'] == $db_config['unit_test']['connection']['database']) {
print "Don't use the default database for your unit tests or you'll lose all your data.\n";
return;
}
try {
$db = Database::instance('unit_test');
$db->connect();
// Make this the default database for the rest of this run
Database::set_default_instance($db);
} catch (Exception $e) {
print "{$e->getMessage()}\n";
return;
}
}
try {
// Clean out the database
if ($tables = $db->list_tables()) {
foreach ($db->list_tables() as $table) {
$db->query("DROP TABLE {{$table}}");
}
}
// Clean out the filesystem. Note that this cleans out test/var/database.php, but that's ok
// because we technically don't need it anymore. If this is confusing, we could always
// arrange to preserve that one file.
@system("rm -rf test/var");
@mkdir('test/var/logs', 0777, true);
$active_modules = module::$active;
// Reset our caches
module::$modules = array();
module::$active = array();
module::$var_cache = array();
$db->clear_cache();
// Rest the cascading class path
$config->set("core", $config->load("core"));
// Install the active modules
// Force gallery and user to be installed first to resolve dependencies.
gallery_installer::install(true);
module::load_modules();
module::install("user");
module::activate("user");
$modules = $paths = array();
foreach (module::available() as $module_name => $unused) {
if (in_array($module_name, array("gallery", "user"))) {
$paths[] = MODPATH . "{$module_name}/tests";
continue;
}
if (file_exists($path = MODPATH . "{$module_name}/tests")) {
$paths[] = $path;
module::install($module_name);
module::activate($module_name);
}
}
$config->set('unit_test.paths', $paths);
// Trigger late-binding install actions (defined in gallery_event::user_login)
graphics::choose_default_toolkit();
$filter = count($_SERVER["argv"]) > 2 ? $_SERVER["argv"][2] : null;
print new Unit_Test($modules, $filter);
} catch (ORM_Validation_Exception $e) {
//.........这里部分代码省略.........
示例15: __call
/**
* Handle all theme functions that insert module content.
*/
public function __call($function, $args)
{
switch ($function) {
case "album_blocks":
case "album_bottom":
case "album_top":
case "credits":
case "dynamic_bottom":
case "dynamic_top":
case "footer":
case "head":
case "header_bottom":
case "header_top":
case "page_bottom":
case "page_top":
case "photo_blocks":
case "photo_bottom":
case "photo_top":
case "resize_bottom":
case "resize_top":
case "sidebar_blocks":
case "sidebar_bottom":
case "sidebar_top":
case "thumb_bottom":
case "thumb_info":
case "thumb_top":
$blocks = array();
foreach (module::active() as $module) {
$helper_class = "{$module->name}_theme";
if (method_exists($helper_class, $function)) {
$blocks[] = call_user_func_array(array($helper_class, $function), array_merge(array($this), $args));
}
}
if (Session::instance()->get("debug")) {
if ($function != "head") {
array_unshift($blocks, "<div class=\"gAnnotatedThemeBlock gAnnotatedThemeBlock_{$function} gClearFix\">" . "<div class=\"title\">{$function}</div>");
$blocks[] = "</div>";
}
}
return implode("\n", $blocks);
default:
throw new Exception("@todo UNKNOWN_THEME_FUNCTION: {$function}");
}
}