diff --git a/3.0/modules/item_links/helpers/item_links_event.php b/3.0/modules/item_links/helpers/item_links_event.php new file mode 100644 index 00000000..12cc94a1 --- /dev/null +++ b/3.0/modules/item_links/helpers/item_links_event.php @@ -0,0 +1,58 @@ +where("item_id", "=", $item->id) + ->find_all(); + + $existing_url = ""; + if (count($item_url) > 0) { + $existing_url = $item_url[0]->url; + } + $form->edit_item + ->input("item_links_url") + ->label(t("Redirect to URL:")) + ->value($existing_url); + } + + static function item_deleted($item) { + // Whenever an item is deleted, delete any corresponding data. + db::build()->delete("item_links")->where("item_id", "=", $item->id)->execute(); + } + + static function item_edit_form_completed($item, $form) { + // Update the database with any changes to the item_links field. + $record = ORM::factory("item_link")->where("item_id", "=", $item->id)->find(); + + if ($form->edit_item->item_links_url->value != "") { + if (!$record->loaded()) { + $record->item_id = $item->id; + } + $record->url = $form->edit_item->item_links_url->value; + $record->save(); + } else { + db::build()->delete("item_links")->where("item_id", "=", $item->id)->execute(); + } + } +} diff --git a/3.0/modules/item_links/helpers/item_links_installer.php b/3.0/modules/item_links/helpers/item_links_installer.php new file mode 100644 index 00000000..f9d34d98 --- /dev/null +++ b/3.0/modules/item_links/helpers/item_links_installer.php @@ -0,0 +1,34 @@ +query("CREATE TABLE IF NOT EXISTS {item_links} ( + `id` int(9) NOT NULL auto_increment, + `item_id` int(9) NOT NULL, + `url` text default NULL, + PRIMARY KEY (`id`), + KEY(`item_id`, `id`)) + DEFAULT CHARSET=utf8;"); + + // Set the module's version number. + module::set_version("item_links", 1); + } +} diff --git a/3.0/modules/item_links/helpers/item_links_theme.php b/3.0/modules/item_links/helpers/item_links_theme.php new file mode 100644 index 00000000..fbfcbb45 --- /dev/null +++ b/3.0/modules/item_links/helpers/item_links_theme.php @@ -0,0 +1,34 @@ +item()) { + $item_url = ORM::factory("item_link") + ->where("item_id", "=", $theme->item->id) + ->find_all(); + if (count($item_url) > 0) { + url::redirect($item_url[0]->url); + } + } + return; + } +} diff --git a/3.0/modules/item_links/models/item_link.php b/3.0/modules/item_links/models/item_link.php new file mode 100644 index 00000000..65335e27 --- /dev/null +++ b/3.0/modules/item_links/models/item_link.php @@ -0,0 +1,21 @@ +page_title = t("Gallery 3 :: Manage Module Updates"); $view->content = new View("admin_moduleupdates.html"); @@ -111,10 +114,12 @@ class Admin_Moduleupdates_Controller extends Admin_Controller { $font_color_local = $this->get_local_module_version_color ($module_info->version, $module_info->code_version); list ($core_version, $core_server) = $this->get_remote_module_version($this_module_name, "CORE"); $font_color_core = $this->get_module_version_color ($module_info->version, $module_info->code_version, $core_version); - list ($contrib_version, $contrib_server) = $this->get_remote_module_version($this_module_name, "CONTRIB"); - $font_color_contrib = $this->get_module_version_color ($module_info->version, $module_info->code_version, $contrib_version); - list ($gh_version, $gh_server) = $this->get_remote_module_version($this_module_name, "GH"); - $font_color_gh = $this->get_module_version_color ($module_info->version, $module_info->code_version, $gh_version); + if(!is_numeric($core_version)) { + list ($contrib_version, $contrib_server) = $this->get_remote_module_version($this_module_name, "CONTRIB"); + $font_color_contrib = $this->get_module_version_color ($module_info->version, $module_info->code_version, $contrib_version); + list ($gh_version, $gh_server) = $this->get_remote_module_version($this_module_name, "GH"); + $font_color_gh = $this->get_module_version_color ($module_info->version, $module_info->code_version, $gh_version); + } if($font_color_core == "red" or $font_color_contrib == "red" or $font_color_gh == "red"){ $update_count++; @@ -174,6 +179,20 @@ class Admin_Moduleupdates_Controller extends Admin_Controller { $view->content->GitHub = $GitHub; $view->content->Gallery_Version = substr_replace(gallery::VERSION,"",strpos(gallery::VERSION," ")); + //End execution timer + $ExecutionTime = (time()-$bgtime); + if ($ExecutionTime < 1) { + $ExecutionTime = '1'; + }else if ($ExecutionTime <= 30){ + $ExecutionTime = '' . $ExecutionTime . ''; + }else if ($ExecutionTime <= 60){ + $ExecutionTime = '' . $ExecutionTime . ''; + }else{ + $ExecutionTime = '' . $ExecutionTime . ''; + } + + + $view->content->ExecutionTime = $ExecutionTime; print $view; } @@ -252,13 +271,24 @@ class Admin_Moduleupdates_Controller extends Admin_Controller { //Check the Gallery3 Community Contributions GitHub if ($file == null) { try { + $thisInstalledVersion = gallery::VERSION; + //Gallery versions prior to 3.0.2 contained the codename in the version string + if (substr_count($thisInstalledVersion, ' ') > 0 ){ + $thisInstalledVersion = substr_replace($thisInstalledVersion,"",strpos($thisInstalledVersion," ")); + } + //Truncate the minor version number + if (substr_count($thisInstalledVersion, '.') > 1 ){ + $thisInstalledVersion = substr_replace($thisInstalledVersion,"",strripos($thisInstalledVersion,".")); + } $file = fopen ("http://github.com/gallery/gallery3-contrib/raw/master/". - substr_replace(gallery::VERSION,"",strpos(gallery::VERSION," "))."/modules/".$module_name."/module.info", "r"); + $thisInstalledVersion ."/modules/".$module_name."/module.info", "r"); + if ($file != null) { $server = '(GCC)'; } } catch (Exception $e) { + //echo 'Message: ' .$e->getMessage() . '
'; } } break; @@ -303,6 +333,9 @@ class Admin_Moduleupdates_Controller extends Admin_Controller { if($line == "Not entered" or $line == "See git") { $line = ""; } + if (substr_count($line, '.') > 0) { + $line = str_replace('.','',$line); + } $version = $line; break; } else { diff --git a/3.0/modules/moduleupdates/helpers/moduleupdates_installer.php b/3.0/modules/moduleupdates/helpers/moduleupdates_installer.php index 1e60a2cb..85f90489 100644 --- a/3.0/modules/moduleupdates/helpers/moduleupdates_installer.php +++ b/3.0/modules/moduleupdates/helpers/moduleupdates_installer.php @@ -24,7 +24,7 @@ class moduleupdates_installer { $version = module::get_version("moduleupdates"); if ($version < 1) { - module::set_version("moduleupdates", 7); + module::set_version("moduleupdates", 8); //Remove the ModuleUpdates cache entry 'JIC' Cache::instance()->delete("ModuleUpdates"); //create the blank ModuleUpdates cache entry with an expiration of 0 days @@ -34,7 +34,7 @@ class moduleupdates_installer { } static function upgrade($version) { - module::set_version("moduleupdates", 7); + module::set_version("moduleupdates", 8); //Remove the ModuleUpdates cache entry 'JIC' Cache::instance()->delete("ModuleUpdates"); //Empty the ModuleUpdates cache entry so our new version starts from scratch diff --git a/3.0/modules/moduleupdates/module.info b/3.0/modules/moduleupdates/module.info index 603aeff5..7c73c340 100755 --- a/3.0/modules/moduleupdates/module.info +++ b/3.0/modules/moduleupdates/module.info @@ -1,7 +1,7 @@ -name = "Module Updates" +name = "ModuleUpdates" description = "Compares your installed module version against the ones stored in the GitHub." -version = 7 -author_name = "" -author_url = "" +version = 8 +author_name = "brentil" +author_url = "http://gallery.menalto.com/user/153736" info_url = "http://codex.gallery2.org/Gallery3:Modules:moduleupdates" -discuss_url = "http://gallery.menalto.com/forum_module_moduleupdates" +discuss_url = "http://gallery.menalto.com/node/96574" diff --git a/3.0/modules/moduleupdates/views/admin_moduleupdates.html.php b/3.0/modules/moduleupdates/views/admin_moduleupdates.html.php index e55ed7af..18ff31ed 100644 --- a/3.0/modules/moduleupdates/views/admin_moduleupdates.html.php +++ b/3.0/modules/moduleupdates/views/admin_moduleupdates.html.php @@ -2,7 +2,7 @@
-

+

@@ -16,7 +16,7 @@
  • Green = Your version is newer than the GitHub
    ") ?>
  • Orange = Your file version is newer than the installed version
    ") ?>
  • Pink = Your installed version is newer than file version
    ") ?>
  • -
  • ") ?>
  • +
  • ") ?>
  • " class="submit" />
  • diff --git a/3.0/modules/pages/controllers/admin_pages.php b/3.0/modules/pages/controllers/admin_pages.php new file mode 100644 index 00000000..cbf8ce6e --- /dev/null +++ b/3.0/modules/pages/controllers/admin_pages.php @@ -0,0 +1,271 @@ +page_title = t("Manage pages"); + $view->content = new View("admin_pages.html"); + $query = ORM::factory("static_page"); + $view->content->pages = $query->order_by("name", "ASC")->find_all(); + $view->content->form = $this->get_prefs_form(); + print $view; + } + + public function createpage() { + // Display a form for creating a new page. + $view = new Admin_View("admin.html"); + $view->page_title = t("Create page"); + $view->content = new View("admin_pages_new.html"); + $view->content->form = $this->get_new_page_form(); + print $view; + } + + public function editpage($id) { + // Display a form for editing an existing page. + $existing_page = ORM::factory("static_page", $id); + $view = new Admin_View("admin.html"); + $view->page_title = t("Edit page"); + $view->content = new View("admin_pages_new.html"); + $view->content->form = $this->get_edit_page_form($existing_page); + print $view; + } + + public function savepage() { + // Save a page to the database. + + access::verify_csrf(); + + // Store form values into variables. + $page_id = Input::instance()->post("page_id"); + $page_name = urlencode(trim(Input::instance()->post("page_name"))); + $page_title = Input::instance()->post("page_title"); + $page_code = Input::instance()->post("page_code"); + $display_menu = Input::instance()->post("display_menu"); + + // If $page_id is set, update an existing page. + if (isset($page_id)) { + $update_page = ORM::factory("static_page", $page_id); + $update_page->title = $page_title; + $update_page->html_code = $page_code; + $update_page->display_menu = $display_menu; + $update_page->save(); + message::success(t("Page %page_name updated", array("page_name" => $update_page->name))); + log::success("pages", t("Page %page_name updated", array("page_name" => $update_page->name))); + url::redirect("admin/pages"); + } else { + + // If $page_id is not set, we are dealing with a new page. + // Check and make sure a page with the same names doesn't already exist. + $existing_page = ORM::factory("static_page") + ->where("name", "=", $page_name) + ->find_all(); + + // If the page doesn't exist, save it to the database. + if (count($existing_page) == 0) { + $new_page = ORM::factory("static_page"); + $new_page->name = $page_name; + $new_page->title = $page_title; + $new_page->html_code = $page_code; + $new_page->display_menu = $display_menu; + $new_page->save(); + message::success(t("Page %page_name created", array("page_name" => $page_name))); + log::success("pages", t("Page %page_name created", array("page_name" => $page_name))); + url::redirect("admin/pages"); + } else { + + // If the page does exist, ask the user if they want to overwrite the old page with the new one. + message::error(t("Page %page_name already exists, press Save again to overwrite.", array("page_name" => $page_name))); + $view = new Admin_View("admin.html"); + $view->page_title = t("Edit page"); + $view->content = new View("admin_pages_new.html"); + $view->content->form = $this->get_overwrite_page_form($existing_page[0]->id, $page_name, $page_title, $page_code, $display_menu); + print $view; + } + } + } + + public function form_delete($id) { + // Display a form asking the user if they want to delete a page. + $one_page = ORM::factory("static_page", $id); + if ($one_page->loaded()) { + print $this->get_delete_form($one_page); + } + } + + public function delete($id) { + // Delete the specified page. + + access::verify_csrf(); + + // Make sure $id belongs to an actual page. + $one_page = ORM::factory("static_page", $id); + if (!$one_page->loaded()) { + throw new Kohana_404_Exception(); + } + + // If the form validates, delete the specified page. + $form = $this->get_delete_form($one_page); + if ($form->validate()) { + $name = $one_page->name; + $one_page->delete(); + message::success(t("Deleted page %page_name", array("page_name" => $name))); + log::success("pages", t("Deleted page %page_name", array("page_name" => $name))); + json::reply(array("result" => "success", "location" => url::site("admin/pages"))); + } else { + print $form; + } + } + + public function form_rename($id) { + // Display a form to allow the user to rename a page. + $one_page = ORM::factory("static_page", $id); + if ($one_page->loaded()) { + print InPlaceEdit::factory(urldecode($one_page->name)) + ->action("admin/pages/rename/$id") + ->render(); + } + } + + public function rename($id) { + // Rename an existing page. + access::verify_csrf(); + + // Make sure the page specified by $id exists. + $one_page = ORM::factory("static_page", $id); + if (!$one_page->loaded()) { + throw new Kohana_404_Exception(); + } + + $in_place_edit = InPlaceEdit::factory($one_page->name) + ->action("admin/pages/rename/$one_page->id") + ->rules(array("required", "length[1,64]")); + + // If the form validates, and if the new name doesn't already exist, rename the page. + if ($in_place_edit->validate()) { + $old_name = $one_page->name; + $new_name = urlencode(trim($in_place_edit->value())); + $new_name_exists = ORM::factory("static_page")->where("name", "=", $new_name)->find_all(); + if (count($new_name_exists) == 0) { + $one_page->name = $new_name; + $one_page->save(); + $message = t("Renamed page %old_name to %new_name", + array("old_name" => $old_name, "new_name" => $new_name)); + message::success($message); + log::success("pages", $message); + json::reply(array("result" => "success", "location" => url::site("admin/pages"))); + } else { + json::reply(array("result" => "error", "form" => (string)$in_place_edit->render())); + } + } else { + json::reply(array("result" => "error", "form" => (string)$in_place_edit->render())); + } + } + + static function get_delete_form($one_page) { + // Generate a new form asking the user if they want to delete a page. + $form = new Forge("admin/pages/delete/$one_page->id", "", "post", array("id" => "g-delete-pages-form")); + $group = $form->group("delete_page") + ->label(t("Really delete page %page_name?", array("page_name" => $one_page->name))); + $group->submit("")->value(t("Delete Page")); + return $form; + } + + private function get_new_page_form() { + // Generate a form for creating a new page. + $form = new Forge("admin/pages/savepage", "", "post", + array("id" => "g-pages-admin-form")); + + $pages_group = $form->group("new_page"); + $pages_group->input("page_name") + ->label(t("Name")); + $pages_group->input("page_title") + ->label(t("Title")); + $pages_group->textarea("page_code") + ->label(t("HTML Code")); + $pages_group->checkbox("display_menu") + ->label(t("Display in menu?")) + ->checked(false); + $pages_group->submit("save_page") + ->value(t("Save")); + + return $form; + } + + private function get_overwrite_page_form($id, $name, $title, $html_code, $display_menu) { + // Generate a form for overwriting an existing page. + $form = new Forge("admin/pages/savepage", "", "post", + array("id" => "g-pages-admin-form")); + + $pages_group = $form->group("new_page"); + $pages_group->hidden("page_id") + ->value($id); + $pages_group->input("page_name") + ->label(t("Name")) + ->readonly() + ->value($name); + $pages_group->input("page_title") + ->label(t("Title")) + ->value($title); + $pages_group->textarea("page_code") + ->label(t("HTML Code")) + ->value($html_code); + $pages_group->checkbox("display_menu") + ->label(t("Display in menu?")) + ->checked($display_menu); + $pages_group->submit("save_page") + ->value(t("Save")); + + return $form; + } + + private function get_edit_page_form($existing_page) { + // Generate a form for editing an existing page. Reuse the overwrite form for as it's basically the same thing. + return ($this->get_overwrite_page_form($existing_page->id, $existing_page->name, $existing_page->title, $existing_page->html_code, $existing_page->display_menu)); + } + + private function get_prefs_form() { + // Generate a form for global preferences. + $form = new Forge("admin/pages/saveprefs", "", "post", + array("id" => "g-pages-admin-form")); + + $pages_group = $form->group("preferences")->label(t("Settings")); + $pages_group->checkbox("display_sidebar") + ->label(t("Hide sidebar on Pages?")) + ->checked(module::get_var("pages", "show_sidebar")); + $pages_group->submit("save_prefs") + ->value(t("Save")); + + return $form; + } + + public function saveprefs() { + // Save a preferences to the database. + + access::verify_csrf(); + + // Save form variables. + module::set_var("pages", "show_sidebar", Input::instance()->post("display_sidebar")); + + // Display message and load main pages admin screen. + message::success(t("Your settings have been saved.")); + url::redirect("admin/pages"); + } +} diff --git a/3.0/modules/pages/controllers/pages.php b/3.0/modules/pages/controllers/pages.php new file mode 100644 index 00000000..8b0f7c2d --- /dev/null +++ b/3.0/modules/pages/controllers/pages.php @@ -0,0 +1,42 @@ +where("name", "=", $page_name) + ->find_all(); + + // If it doesn't exist, display a 404 error. + if (count($existing_page) == 0) { + throw new Kohana_404_Exception(); + } + + // Display the page. + $template = new Theme_View("page.html", "other", "Pages"); + $template->page_title = t("Gallery :: ") . $existing_page[0]->title; + $template->content = new View("pages_display.html"); + $template->content->title = $existing_page[0]->title; + $template->content->body = $existing_page[0]->html_code; + print $template; + } +} diff --git a/3.0/modules/pages/css/jHtmlArea.css b/3.0/modules/pages/css/jHtmlArea.css new file mode 100644 index 00000000..641ea291 --- /dev/null +++ b/3.0/modules/pages/css/jHtmlArea.css @@ -0,0 +1,48 @@ +div.jHtmlArea { display: inline block; border: solid 1px #ccc; } +div.jHtmlArea div { padding: 0px; margin: 0px; } +div.jHtmlArea .ToolBar { } +div.jHtmlArea .ToolBar ul { border: solid 0px #ccc; margin: 1px; padding: 1px; position:relative; display: inline; background: #fff url(../images/jHtmlArea_Toolbar_Group_BG.png) repeat-x;} +div.jHtmlArea .ToolBar ul li { list-style-type: none; float: left; border: none; padding: 1px; margin: 1px; } +div.jHtmlArea .ToolBar ul li:hover { border: solid 1px #ccc; background: #ddd url(../images/jHtmlArea_Toolbar_Group__Btn_Select_BG.png); padding: 0; } +div.jHtmlArea .ToolBar ul li a { display: block; width: 16px; height: 16px; background: url(../images/jHtmlArea.png) no-repeat -16px -500px; border: none; cursor: pointer; padding: 0px; } +div.jHtmlArea .ToolBar ul li a.highlighted { border: solid 1px #aaa; background-color: #bbb; padding: 0; } +div.jHtmlArea .ToolBar ul li.separator {height: 16px; margin: 0 2px 0 3px; border-left: 1px solid #ccc;} +div.jHtmlArea .ToolBar ul li.separator:hover { padding: 1px; background-color: #fff; border-top:none; border-bottom:none; border-right:none;} + +div.jHtmlArea .ToolBar ul li a:hover { } +div.jHtmlArea .ToolBar ul li a.bold { background-position: 0 0; } +div.jHtmlArea .ToolBar ul li a.italic { background-position: -16px 0; } +div.jHtmlArea .ToolBar ul li a.underline { background-position: -32px 0; } +div.jHtmlArea .ToolBar ul li a.strikethrough { background-position: -48px 0; } +div.jHtmlArea .ToolBar ul li a.link { background-position: -64px 0; } +div.jHtmlArea .ToolBar ul li a.unlink { background-position: -80px 0; } +div.jHtmlArea .ToolBar ul li a.orderedlist { background-position: -96px 0; } +div.jHtmlArea .ToolBar ul li a.unorderedlist { background-position: -112px 0; } +div.jHtmlArea .ToolBar ul li a.image { background-position: -128px 0; } +div.jHtmlArea .ToolBar ul li a.cut { background-position: -144px 0; } +div.jHtmlArea .ToolBar ul li a.copy { background-position: -160px 0; } +div.jHtmlArea .ToolBar ul li a.paste { background-position: -176px 0; } + +div.jHtmlArea .ToolBar ul li a.html { background-position: -192px 0; opacity:0.6; filter:alpha(opacity=60);} +div.jHtmlArea .ToolBar ul li a.html.highlighted { opacity:1.0; filter:alpha(opacity=100);} + +div.jHtmlArea .ToolBar ul li a.h1 { background-position: 0 -16px;} +div.jHtmlArea .ToolBar ul li a.h2 { background-position: -16px -16px;} +div.jHtmlArea .ToolBar ul li a.h3 { background-position: -32px -16px;} +div.jHtmlArea .ToolBar ul li a.h4 { background-position: -48px -16px;} +div.jHtmlArea .ToolBar ul li a.h5 { background-position: -64px -16px;} +div.jHtmlArea .ToolBar ul li a.h6 { background-position: -80px -16px;} +div.jHtmlArea .ToolBar ul li a.subscript { background-position: -96px -16px;} +div.jHtmlArea .ToolBar ul li a.superscript { background-position: -112px -16px;} +div.jHtmlArea .ToolBar ul li a.indent { background-position: -128px -16px;} +div.jHtmlArea .ToolBar ul li a.outdent { background-position: -144px -16px;} +div.jHtmlArea .ToolBar ul li a.horizontalrule { background-position: -160px -16px;} +div.jHtmlArea .ToolBar ul li a.p { background-position: -176px -16px;} + + +div.jHtmlArea .ToolBar ul li a.justifyleft { background-position: 0 -32px;} +div.jHtmlArea .ToolBar ul li a.justifycenter { background-position: -16px -32px;} +div.jHtmlArea .ToolBar ul li a.justifyright { background-position: -32px -32px;} +div.jHtmlArea .ToolBar ul li a.increasefontsize { background-position: -48px -32px;} +div.jHtmlArea .ToolBar ul li a.decreasefontsize { background-position: -64px -32px;} +div.jHtmlArea .ToolBar ul li a.forecolor { background-position: -80px -32px;} \ No newline at end of file diff --git a/3.0/modules/pages/helpers/pages_block.php b/3.0/modules/pages/helpers/pages_block.php new file mode 100644 index 00000000..089dd12b --- /dev/null +++ b/3.0/modules/pages/helpers/pages_block.php @@ -0,0 +1,57 @@ + t("Pages Links")); + } + + static function get($block_id, $theme) { + $block = ""; + + switch ($block_id) { + case "pages_block": + + // Create a new block with a list of all Pages and their links. + + // Query the database for all existing pages. + // If at least one page exists, display the sidebar block. + $query = ORM::factory("static_page"); + $pages = $query->order_by("title", "ASC")->find_all(); + if (count($pages) > 0) { + + // Loop through each page and generate an HTML list of their links and titles. + $content = ""; + + // Make a new sidebar block. + $block = new Block(); + $block->css_id = "g-pages"; + $block->title = t("Pages"); + $block->content = new View("pages_sidebar.html"); + $block->content->links = $content; + } + break; + } + return $block; + } +} diff --git a/3.0/modules/pages/helpers/pages_event.php b/3.0/modules/pages/helpers/pages_event.php new file mode 100644 index 00000000..9e37aa8b --- /dev/null +++ b/3.0/modules/pages/helpers/pages_event.php @@ -0,0 +1,44 @@ +get("settings_menu") + ->append(Menu::factory("link") + ->id("pages") + ->label(t("Pages Settings")) + ->url(url::site("admin/pages"))); + } + + static function site_menu($menu, $theme) { + $menu_pages = ORM::factory("static_page") + ->where("display_menu", "=", true) + ->order_by("title", "DESC") + ->find_all(); + if (count($menu_pages) > 0) { + foreach ($menu_pages as $one_page) { + $menu->add_after("home", Menu::factory("link") + ->id("pages-" . $one_page->id) + ->label($one_page->title) + ->url(url::site("pages/show/" . $one_page->name))); + } + } + } +} diff --git a/3.0/modules/pages/helpers/pages_installer.php b/3.0/modules/pages/helpers/pages_installer.php new file mode 100644 index 00000000..cd1f1546 --- /dev/null +++ b/3.0/modules/pages/helpers/pages_installer.php @@ -0,0 +1,44 @@ +query("CREATE TABLE IF NOT EXISTS {static_pages} ( + `id` int(9) NOT NULL auto_increment, + `name` varchar(255) default NULL, + `title` varchar(255) default NULL, + `html_code` text default NULL, + `display_menu` boolean default 0, + PRIMARY KEY (`id`), + UNIQUE KEY(`name`)) + DEFAULT CHARSET=utf8;"); + + // Set the module version number. + module::set_version("pages", 2); + } + static function upgrade($version) { + $db = Database::instance(); + if ($version == 1) { + $db->query("ALTER TABLE {static_pages} ADD COLUMN `display_menu` boolean default 0"); + module::set_version("pages", $version = 2); + } + } +} diff --git a/3.0/modules/pages/helpers/pages_theme.php b/3.0/modules/pages/helpers/pages_theme.php new file mode 100644 index 00000000..ec57a2ce --- /dev/null +++ b/3.0/modules/pages/helpers/pages_theme.php @@ -0,0 +1,27 @@ +script("jHtmlArea-0.7.0.js") . + $theme->css("jHtmlArea.css"); + } +} + \ No newline at end of file diff --git a/3.0/modules/pages/images/jHtmlArea.png b/3.0/modules/pages/images/jHtmlArea.png new file mode 100644 index 00000000..54c66a10 Binary files /dev/null and b/3.0/modules/pages/images/jHtmlArea.png differ diff --git a/3.0/modules/pages/images/jHtmlArea_Toolbar_Group_BG.png b/3.0/modules/pages/images/jHtmlArea_Toolbar_Group_BG.png new file mode 100644 index 00000000..bcfb0545 Binary files /dev/null and b/3.0/modules/pages/images/jHtmlArea_Toolbar_Group_BG.png differ diff --git a/3.0/modules/pages/images/jHtmlArea_Toolbar_Group__Btn_Select_BG.png b/3.0/modules/pages/images/jHtmlArea_Toolbar_Group__Btn_Select_BG.png new file mode 100644 index 00000000..4287b5b8 Binary files /dev/null and b/3.0/modules/pages/images/jHtmlArea_Toolbar_Group__Btn_Select_BG.png differ diff --git a/3.0/modules/pages/js/jHtmlArea-0.7.0.js b/3.0/modules/pages/js/jHtmlArea-0.7.0.js new file mode 100644 index 00000000..d1e360c4 --- /dev/null +++ b/3.0/modules/pages/js/jHtmlArea-0.7.0.js @@ -0,0 +1,403 @@ +/* +* jHtmlArea 0.7.0 - WYSIWYG Html Editor jQuery Plugin +* Copyright (c) 2009 Chris Pietschmann +* http://jhtmlarea.codeplex.com +* Licensed under the Microsoft Reciprocal License (Ms-RL) +* http://jhtmlarea.codeplex.com/license +*/ +(function($) { + $.fn.htmlarea = function(opts) { + if (opts && typeof (opts) === "string") { + var args = []; + for (var i = 1; i < arguments.length; i++) { args.push(arguments[i]); } + var htmlarea = jHtmlArea(this[0]); + var f = htmlarea[opts]; + if (f) { return f.apply(htmlarea, args); } + } + return this.each(function() { jHtmlArea(this, opts); }); + }; + var jHtmlArea = window.jHtmlArea = function(elem, options) { + if (elem.jquery) { + return jHtmlArea(elem[0]); + } + if (elem.jhtmlareaObject) { + return elem.jhtmlareaObject; + } else { + return new jHtmlArea.fn.init(elem, options); + } + }; + jHtmlArea.fn = jHtmlArea.prototype = { + + // The current version of jHtmlArea being used + jhtmlarea: "0.7.0", + + init: function(elem, options) { + if (elem.nodeName.toLowerCase() === "textarea") { + var opts = $.extend({}, jHtmlArea.defaultOptions, options); + elem.jhtmlareaObject = this; + + var textarea = this.textarea = $(elem); + var container = this.container = $("
    ").addClass("jHtmlArea").width(textarea.width()).insertAfter(textarea); + + var toolbar = this.toolbar = $("
    ").addClass("ToolBar").appendTo(container); + priv.initToolBar.call(this, opts); + + var iframe = this.iframe = $("