From faee4391a3283dbafc0ec101b4902fd01bc2e329 Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Wed, 23 Sep 2009 07:12:17 -0700 Subject: Remove a commented line I forgot to take out --- modules/gallery/controllers/albums.php | 1 - 1 file changed, 1 deletion(-) (limited to 'modules') diff --git a/modules/gallery/controllers/albums.php b/modules/gallery/controllers/albums.php index 694cc4ff..9733d1cd 100644 --- a/modules/gallery/controllers/albums.php +++ b/modules/gallery/controllers/albums.php @@ -28,7 +28,6 @@ class Albums_Controller extends Items_Controller { if ($album->id == 1) { $view = new Theme_View("page.html", "login"); $view->page_title = t("Log in to Gallery"); - //$view->content = user::get_login_form("login/auth_html"); $view->content = new View("login_ajax.html"); $view->content->form = user::get_login_form("login/auth_html"); print $view; -- cgit v1.2.3 From bdb6b17bf5d3929d6d762bf605f25f944b393e62 Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Wed, 23 Sep 2009 09:09:45 -0700 Subject: Correct whitespace --- modules/gallery/views/admin_maintenance_show_log.html.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'modules') diff --git a/modules/gallery/views/admin_maintenance_show_log.html.php b/modules/gallery/views/admin_maintenance_show_log.html.php index 8ea1beb6..2dfef90f 100644 --- a/modules/gallery/views/admin_maintenance_show_log.html.php +++ b/modules/gallery/views/admin_maintenance_show_log.html.php @@ -2,8 +2,8 @@ - script("gallery.ajax.js") ?> - script("gallery.dialog.js") ?> - script("superfish/js/superfish.js") ?> - script("ui.init.js") ?> - - admin_head() ?> - - - body_attributes() ?>> - admin_page_top() ?> - -
- -
- - site_status() ?> -
- admin_header_top() ?> -
    -
  • abs_url(), "← ".t("Back to the Gallery")) ?>
  • - -
- - - admin_header_bottom() ?> -
-
-
-
-
- messages() ?> - -
-
-
- -
- -
- -
-
- admin_footer() ?> -
- admin_credits() ?> -
-
-
- admin_page_bottom() ?> - - diff --git a/themes/admin_default/views/block.html.php b/themes/admin_default/views/block.html.php deleted file mode 100644 index 6cbea76e..00000000 --- a/themes/admin_default/views/block.html.php +++ /dev/null @@ -1,18 +0,0 @@ - - - - - diff --git a/themes/admin_default/views/pager.html.php b/themes/admin_default/views/pager.html.php deleted file mode 100644 index 5034ec19..00000000 --- a/themes/admin_default/views/pager.html.php +++ /dev/null @@ -1,44 +0,0 @@ - - -
    - $current_first_item, - "to_number" => $current_last_item, - "count" => $total_items)) ?> -
  • - - - - - - - - - - - - - - -
  • -
  • -
  • - - - - - - - - - - - - - - -
  • -
diff --git a/themes/admin_wind/css/fix-ie.css b/themes/admin_wind/css/fix-ie.css new file mode 100644 index 00000000..6bc2334c --- /dev/null +++ b/themes/admin_wind/css/fix-ie.css @@ -0,0 +1,18 @@ +/** + * Fix display in IE 6 and 7 + */ + +#gHeader, +#gGroupAdmin, +#gDeveloperTools, +.gAvailable .gBlock { + zoom: 1; +} + +.gUnavailable { + filter: alpha(opacity=40); +} + +.gUnavailable:hover { + filter: alpha(opacity=100); +} diff --git a/themes/admin_wind/css/screen.css b/themes/admin_wind/css/screen.css new file mode 100644 index 00000000..de6d436e --- /dev/null +++ b/themes/admin_wind/css/screen.css @@ -0,0 +1,1170 @@ +/** + * Gallery 3 Default Theme Screen Styles + * + * @requires YUI reset, font, grids CSS + * + * Sheet organization: + * 1) Basic HTML elements + * 2) Reusable classes + * 3) Reusable content blocks + * 4) Page layout containers + * 5) Content blocks in specific layout containers + * 6) Navigation and menus + * 7) Browser hacks + * 8) jQuery and jQuery UI + * 9) Right-to-left language styles + */ + +/** ******************************************************************* + * 1) Basic HTML elements + **********************************************************************/ + +body, html { + background-color: #ccc; + font-family: 'Lucida Grande', 'Lucida Sans', Arial, sans-serif; +} + +p { + margin-bottom: 1em; +} + +em { + font-style: oblique; +} + +h1, h2, h3, h4, h5, strong, th { + font-weight: bold; +} + +h1 { + font-size: 1.7em; +} + +#gSearchResults h1 { + margin-bottom: 1em; +} + +#gProgress h1 { + font-size: 1.1em; +} + +h2 { + font-size: 1.4em; +} + +#gSidebar .gBlock h2 { + font-size: 1.2em; +} + +#gSidebar .gBlock li { + margin-bottom: .6em; +} + +h3 { + font-size: 1.2em; +} + +/* Links ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +a, +.gMenu a, +#gDialog a, +.gButtonLink, +.gButtonLink:hover, +.gButtonLink:active, +a.ui-state-hover, +input.ui-state-hover, +button.ui-state-hover { + color: #5382BF !important; + text-decoration: none; + -moz-outline-style: none; +} + +a:hover, +#gDialog a:hover { + text-decoration: underline; +} + +.gMenu a:hover { + text-decoration: none; +} + +#gDialog .gCancel { + clear: none; + float: left; + margin: .3em 1em; +} + +#gForgotPasswordLink { + float: right; + font-size: .9em; +} + +#gDialog .gCancel { + float: left; +} + +/* Tables ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +table { + width: 100%; +} + +#gContent table { + margin: 1em 0 3em 0; +} + +caption, +th { + text-align: left; +} + +th, +td { + border: none; + border-bottom: 1px solid #ccc; + padding: .5em; + vertical-align: top; +} + +#gAdminMaintenance td { + vertical-align: middle; +} + +/* Forms ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +fieldset { + border: 1px solid #ccc; + padding-bottom: .8em; +} + +#gHeader fieldset, +#gSidebar fieldset, +.gShortForm fieldset { + border: none; +} + +legend { + font-weight: bold; + margin-left: 1em; +} + +#gHeader legend, +#gSidebar legend, +#gContent #gSearchForm legend, +input[type="hidden"], +.gShortForm label { + display: none; +} + +label { + cursor: help; +} + +input[type="text"], +input[type="password"] { + width: 50%; +} + +input[type="text"], +input[type="password"], +textarea { + border: 1px solid #e8e8e8; + border-top-color: #ccc; + border-left-color: #ccc; + color: #333; +} + +textarea { + width: 100%; + height: 12em; +} + +input:focus, +textarea:focus, +option:focus { + background-color: #ffc; + color: #000; +} + +/* Form layout ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +form li { + margin: 0 !important; + padding: .3em 1.5em .3em 1em; +} + +form ul ul { + clear: both; +} + +form ul ul li { + float: left; +} + +input, +select, +textarea { + display: block; + clear: both; + padding: .2em; +} + +input[type="submit"], +input[type="reset"] { + display: inline; + clear: none; + float: left; +} + +/* Form validation ~~~~~~~~~~~~~~~~~~~~~~~ */ + +.gValidationRule { + font-size: 80%; + margin-top: .5em; +} + +form.gError input[type="text"], +li.gError input[type="text"], +form.gError input[type="password"], +li.gError input[type="password"], +form.gError input[type="checkbox"], +li.gError input[type="checkbox"], +form.gError input[type="radio"], +li.gError input[type="radio"], +form.gError textarea, +li.gError textarea, +form.gError select, +li.gError select { + border: 2px solid red; +} + +/** ******************************************************************* + * 2) Reusable generic classes + *********************************************************************/ + +.inactive, .understate { + color: #ccc; + font-weight: normal; +} + +.left { + float: left; + margin: 1em 1em 1em 0; +} + +.right { + float: right; + margin: 1em 0 1em 1em; +} + +.txtright { + text-align: right; +} + +/** ******************************************************************* + * 3) Reusable content blocks + *********************************************************************/ + +.gBlock { + background-color: #fff; + border: 1px solid #ccc; + clear: both; + margin-bottom: 2.5em; + padding: 1em; +} + +#gSidebar .gBlockContent { + padding: 0; +} + +.gBlock h2 { + background-color: #e8e8e8; + padding: .3em .8em; +} + +.gBlockContent { + margin-top: 1em; +} + +.gSelected img, +.gAvailable .gBlock img { + float: left; + margin: 0 1em 1em 0; +} + +.rtl .gSelected img, +.rtl .gAvailable .gBlock img { + float: right; +} + +.gSelected { + background: #e8e8e8; +} + +.gAvailable .gInstalledToolkit:hover { + cursor: pointer; + background: #eee; +} + +.gAvailable .gButtonLink { + width: 96%; +} + +.gSelected .gButtonLink { + display: none; +} + +.gUnavailable { + border-color: #999; + opacity: 0.4; +} + +.gOddRow { + background-color: #eee; +} + +.gEvenRow { + background-color: #fff; +} + +/* Status messages ~~~~~~~~~~~~~~~~~~~~~~~ */ + +#gMessage { + width: 100%; +} + +#gSiteStatus li, +#gMessage li, +.gModuleStatus { + border: 1px solid #ccc; + margin-bottom: .4em; +} + +#gSiteStatus li { + margin-bottom: 0; + border: none; + border-bottom: 1px solid #ccc; +} + +.gModuleStatus { + clear: both; + margin-bottom: 1em; +} + +.gError, +.gInfo, +.gSuccess, +.gWarning { + padding: .4em .5em .4em 30px; +} + +.gError, tr.gError td.gError { + background: #f6cbca url('../images/ico-error.png') no-repeat .4em 50%; +} + +.gInfo { + background: #e8e8e8 url('../images/ico-info.png') no-repeat .4em 50%; +} + +.gSuccess { + background: #d9efc2 url('../images/ico-success.png') no-repeat .4em 50%; +} + +.gWarning, tr.gWarning td.gWarning { + background: #fcf9ce url('../images/ico-warning.png') no-repeat .4em 50%; +} + +.gPager .gInfo, +tr.gError, +tr.gInfo, +tr.gSuccess, +tr.gWarning { + background: none; +} + +.gInfo td.gInfo { + background-color: transparent; +} + +.gSuccess td.gSuccess { + background-color: transparent; +} + +.gError td { + background-color: #f6cbca; +} + +.gWarning td { + background-color: #fcf9ce; +} + +/* Inline layout (forms, lists) ~~~~~~~~~~ */ + +.gShortForm li { + float: left; + padding: .4em 0; +} + +.gShortForm input[type="text"] { + color: #666; + padding: .3em .6em; + width: 11em; +} + +/*** ****************************************************************** + * 4) Page layout containers + *********************************************************************/ + +/* View container ~~~~~~~~~~~~~~~~~~~~~~~~ */ + +.gView { + background-color: #fff; + border: 1px solid #ccc; + border-bottom: none; + min-width: 974px !important; +} + +/* Layout containers ~~~~~~~~~~~~~~~~~~~~~ */ + +#gHeader { + background-color: #e8e8e8; + border-bottom: 1px solid #ccc; + font-size: .8em; + margin-bottom: 20px; + padding: 0 20px; + position: relative; +} + +#gContent { + font-size: 1.1em; + padding-left: 20px; + width: 96%; +} + +#gSidebar { + background-color: #fff; + font-size: .9em; + padding: 0 20px; + width: 220px; +} + +#gFooter { + background-color: #e8e8e8; + border-top: 1px solid #ccc; + font-size: .8em; + margin-top: 20px; + padding: 10px 20px; +} + +/** ******************************************************************* + * 5) Content blocks in specific layout containers + *********************************************************************/ + +/* Header ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#gHeader #gLogo { + background: transparent url('../../../lib/images/logo.png') no-repeat 0 .5em; + color: #A5A5A5 !important; + display: block; + height: 55px; + padding-top: 5px; + width: 105px; +} + +#gHeader #gLogo:hover { + color: #f60 !important; + text-decoration: none; +} + +#gHeader #gQuickSearchForm { + clear: right; + float: right; + margin: 1em 0; +} + +#gHeader #gQuickSearchForm input[type='text'] { + width: 17em; +} + +#gContent .gBlock h2 { + background-color: transparent; + padding-left: 0; +} + +#gSidebar .gBlockContent { + padding-left: 1em; +} + +/* Footer content ~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#gHeader #gLoginMenu li, +#gFooter #gCredits li { + display: inline; +} + +#gHeader #gLoginMenu li { + padding-left: 1.2em; +} + +#gFooter #gCredits li { + padding-right: 1.2em; +} + +#gContent #gSearchResults { + margin-top: 1em; + padding-top: 1em; +} + +.gBlock .ui-dialog-titlebar { + margin: -1em -1em 0; +} + +#gSidebar .gBlock h2 { + background: none; +} + +#gPhotoStream { + background-color: #e8e8e8; +} + +#gPhotoStream .gBlockContent ul { + border-right: 1px solid #e8e8e8; + height: 135px; + overflow: auto; + overflow: -moz-scrollbars-horizontal; /* for FF */ + overflow-x: scroll; /* scroll horizontal */ + overflow-y: hidden; /* Hide vertical*/ +} + +#gContent #gPhotoStream .gItem { + background-color: #fff; + border: 1px solid #e8e8e8; + border-right-color: #ccc; + border-bottom-color: #ccc; + float: left; + height: 90px; + overflow: hidden; + text-align: center; + width: 90px; +} + +.rtl #gContent #gPhotoStream .gItem { + float: right; +} + +#gSiteStatus { + margin-bottom: 0; +} + +#gContent .gItem { + background-color: #fff; + border: 1px solid #e8e8e8; + border-right-color: #ccc; + border-bottom-color: #ccc; + height: 90px; + padding: 14px 8px; + text-align: center; + width: 90px; +} + +#gAdminCommentsMenu { + margin: 1em 0; +} + +#gAdminCommentsMenu a { + margin: 0; + padding: .2em .6em; +} + +#gAdminGraphics .gAvailable .gBlock { + clear: none; + float: left; + height: 17em; + margin-right: 1em; + width: 30%; +} + +.rtl #gAdminGraphics .gAvailable .gBlock { + float: right; + margin-left: 1em; + margin-right: 0em; +} + +#gSiteTheme, +#gAdminTheme { + float: left; + width: 48%; +} + +.rtl #gSiteTheme, +.rtl #gAdminTheme { + float: right; +} + +#gSiteTheme { + margin-right: 1em; +} + +#gUserAdminList { + margin-bottom: 1em; +} +#gUserAdminList td { + vertical-align: bottom; +} + +#gUserAdminList .gDraggable:hover { + border: 1px dashed black; +} + +#gUserAdminList .admin { + color: #55f; + font-weight: bold; +} + +.gActions a, +.gActions span { + margin-right: 3em; +} + +li.gGroup { + float: left; + display: block; + width: 200px; + border: 1px solid gray; + padding: 0; + margin: 0 1em 1em 0; +} + +.rtl li.gGroup { + float: right; +} + +li.gGroup h4 { + background-color: #eee; + border-bottom: 1px dashed #ccc; + padding: .5em 0 .5em .5em; +} +li.gGroup .gButtonLink { + padding: 0; +} +li.gGroup ul, li.gGroup div { + height: 180px; + margin: 1px; + overflow: auto; + padding-top: .2em; +} +li.gGroup div p { + color: gray; + text-align: center; + padding: 2em .5em 0 .5em +} +li.gGroup .gUser { + padding: .2em 0 0 .5em; +} +li.gGroup .gUser .gButtonLink { + vertical-align: middle; +} + +li.gDefaultGroup h4, li.gDefaultGroup .gUser { + color: gray; +} + +#gAdminAdvancedSettings tr.setting:hover { + background: #ffc; +} + +/** ******************************************************************* + * 5) Navigation and menus + *********************************************************************/ + +#gSiteAdminMenu, +#gTagCloud ul { + font-size: 1.2em; +} + +/* Login menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#gHeader #gLoginMenu { + color: #999; + float: right; + margin: 0; + padding: 5px 0; +} + +.rtl #gHeader #gLoginMenu { + text-align: left; +} + +/* Site Menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#gSiteAdminMenu { + bottom: 0; + display: none; + font-size: 1.2em; + left: 140px; + position: absolute; +} + +#gSiteAdminMenu ul { + margin-bottom: 0; +} + +/* Pagination ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +.gPager { + clear: both; + margin: 0; + padding: 5px 0 !important; + width: 100%; +} + +.gPager li { + float: left; + margin: 0; + width: 30%; +} + +.gPager .gInfo { + text-align: center; + width: 40%; +} + +/** ******************************************************************* + * 6) Browser hacks + *********************************************************************/ + +#gSiteAdminMenu:after, +#gHeader:after, +#gAdminCommentsMenu:after, +#gGroupAdmin:after, +.gSelected:after, +.gAvailable .gBlock:after, +#gModuleCreateForm ul li ul:after, +#gDeveloperTools:after, +#gPhotoStream:after, +#gViewMenu:after { + clear: both; + content: "."; + display: block; + height: 0; + visibility: hidden; +} + +/** ******************************************************************* + * 7) jQuery and jQuery UI + *********************************************************************/ + +/* Superfish menu overrides ~~~~~~~~~~~~~~ */ + +.sf-menu li li, .sf-menu li li ul li { + background-color: #bdd2ff; +} + +.sf-menu li:hover { + background-color: #dfe9ff; +} + +/* Ajax loading indicator ~~~~~~~~~~~~~~~~ */ + +.gLoadingLarge { + background: #e8e8e8 url('../../../lib/images/loading-large.gif') no-repeat center center; + font-size: 0; +} + +.gDialogLoadingLarge { + background: url('../../../lib/images/loading-large.gif') no-repeat center center !important; + font-size: 0; +} + +.gLoadingSmall { + background: #e8e8e8 url('../../../lib/images/loading-small.gif') no-repeat center center; + font-size: 0; +} + +.gDraggable { + cursor: move; +} + +.gDropTarget { + background-color: #cfdeff; + border: 1px dotted #999; + height: 100px; + margin: 1em 0; +} + +/* jQuery UI Dialog ~~~~~~~~~~~~~~~~~~~~~~ */ + +#gPanel { + display: none; + padding: 1em; +} + +#gPanel legend { + display: none; +} + +#gPanel fieldset { + border: none; +} + +.ui-draggable { + cursor: move; +} + +.gButtonSetVertical a { + width: 8em !important; +} + +#gAdminDashboard .ui-dialog-titlebar, +#gAdminDashboardSidebar .ui-dialog-titlebar { + padding: .2em .4em; +} + +.ui-widget-overlay { + background: #000; + opacity: .7; +} + +#gDialog { + text-align: left; +} + +#gDialog li { + padding-left: 0; +} + +#gDialog form input[type="text"], +#gDialog form input[type="password"] { + width: 100%; +} + +#gDialog #gLoginForm, +#gDialog #gAddUserForm, +#gDialog #gAddGroupForm { + margin: 0 auto; + width: 270px; +} + +#gDialog fieldset { + border: none; +} + +#gDialog legend { + display: none; +} + +/* jQuery UI ThemeRoller buttons */ + +.gButtonLink { + display: inline-block; + margin: 0 4px 0 0; + padding: .2em .4em; + outline: 0; +} + +.gButtonSet { + padding-left: 1px; +} + +.gButtonSet li { + float: left; +} + +.gButtonSet .gButtonLink { + margin: 0; +} + +.ui-icon-left .ui-icon { + float: left; + margin-right: .2em; +} + +.ui-icon-right .ui-icon { + float: right; + margin-left: .2em; +} + +.ui-icon-rotate-ccw { + background-position: -192px -64px; +} + +.ui-icon-rotate-cw { + background-position: -208px -64px; +} + +/*************** STUFF THAT NEEDS A HOME ****************/ + +#gMove ul { + padding-left: 1em; +} + +#gMove .selected { + background: #999; +} + +.gProgressBar { + height: 1em; + width: 100%; + margin-top: .5em; + display: inline-block; +} + +#gAddPhotos p { + margin: 0; + padding: 0; +} + +#gAddPhotosCanvas { + height: 325px; + width: 450px; + overflow: auto; +} + +#gAddPhotosQueue .progressbar { + height: 4px; +} + +#gAddPhotosQueue .title { + font-size: 1.25em; +} + +#gAddPhotosQueue .status { + font-size: .75em; +} + +#gAddPhotosQueue .box { + margin-bottom: 8px; + padding: 4px; +} + +#gAddPhotosQueue .pending { + background-color: #e8e8e8; + border: 1px solid #d7d7d7; +} + +#gAddPhotosQueue .error { + background-color: #fcc; + border: 1px solid #ebb; +} + +#gAddPhotosQueue .uploading { + background-color: #ff9; + border: 1px solid #ee8; +} + +#gAddPhotosQueue .complete { + background-color: #cfc; + border: 1px solid #beb; +} + +#gAdminG2ImportNotes { + padding-bottom: 20px; +} + +#gAdminG2ImportDetails { + padding-top: 20px; +} + +#gAdminG2ImportDetails .gWarning { + margin-top: 4px; +} + +#gAdminG2ImportDetails .gInfo { + padding: 2px; + border: 1px solid #999; + margin-bottom: 10px; +} + +#gAdminG2ImportNotes p, +#gAdminG2ImportDetails .gInfo p { + padding: 0; + margin: 0; +} + +#gAdminG2ImportNotes ul li, +#gAdminG2Import .gInfo ul li { + padding-left: 0; + margin-left: 20px; + list-style-type: disc; +} + +#gTagAdmin { + table-layout: fixed; +} + +#gTagAdmin td { + border: 0; +} + +#gTagAdmin ul { + padding-bottom: .3em; +} + +#gTagAdmin li { + padding: .1em 0 .2em .3em; +} + +#gTagAdmin .gColumn { + float: left; + width: 200px; +} + +.rtl #gTagAdmin .gColumn { + float: right; +} + +.gEditable { + padding: .1em .3em .2em .3em; +} + +.gEditable:hover { + background-color: #ffc; + cursor: text; +} + +#gRenameTagForm input { + padding: 0 .2em 0 .2em; + clear: none; + float: left; + margin: 0 .2em 0 0; +} + +.rtl #gRenameTagForm input { + float: right; +} + +#gRenameTagForm input[type="text"].gError { + border: 2px solid red; + background: none; +} + +#gRenameTagForm input[type="submit"] { + height: 25px; +} + +#gRenameTagForm a, #gRenameTagForm span { + display: block; + float: left; + padding: .2em .2em 0 .1em; +} + +.rtl #gRenameTagForm a, #gRenameTagForm span { + float: right; +} + +#gTaskLogDialog h1 { + font-size: 1.1em; +} + +.gTaskLog { + border: 1pt solid; + font-size: .9em; + height: 400px; + margin: .5em 0; + overflow: auto; + padding: .5em +} + +#gServerAddAdmin { + margin:auto; + text-align: left; +} + +.rtl #gServerAddAdmin { + text-align: right; +} + +#gServerAddAdmin form fieldset { + border: medium none; +} + +#gServerAddAdmin legend { + display: none; +} + +#gServerAddAdmin .gWarning { + background-color: #FFFF99; +} + +#gAuthorizedPath { + margin: 0 !important; + padding: 0.3em 1.5em 0.3em 1em; +} + +#gServerAdd Admin #path { + width: 80%; +} + +.gRemoveDir:hover { + cursor: pointer; +} + +#gLanguagesForm table { + width: 400px; + float: left; + margin: 0 3em 1em 0; +} + +#gLanguagesForm .installed { + background-color: #EEEEEE; +} + +#gLanguagesForm .default { + background-color: #C5DBEC; + font-weight: bold; +} + +#gLanguagesForm input { + clear: both; +} + +#gTranslations { + padding: 2em 0 0 0; + clear: both; +} + +#gTranslations .gButtonLink { + padding: .5em; +} + +.gDocLink { + float: right; +} + +/* Right to left styles ~~~~~~~~~~~~~~~~~~~~ */ + +.rtl { + direction: rtl; +} + +.rtl caption, +.rtl th, +.rtl #gDialog { + text-align: right; +} + +.rtl .txtright { + text-align: left; +} + +.rtl #gHeader #gQuickSearchForm, +.rtl #gForgotPasswordLink, +.rtl #gHeader #gLoginMenu, +.rtl .ui-icon-right .ui-icon { + clear: left; + float: left; +} + +.rtl #gDialog .gCancel, +.rtl form ul ul li, +.rtl input[type="submit"], +.rtl input[type="reset"], +.rtl .gShortForm li, +.rtl #gContent #gAlbumGrid .gItem, +.rtl #gSiteAdminMenu, +.rtl .gPager li, +.rtl .gButtonSet li, +.rtl .ui-icon-left .ui-icon { + float: right; +} diff --git a/themes/admin_wind/images/avatar.jpg b/themes/admin_wind/images/avatar.jpg new file mode 100644 index 00000000..2e76b12b Binary files /dev/null and b/themes/admin_wind/images/avatar.jpg differ diff --git a/themes/admin_wind/images/ico-album.png b/themes/admin_wind/images/ico-album.png new file mode 100644 index 00000000..affa1b84 Binary files /dev/null and b/themes/admin_wind/images/ico-album.png differ diff --git a/themes/admin_wind/images/ico-error.png b/themes/admin_wind/images/ico-error.png new file mode 100644 index 00000000..c37bd062 Binary files /dev/null and b/themes/admin_wind/images/ico-error.png differ diff --git a/themes/admin_wind/images/ico-info.png b/themes/admin_wind/images/ico-info.png new file mode 100644 index 00000000..12cd1aef Binary files /dev/null and b/themes/admin_wind/images/ico-info.png differ diff --git a/themes/admin_wind/images/ico-print.png b/themes/admin_wind/images/ico-print.png new file mode 100644 index 00000000..b82a8e1e Binary files /dev/null and b/themes/admin_wind/images/ico-print.png differ diff --git a/themes/admin_wind/images/ico-separator.gif b/themes/admin_wind/images/ico-separator.gif new file mode 100644 index 00000000..3de2d0d3 Binary files /dev/null and b/themes/admin_wind/images/ico-separator.gif differ diff --git a/themes/admin_wind/images/ico-success.png b/themes/admin_wind/images/ico-success.png new file mode 100644 index 00000000..a9925a06 Binary files /dev/null and b/themes/admin_wind/images/ico-success.png differ diff --git a/themes/admin_wind/images/ico-view-comments.png b/themes/admin_wind/images/ico-view-comments.png new file mode 100644 index 00000000..e5d3630f Binary files /dev/null and b/themes/admin_wind/images/ico-view-comments.png differ diff --git a/themes/admin_wind/images/ico-view-fullsize.png b/themes/admin_wind/images/ico-view-fullsize.png new file mode 100644 index 00000000..0be23e9b Binary files /dev/null and b/themes/admin_wind/images/ico-view-fullsize.png differ diff --git a/themes/admin_wind/images/ico-view-hybrid.png b/themes/admin_wind/images/ico-view-hybrid.png new file mode 100644 index 00000000..ee902e55 Binary files /dev/null and b/themes/admin_wind/images/ico-view-hybrid.png differ diff --git a/themes/admin_wind/images/ico-view-slideshow.png b/themes/admin_wind/images/ico-view-slideshow.png new file mode 100644 index 00000000..82f61f63 Binary files /dev/null and b/themes/admin_wind/images/ico-view-slideshow.png differ diff --git a/themes/admin_wind/images/ico-warning.png b/themes/admin_wind/images/ico-warning.png new file mode 100644 index 00000000..628cf2da Binary files /dev/null and b/themes/admin_wind/images/ico-warning.png differ diff --git a/themes/admin_wind/js/ui.init.js b/themes/admin_wind/js/ui.init.js new file mode 100644 index 00000000..c6379c09 --- /dev/null +++ b/themes/admin_wind/js/ui.init.js @@ -0,0 +1,59 @@ +$(document).ready(function(){ + // Initialize Superfish menus + $("#gSiteAdminMenu ul.gMenu").addClass("sf-menu"); + $("ul.gMenu").addClass("sf-menu"); + $("ul.sf-menu").superfish({ + delay: 500, + animation: { + opacity: "show", + height: "show" + }, + pathClass: "current", + speed: "fast" + }); + $("#gSiteAdminMenu").css("display", "block"); + + // Initialize status message effects + $("#gMessage li").gallery_show_message(); + + // Initialize modal dialogs + $(".gDialogLink").gallery_dialog(); + + // Initialize ajax links + $(".gAjaxLink").gallery_ajax(); + + // Initialize panels + $(".gPanelLink").gallery_panel(); + + if ($("#gPhotoStream").length) { + // Vertically align thumbs in photostream + $(".gItem").gallery_valign(); + } + + // Apply jQuery UI button css to submit inputs + $("input[type=submit]:not(.gShortForm input)").addClass("ui-state-default ui-corner-all"); + + // Round view menu buttons + if ($("#gAdminCommentsMenu").length) { + $("#gAdminCommentsMenu ul").removeClass("gMenu").removeClass("sf-menu"); + $("#gAdminCommentsMenu").addClass("gButtonSet"); + $("#gAdminCommentsMenu a").addClass("gButtonLink ui-state-default"); + $("#gAdminCommentsMenu ul li:first a").addClass("ui-corner-left"); + $("#gAdminCommentsMenu ul li:last a").addClass("ui-corner-right"); + } + + // Round corners + $(".gSelected").addClass("ui-corner-all"); + $(".gAvailable .gBlock").addClass("ui-corner-all"); + $(".gUnavailable").addClass("ui-corner-all"); + + // Add hover state for buttons + $(".ui-state-default").hover( + function() { + $(this).addClass("ui-state-hover"); + }, + function() { + $(this).removeClass("ui-state-hover"); + } + ); +}); diff --git a/themes/admin_wind/theme.info b/themes/admin_wind/theme.info new file mode 100644 index 00000000..4034b64a --- /dev/null +++ b/themes/admin_wind/theme.info @@ -0,0 +1,6 @@ +name = "Gallery Wind" +description = "A crisp Site Administration theme with soft colors and drop down menus." +version = 1 +author = "Gallery Team" +admin = 1 +site = 0 diff --git a/themes/admin_wind/thumbnail.png b/themes/admin_wind/thumbnail.png new file mode 100644 index 00000000..b07a4cc2 Binary files /dev/null and b/themes/admin_wind/thumbnail.png differ diff --git a/themes/admin_wind/views/admin.html.php b/themes/admin_wind/views/admin.html.php new file mode 100644 index 00000000..ef15ed25 --- /dev/null +++ b/themes/admin_wind/views/admin.html.php @@ -0,0 +1,81 @@ + + + + + + <?= t("Admin Dashboard") ?> + " type="image/x-icon" /> + + css("yui/reset-fonts-grids.css") ?> + css("themeroller/ui.base.css") ?> + css("superfish/css/superfish.css") ?> + css("screen.css") ?> + + + script("jquery.js") ?> + script("jquery.form.js") ?> + script("jquery-ui.js") ?> + script("gallery.common.js") ?> + + + script("gallery.ajax.js") ?> + script("gallery.dialog.js") ?> + script("superfish/js/superfish.js") ?> + script("ui.init.js") ?> + + admin_head() ?> + + + body_attributes() ?>> + admin_page_top() ?> + +
+ +
+ + site_status() ?> +
+ admin_header_top() ?> +
    +
  • abs_url(), "← ".t("Back to the Gallery")) ?>
  • + +
+ + + admin_header_bottom() ?> +
+
+
+
+
+ messages() ?> + +
+
+
+ +
+ +
+ +
+
+ admin_footer() ?> +
+ admin_credits() ?> +
+
+
+ admin_page_bottom() ?> + + diff --git a/themes/admin_wind/views/block.html.php b/themes/admin_wind/views/block.html.php new file mode 100644 index 00000000..6cbea76e --- /dev/null +++ b/themes/admin_wind/views/block.html.php @@ -0,0 +1,18 @@ + + + + + diff --git a/themes/admin_wind/views/pager.html.php b/themes/admin_wind/views/pager.html.php new file mode 100644 index 00000000..5034ec19 --- /dev/null +++ b/themes/admin_wind/views/pager.html.php @@ -0,0 +1,44 @@ + + +
    + $current_first_item, + "to_number" => $current_last_item, + "count" => $total_items)) ?> +
  • + + + + + + + + + + + + + + +
  • +
  • +
  • + + + + + + + + + + + + + + +
  • +
diff --git a/themes/default/css/fix-ie.css b/themes/default/css/fix-ie.css deleted file mode 100644 index eee88c15..00000000 --- a/themes/default/css/fix-ie.css +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Fix display in IE 6, 7 - */ - -#gBanner, -.gBreadcrumbs, -#gAlbumGrid, -#gPager, -#gViewMenu { - zoom: 1; -} - -#gBanner { - z-index: 2; -} - -input.submit { - clear: none !important; - display: inline !important; -} - -#gAddTagForm input.textbox { - width: 110px; -} - -#gDialog a.gCancel { - display: inline-block !important; - float: none !important; -} - -.gPager .txtright { - width: 29%; -} - -.gPager .ui-icon-right { - width: 60px; -} diff --git a/themes/default/css/screen.css b/themes/default/css/screen.css deleted file mode 100644 index 64ecf775..00000000 --- a/themes/default/css/screen.css +++ /dev/null @@ -1,1128 +0,0 @@ -/** - * Gallery 3 Default Theme Screen Styles - * - * @requires YUI reset, font, grids CSS - * - * Sheet organization: - * 1) Basic HTML elements - * 2) Reusable classes - * 3) Reusable content blocks - * 4) Page layout containers - * 5) Content blocks in specific layout containers - * 6) Navigation and menus - * 7) Browser hacks - * 8) jQuery and jQuery UI - * 9) Right-to-left language styles - */ - -/** ******************************************************************* - * 1) Basic HTML elements - **********************************************************************/ - -body, html { - background-color: #ccc; - font-family: 'Lucida Grande', 'Lucida Sans', Arial, sans-serif; -} - -p { - margin-bottom: 1em; -} - -em { - font-style: oblique; -} - -h1, h2, h3, h4, h5, strong, th { - font-weight: bold; -} - -h1 { - font-size: 1.7em; -} - -#gSearchResults h1 { - margin-bottom: 1em; -} - -#gProgress h1 { - font-size: 1.1em; -} - -h2 { - font-size: 1.4em; -} - -#gSidebar .gBlock h2 { - font-size: 1.2em; -} - -#gSidebar .gBlock li { - margin-bottom: .6em; -} - -h3 { - font-size: 1.2em; -} - -/* Links ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -a, -.gMenu a, -#gDialog a, -.gButtonLink, -.gButtonLink:hover, -.gButtonLink:active, -a.ui-state-hover, -input.ui-state-hover, -button.ui-state-hover { - color: #5382bf !important; - cursor: pointer !important; - text-decoration: none; - -moz-outline-style: none; -} - -a:hover, -#gDialog a:hover { - text-decoration: underline; -} - -.gMenu a:hover { - text-decoration: none; -} - -#gDialog .gCancel { - clear: none; - float: left; - margin: .3em 1em; -} - -#gForgotPasswordLink { - float: right; - font-size: .9em; -} - -#gDialog .gCancel { - float: left; -} - -#gDialog #gMessage li { - width: 400px; - white-space: normal; - padding-left: 32px; -} - -/* Tables ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -table { - width: 100%; -} - -#gContent table { - margin: 1em 0; -} - -caption, -th { - text-align: left; -} - -th, -td { - border: none; - border-bottom: 1px solid #ccc; - padding: .5em; - vertical-align: top; -} - -/* Forms ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -fieldset { - border: 1px solid #ccc; - padding-bottom: .8em; -} - -#gBanner fieldset, -#gSidebar fieldset, -.gShortForm fieldset { - border: none; -} - -legend { - font-weight: bold; - margin-left: 1em; -} - -#gBanner legend, -#gSidebar legend, -#gContent #gSearchForm legend, -input[type="hidden"], -.gShortForm label { - display: none; -} - -label { - cursor: help; -} - -input[type="text"], -input[type="password"] { - width: 50%; -} - -input[type="text"], -input[type="password"], -textarea { - border: 1px solid #e8e8e8; - border-top-color: #ccc; - border-left-color: #ccc; - color: #333; -} - -textarea { - width: 100%; - height: 12em; -} - -input:focus, -textarea:focus, -option:focus { - background-color: #ffc; - color: #000; -} - -/* Form layout ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -form li { - margin: 0 !important; - padding: .3em 1.5em .3em 1em; -} - -form ul ul { - clear: both; -} - -form ul ul li { - float: left; -} - -input, -select, -textarea { - display: block; - clear: both; - padding: .2em; -} - -input[type="submit"], -input[type="reset"] { - display: inline; - clear: none; - float: left; -} - -/* Form validation ~~~~~~~~~~~~~~~~~~~~~~~ */ - -.gValidationRule { - font-size: 80%; - margin-top: .5em; -} - -form.gError input[type="text"], -li.gError input[type="text"], -form.gError input[type="password"], -li.gError input[type="password"], -form.gError input[type="checkbox"], -li.gError input[type="checkbox"], -form.gError input[type="radio"], -li.gError input[type="radio"], -form.gError textarea, -li.gError textarea, -form.gError select, -li.gError select { - border: 2px solid red; -} - -/** ******************************************************************* - * 2) Reusable generic classes - *********************************************************************/ - -.inactive, .understate { - color: #ccc; - font-weight: normal; -} - -.left { - float: left; - margin: 1em 1em 1em 0; -} - -.right { - float: right; - margin: 1em 0 1em 1em; -} - -.txtright { - text-align: right; -} - -/** ******************************************************************* - * 3) Reusable content blocks - *********************************************************************/ - -.gBlock { - clear: both; - margin-bottom: 2.5em; -} - -.gBlock h2 { - background-color: #e8e8e8; - padding: .3em .8em; -} - -.gBlockContent { - margin-top: 1em; -} - -/* Status messages ~~~~~~~~~~~~~~~~~~~~~~~ */ - -#gMessage { - width: 100%; -} - -#gSiteStatus li, -#gMessage li, -.gModuleStatus { - border: 1px solid #ccc; - margin-bottom: .4em; -} - -#gSiteStatus li { - margin-bottom: 0; - border: none; - border-bottom: 1px solid #ccc; -} - -.gModuleStatus { - clear: both; - margin-bottom: 1em; -} - -.gError, -.gInfo, -.gSuccess, -.gWarning { - background-position: .4em 50%; - background-repeat: no-repeat; - padding: .4em .5em .4em 30px; -} - -.gError { - background-color: #f6cbca; - background-image: url('../images/ico-error.png'); -} - -.gInfo { - background-color: #e8e8e8; - background-image: url('../images/ico-info.png'); -} - -.gSuccess { - background-color: #d9efc2; - background-image: url('../images/ico-success.png'); -} - -.gWarning { - background-color: #fcf9ce; - background-image: url('../images/ico-warning.png'); -} - -form .gError, -.gPager .gInfo { - background-color: #fff !important; -} - -.gPager .gInfo { - background-image: none !important; - padding: 0 !important; -} - -/* Inline layout (forms, lists) ~~~~~~~~~~ */ - -.gShortForm li { - float: left; - padding: .4em 0; -} - -.gShortForm input[type="text"] { - color: #666; - padding: .3em .6em; - width: 11em; -} - -/*** ****************************************************************** - * 4) Page layout containers - *********************************************************************/ - -/* View container ~~~~~~~~~~~~~~~~~~~~~~~~ */ - -.gView { - background-color: #fff; - border: 1px solid #ccc; - border-bottom: none; -} - -/* Layout containers ~~~~~~~~~~~~~~~~~~~~~ */ - -#gHeader { - margin-bottom: 1em; -} - -#gBanner { - background-color: #e8e8e8; - border-bottom: 1px solid #ccc; - font-size: .8em; - min-height: 5em; - padding: 1em 20px; - position: relative; -} - -#gContent { - font-size: 1.2em; - padding-left: 20px; - position: relative; - width: 696px; -} - -#gSidebar { - font-size: .9em; - padding: 0 20px; - width: 220px; -} - -#gFooter { - background-color: #e8e8e8; - border-top: 1px solid #ccc; - font-size: .8em; - margin-top: 20px; - padding: 10px 20px; -} - -/** ******************************************************************* - * 5) Content blocks in specific layout containers - *********************************************************************/ - -/* Header ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -#gBanner #gLogo img { - margin: 0; -} - -#gBanner #gQuickSearchForm { - clear: right; - float: right; - margin-top: 1em; -} - -#gBanner #gQuickSearchForm input[type='text'] { - width: 17em; -} - -#gContent .gBlock h2 { - background-color: transparent; - padding-left: 0; -} - -#gSidebar .gBlockContent { - padding-left: 1em; -} - -/* Album content ~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -#gContent #gAlbumGrid { - margin: 1em 0; - position: relative; - z-index: 1; -} - -#gContent #gAlbumGrid .gItem { - background-color: #fff; - border: 1px solid #fff; - float: left; - font-size: .7em; - height: 220px; - overflow: hidden; - padding: .6em 8px; - position: relative; - text-align: center; - width: 213px; - z-index: 1; -} - -#gContent #gAlbumGrid .gItem h2 { - margin: 5px 0; -} - -#gContent .gPhoto h2, -#gContent .gItem .gMetadata { - display: none; -} - -#gContent #gAlbumGrid .gAlbum { - background-color: #e8e8e8; -} - -#gContent #gAlbumGrid .gAlbum h2 span { - background: transparent url('../images/ico-album.png') no-repeat top left; - display: inline-block; - height: 16px; - margin-right: 5px; - width: 16px; -} - -#gContent #gAlbumGrid .gHoverItem { - background-color: #fff; - border: 1px solid #000; -} - -#gContent .gHoverItem h2, -#gContent .gHoverItem .gMetadata { - display: block; -} - -/* Individual photo content ~~~~~~~~~~~~~~ */ - -#gContent #gItem { - position: relative; - width: 99%; -} - -#gContent #gPhoto { - position: relative; -} - -#gContent #gItem .gFullSizeLink img { - display: block; - margin: 1em auto !important; -} - -#gContent #gComments { - margin-top: 2em; - position: relative; -} - -#gContent #gComments ul li { - margin: 1em 0; -} - -#gContent #gComments .gAuthor { - border-bottom: 1px solid #ccc; - color: #999; - height: 32px; - line-height: 32px; -} - -#gContent #gComments ul li div { - padding: 0 8px 8px 43px; -} - -#gContent #gComments ul li #gRecaptcha { - padding: 0; -} - -#gContent #gComments ul li #gRecaptcha div { - padding: 0; -} - -#gContent #gComments .gAvatar { - height: 32px; - margin-right: .4em; - width: 32px; -} - -#gAddCommentButton { - position: absolute; - right: 0; - top: 2px; -} - -#gContent #gAddCommentForm { - margin-top: 2em; -} - -/* Footer content ~~~~~~~~~~~~~~~~~~~~~~~~ */ - -#gBanner #gLoginMenu li, -#gFooter #gCredits li { - display: inline; -} - -#gBanner #gLoginMenu li { - padding-left: 1.2em; -} - -#gFooter #gCredits li { - padding-right: 1.2em; -} - -#gContent #gSearchResults { - margin-top: 1em; - padding-top: 1em; -} - -/** ******************************************************************* - * 5) Navigation and menus - *********************************************************************/ - -#gSiteMenu, -#gTagCloud ul { - font-size: 1.2em; -} - -/* Login menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -#gBanner #gLoginMenu { - color: #999; - float: right; -} - -/* Site Menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -#gSiteMenu { - bottom: 0; - display: none; - left: 140px; - position: absolute; -} - -#gSiteMenu ul { - margin-bottom: 0 !important; -} - -/* Context Menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -.gContextMenu { - position: absolute; - bottom: 0; - left: 0; -} - -.gItem .gContextMenu { - display: none; - margin-top: 2em; - width: 100%; -} - -#gItem .gContextMenu { - font-size: .7em; -} - -#gItem .gContextMenu ul { - display: none; -} - -.gContextMenu li { - border-left: none; - border-right: none; - border-bottom: none; -} - -.gContextMenu li a { - display: block; - line-height: 1.6em; -} - -.gHoverItem .gContextMenu { - display: block; -} - -.gHoverItem .gContextMenu li { - text-align: left; -} - -.gHoverItem .gContextMenu a:hover { - text-decoration: none; -} - -/* View Menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -#gViewMenu { - margin-bottom: 1em; -} - -#gViewMenu a { - background-repeat: no-repeat; - background-position: 50% 50%; - height: 28px !important; - width: 43px !important; -} - -#gViewMenu #gHybridLink { - background-image: url('../images/ico-view-hybrid.png'); -} - -#gViewMenu #gSlideshowLink { - background-image: url('../images/ico-view-slideshow.png'); -} - -#gViewMenu .gFullSizeLink { - background-image: url('../images/ico-view-fullsize.png'); -} - -#gViewMenu #gCommentsLink { - background-image: url('../images/ico-view-comments.png'); -} - -#gViewMenu #gDigibugLink { - background-image: url('../images/ico-print.png'); -} - -/* Breadcrumbs ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -.gBreadcrumbs { - padding: 0 20px; -} - -.gBreadcrumbs li { - background: transparent url('../images/ico-separator.gif') no-repeat scroll left center; - float: left; - padding: 10px 6px 10px 16px !important; -} - -.gBreadcrumbs li.root { - background: transparent; -} - -.gBreadcrumbs li a, -.gBreadcrumbs li span { - display: block; -} - -.gBreadcrumbs li.active, -.gBreadcrumbs li.active span { - font-weight: bold; -} - -#gDialog ul.gBreadcrumbs { - clear: both; - margin-left: 0; - padding-left: 0; -} - -#gDialog .gBreadcrumbs li { - font-size: .9em; -} - -/* Tags and cloud ~~~~~~~~~~~~~~~~~~~~~~~~ */ - -#gTagCloud ul { - text-align: justify; -} - -#gTagCloud ul li { - display: inline; - line-height: 1.5em; - text-align: justify; -} - -#gTagCloud ul li a { - text-decoration: none; -} - -#gTagCloud ul li span { - display: none; -} - -#gTagCloud ul li.size1 a { - color: #9cf; - font-size: 80%; - font-weight: 100; -} - -#gTagCloud ul li.size2 a { - color: #69f; - font-size: 90%; - font-weight: 300; -} - -#gTagCloud ul li.size3 a { - color: #69c; - font-size: 100%; - font-weight: 500; -} - -#gTagCloud ul li.size4 a { - color: #369; - font-size: 110%; - font-weight: 700; -} - -#gTagCloud ul li.size5 a { - color: #0e2b52; - font-size: 120%; - font-weight: 900; -} - -#gTagCloud ul li.size6 a { - color: #0e2b52; - font-size: 130%; - font-weight: 900; -} - -#gTagCloud ul li.size7 a { - color: #0e2b52; - font-size: 140%; - font-weight: 900; -} - -#gTagCloud ul li a:hover { - color: #f30; - text-decoration: underline; -} - -#gWelcomeMessage p { - padding-bottom: 1em; -} - -/* Pagination ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -.gPager { - clear: both; - margin: 0; - padding: 5px 0 !important; - width: 100%; -} - -.gPager li { - float: left; - margin: 0; - width: 30%; -} - -.gPager .gInfo { - text-align: center; - width: 40%; -} - -/** ******************************************************************* - * 6) Browser hacks - *********************************************************************/ - -#gHeader:after, -#gAlbumGrid:after, -.gPager:after, -#gViewMenu:after { - clear: both; - content: "."; - display: block; - height: 0; - visibility: hidden; -} - -/** ******************************************************************* - * 7) jQuery and jQuery UI - *********************************************************************/ - -/* Superfish menu overrides ~~~~~~~~~~~~~~ */ - -.sf-menu li li, .sf-menu li li ul li { - background-color: #bdd2ff; -} - -.sf-menu li:hover { - background-color: #dfe9ff; -} - -/* Ajax loading indicator ~~~~~~~~~~~~~~~~ */ - -.gLoadingLarge { - background: #e8e8e8 url('../../../lib/images/loading-large.gif') no-repeat center center; - font-size: 0; -} - -.gDialogLoadingLarge { - background: url('../../../lib/images/loading-large.gif') no-repeat center center !important; - font-size: 0; -} - -.gLoadingSmall { - background: #e8e8e8 url('../../../lib/images/loading-small.gif') no-repeat center center; - font-size: 0; -} - -.gDraggable { - cursor: move; -} - -.gDropTarget { - background-color: #cfdeff; - border: 1px dotted #999; - height: 100px; - margin: 1em 0; -} - -/* jQuery UI Dialog ~~~~~~~~~~~~~~~~~~~~~~ */ - -.ui-widget-overlay { - background: #000; - opacity: .7; -} - -#gDialog { - text-align: left; -} - -#gDialog li { - padding-left: 0; -} - -#gDialog form input[type="text"], -#gDialog form input[type="password"] { - width: 100%; -} - -#gDialog #gLoginForm, -#gDialog #gAddUserForm, -#gDialog #gAddGroupForm { - margin: 0 auto; - width: 270px; -} - -#gDialog fieldset { - border: none; -} - -#gDialog legend { - display: none; -} - -#gDialog p { - margin: 0; -} - -/* jQuery UI ThemeRoller buttons */ - -.gButtonLink { - display: inline-block; - margin: 0 4px 0 0; - padding: .2em .4em; - outline: 0; -} - -.gButtonSet { - padding-left: 1px; -} - -.gButtonSet li { - float: left; -} - -.gButtonSet .gButtonLink { - margin: 0; -} - -.ui-icon-left .ui-icon { - float: left; - margin-right: .2em; -} - -.ui-icon-right .ui-icon { - float: right; - margin-left: .2em; -} - -.ui-icon-rotate-ccw { - background-position: -192px -64px; -} - -.ui-icon-rotate-cw { - background-position: -208px -64px; -} - -/* STUFF THAT NEEDS A HOME */ - -#gMove ul { - padding-left: 1em; -} - -#gMove .selected { - background: #999; -} - -/* Server Add */ - -#gServerAdd button { - margin-bottom: .5em; -} - -#gServerAddTree { - cursor: pointer; - padding-left: 4px; - width: 95%; -} - -#gServerAddTree li { - padding: 0; - float: none; -} - -#gServerAddTree span.selected { - background: #ddd; -} - -#gServerAddTree { - border: 1px solid #ccc; - height: 20em; - overflow: auto; - margin-bottom: .5em; - padding: .5em; -} - -#gServerAdd ul ul li { - padding-left: 1.2em; -} - -/* Permissions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -#gEditPermissionForm { - clear: both; -} -#gEditPermissionForm fieldset { - border: 1px solid #cccccc; - padding: 0; -} - -#gPermissions .gDenied, -#gPermissions .gAllowed { - text-align: center; - vertical-align: middle; -} -#gPermissions .gDenied { - background-color: #fcc; -} -#gPermissions .gAllowed { - background-color: #cfc; -} - -/*************** STUFF THAT NEEDS A HOME ****************/ - -.gProgressBar { - height: 1em; - width: 100%; - margin-top: .5em; - display: inline-block; -} - -#gAddPhotos span { - clear: both; - display: block; -} - -#gAddPhotosCanvas { - height: 325px; - width: 450px; - overflow: auto; -} - -#gAddPhotosQueue .progressbar { - height: 4px; -} - -#gAddPhotosQueue .title { - font-size: 1.25em; -} - -#gAddPhotosQueue .status { - font-size: .75em; -} - -#gAddPhotosQueue .box { - margin-bottom: 8px; - padding: 4px; -} - -#gAddPhotosQueue .pending { - background-color: #e8e8e8; - border: 1px solid #d7d7d7; -} - -#gAddPhotosQueue .error { - background-color: #fcc; - border: 1px solid #ebb; -} - -#gAddPhotosQueue .uploading { - background-color: #ff9; - border: 1px solid #ee8; -} - -#gAddPhotosQueue .complete { - background-color: #cfc; - border: 1px solid #beb; -} - -#gAdminG2ImportNotes { - padding-bottom: 20px; -} - -#gAdminG2ImportDetails { - padding-top: 20px; -} - -#gAdminG2ImportDetails .gWarning { - margin-top: 4px; -} - -#gAdminG2ImportDetails .gInfo { - padding: 2px; - border: 1px solid #999; - margin-bottom: 10px; -} - -#gAdminG2ImportNotes p, -#gAdminG2ImportDetails .gInfo p { - padding: 0; - margin: 0; -} - -#gAdminG2ImportNotes ul li, -#gAdminG2Import .gInfo ul li { - padding-left: 0; - margin-left: 20px; - list-style-type: disc; -} - -/* Right to left styles ~~~~~~~~~~~~~~~~~~~~ */ - -.rtl { - direction: rtl; -} - -.rtl caption, -.rtl th, -.rtl #gDialog { - text-align: right; -} - -.rtl #gHeader #gQuickSearchForm, -.rtl #gForgotPasswordLink, -.rtl #gHeader #gLoginMenu, -.rtl .ui-icon-right .ui-icon { - clear: left; - float: left; -} - -.rtl #gDialog .gCancel, -.rtl form ul ul li, -.rtl input[type="submit"], -.rtl input[type="reset"], -.rtl .gShortForm li, -.rtl #gHeader #gLogo img, -.rtl #gContent #gAlbumGrid .gItem, -.rtl #gSiteMenu, -.rtl .gBreadcrumbs li, -.rtl .gPager li, -.rtl .gButtonSet li, -.rtl .ui-icon-left .ui-icon { - float: right; -} - diff --git a/themes/default/images/avatar.jpg b/themes/default/images/avatar.jpg deleted file mode 100644 index acad9314..00000000 Binary files a/themes/default/images/avatar.jpg and /dev/null differ diff --git a/themes/default/images/ico-album.png b/themes/default/images/ico-album.png deleted file mode 100644 index affa1b84..00000000 Binary files a/themes/default/images/ico-album.png and /dev/null differ diff --git a/themes/default/images/ico-denied-gray.png b/themes/default/images/ico-denied-gray.png deleted file mode 100644 index 56db3ff5..00000000 Binary files a/themes/default/images/ico-denied-gray.png and /dev/null differ diff --git a/themes/default/images/ico-denied-pale.png b/themes/default/images/ico-denied-pale.png deleted file mode 100644 index 1e992230..00000000 Binary files a/themes/default/images/ico-denied-pale.png and /dev/null differ diff --git a/themes/default/images/ico-denied.png b/themes/default/images/ico-denied.png deleted file mode 100644 index 08f24936..00000000 Binary files a/themes/default/images/ico-denied.png and /dev/null differ diff --git a/themes/default/images/ico-error.png b/themes/default/images/ico-error.png deleted file mode 100644 index c37bd062..00000000 Binary files a/themes/default/images/ico-error.png and /dev/null differ diff --git a/themes/default/images/ico-help.png b/themes/default/images/ico-help.png deleted file mode 100644 index 5c870176..00000000 Binary files a/themes/default/images/ico-help.png and /dev/null differ diff --git a/themes/default/images/ico-info.png b/themes/default/images/ico-info.png deleted file mode 100644 index 12cd1aef..00000000 Binary files a/themes/default/images/ico-info.png and /dev/null differ diff --git a/themes/default/images/ico-lock.png b/themes/default/images/ico-lock.png deleted file mode 100644 index 2ebc4f6f..00000000 Binary files a/themes/default/images/ico-lock.png and /dev/null differ diff --git a/themes/default/images/ico-print.png b/themes/default/images/ico-print.png deleted file mode 100644 index b82a8e1e..00000000 Binary files a/themes/default/images/ico-print.png and /dev/null differ diff --git a/themes/default/images/ico-separator.gif b/themes/default/images/ico-separator.gif deleted file mode 100644 index 3de2d0d3..00000000 Binary files a/themes/default/images/ico-separator.gif and /dev/null differ diff --git a/themes/default/images/ico-success-gray.png b/themes/default/images/ico-success-gray.png deleted file mode 100644 index 74b2032f..00000000 Binary files a/themes/default/images/ico-success-gray.png and /dev/null differ diff --git a/themes/default/images/ico-success-pale.png b/themes/default/images/ico-success-pale.png deleted file mode 100644 index dc8d1ded..00000000 Binary files a/themes/default/images/ico-success-pale.png and /dev/null differ diff --git a/themes/default/images/ico-success.png b/themes/default/images/ico-success.png deleted file mode 100644 index a9925a06..00000000 Binary files a/themes/default/images/ico-success.png and /dev/null differ diff --git a/themes/default/images/ico-view-comments.png b/themes/default/images/ico-view-comments.png deleted file mode 100644 index e5d3630f..00000000 Binary files a/themes/default/images/ico-view-comments.png and /dev/null differ diff --git a/themes/default/images/ico-view-fullsize.png b/themes/default/images/ico-view-fullsize.png deleted file mode 100644 index 0be23e9b..00000000 Binary files a/themes/default/images/ico-view-fullsize.png and /dev/null differ diff --git a/themes/default/images/ico-view-hybrid.png b/themes/default/images/ico-view-hybrid.png deleted file mode 100644 index ee902e55..00000000 Binary files a/themes/default/images/ico-view-hybrid.png and /dev/null differ diff --git a/themes/default/images/ico-view-slideshow.png b/themes/default/images/ico-view-slideshow.png deleted file mode 100644 index 82f61f63..00000000 Binary files a/themes/default/images/ico-view-slideshow.png and /dev/null differ diff --git a/themes/default/images/ico-warning.png b/themes/default/images/ico-warning.png deleted file mode 100644 index 628cf2da..00000000 Binary files a/themes/default/images/ico-warning.png and /dev/null differ diff --git a/themes/default/images/select-photos-backg.png b/themes/default/images/select-photos-backg.png deleted file mode 100644 index 81c2d616..00000000 Binary files a/themes/default/images/select-photos-backg.png and /dev/null differ diff --git a/themes/default/js/ui.init.js b/themes/default/js/ui.init.js deleted file mode 100644 index 4eee1bb2..00000000 --- a/themes/default/js/ui.init.js +++ /dev/null @@ -1,141 +0,0 @@ -/** - * Initialize jQuery UI and Gallery Plugin elements - */ - -var short_forms = new Array( - "#gQuickSearchForm", - "#gAddTagForm", - "#gSearchForm" -); - -$(document).ready(function() { - - // Initialize Superfish menus - $("ul.gMenu").addClass("sf-menu"); - $('ul.sf-menu').superfish({ - delay: 500, - animation: { - opacity:'show', - height:'show' - }, - speed: 'fast' - }); - $("#gSiteMenu").css("display", "block"); - - // Initialize status message effects - $("#gMessage li").gallery_show_message(); - - // Initialize dialogs - $("#gLoginLink").addClass("gDialogLink"); - $(".gDialogLink").gallery_dialog(); - - // Initialize view menu - if ($("#gViewMenu").length) { - $("#gViewMenu ul").removeClass("gMenu").removeClass("sf-menu"); - $("#gViewMenu a").addClass("ui-icon"); - } - - // Initialize short forms - for (var i in short_forms) { - short_form_init(short_forms[i]); - $(short_forms[i]).addClass("gShortForm"); - } - $(".gShortForm input[type=text]").addClass("ui-corner-left"); - $(".gShortForm input[type=submit]").addClass("ui-state-default ui-corner-right"); - - // Apply jQuery UI button css to submit inputs - $("input[type=submit]:not(.gShortForm input)").addClass("ui-state-default ui-corner-all"); - - // Apply styles and icon classes to gContextMenu - if ($(".gContextMenu").length) { - $(".gContextMenu li").addClass("ui-state-default"); - $(".gContextMenu a").addClass("gButtonLink ui-icon-left"); - $(".gContextMenu a").prepend(""); - $(".gContextMenu a span").each(function() { - var iconClass = $(this).parent().attr("class").match(/ui-icon-.[^\s]+/).toString(); - $(this).addClass(iconClass); - }); - } - - // Album view only - if ($("#gAlbumGrid").length) { - // Vertical align thumbnails/metadata in album grid - $(".gItem").gallery_valign(); - - // Initialize thumbnail hover effect - $(".gItem").hover( - function() { - // Insert invisible placeholder to hold the item's position in the grid - var placeHolder = $(this).clone(); - $(placeHolder).attr("id", "gPlaceHolder"); - $(placeHolder).css("visibility", "hidden"); - $(this).after($(placeHolder)); - // Style and position the item - $(this).addClass("gHoverItem"); - var position = $(this).position(); - $(this).css("position", "absolute"); - $(this).css("top", position.top); - $(this).css("left", position.left); - $(this).css("z-index", "1000"); - // Initialize the contextual menu - $(this).gallery_context_menu(); - // Set height based on height of descendents - var title = $(this).find("h2"); - var meta = $(this).find(".gMetadata"); - var item_ht = $(this).height(); - var title_ht = $(title).gallery_height(); - var meta_ht = $(meta).gallery_height(); - var ht = item_ht + title_ht + meta_ht; - var context_label = $(this).find(".gContextMenu li:first"); - var css_id = $(this).attr("id"); - if ($("#" + css_id + " .gContextMenu li").length) { - var context_label_ht = $(context_label).gallery_height(); - ht = ht + context_label_ht; - } - $(this).height(ht); - }, - function() { - // Reset item height, position, and z-index - if ($(this).next().height()) { - var sib_height = $(this).next().height(); - } else { - var sib_height = $(this).prev().height(); - } - if ($.browser.msie && $.browser.version >= 8) { - sib_height = sib_height + 1; - } - $(this).css("height", sib_height); - $(this).css("position", "relative"); - $(this).css("top", 0); - $(this).css("left", 0); - $(this).css("z-index", 1); - // Remove the placeholder and hover class from the item - $("#gPlaceHolder").remove(); - $(this).removeClass("gHoverItem"); - } - ); - } - - // Photo/Item item view - if ($("#gItem").length) { - // Ensure the resized image fits within its container - $("#gItem").gallery_fit_photo(); - - // Initialize context menus - var resize = $("#gItem").gallery_get_photo(); - $(resize).hover(function(){ - $(this).gallery_context_menu(); - }); - - // Add scroll effect for links to named anchors - $.localScroll({ - queue: true, - duration: 1000, - hash: true - }); - } - - // Initialize button hover effect - $.fn.gallery_hover_init(); - -}); diff --git a/themes/default/theme.info b/themes/default/theme.info deleted file mode 100644 index 5f19d0d7..00000000 --- a/themes/default/theme.info +++ /dev/null @@ -1,6 +0,0 @@ -name = "Gallery Default" -description = "A crisp and distinctive theme that uses large fonts and icons for easy navigation and an enjoyable browsing experience." -version = 1 -author = "Gallery Team" -site = 1 -admin = 0 diff --git a/themes/default/thumbnail.png b/themes/default/thumbnail.png deleted file mode 100644 index c0594db2..00000000 Binary files a/themes/default/thumbnail.png and /dev/null differ diff --git a/themes/default/views/album.html.php b/themes/default/views/album.html.php deleted file mode 100644 index 01f7be50..00000000 --- a/themes/default/views/album.html.php +++ /dev/null @@ -1,41 +0,0 @@ - - -
- album_top() ?> -

title) ?>

-
description)) ?>
-
- -
    - - $child): ?> - - is_album()): ?> - - -
  • - thumb_top($child) ?> - - thumb_img(array("class" => "gThumbnail")) ?> - - thumb_bottom($child) ?> - context_menu($child, "#gItemId-{$child->id} .gThumbnail") ?> -

    title) ?>

    - -
  • - - - admin || access::can("add", $item)): ?> - id") ?> -
  • Add some.", - array("attrs" => html::mark_clean("href=\"$addurl\" class=\"gDialogLink\""))) ?>
  • - -
  • - - -
-album_bottom() ?> - -pager() ?> diff --git a/themes/default/views/block.html.php b/themes/default/views/block.html.php deleted file mode 100644 index e8cff833..00000000 --- a/themes/default/views/block.html.php +++ /dev/null @@ -1,10 +0,0 @@ - - - - -
-

-
- -
-
diff --git a/themes/default/views/dynamic.html.php b/themes/default/views/dynamic.html.php deleted file mode 100644 index 9ed9d69b..00000000 --- a/themes/default/views/dynamic.html.php +++ /dev/null @@ -1,29 +0,0 @@ - -
-
- dynamic_top() ?> -
-

-
- -
    - $child): ?> -
  • "> - thumb_top($child) ?> - - photo - -

    title) ?>

    - thumb_bottom($child) ?> - -
  • - -
-dynamic_bottom() ?> - -pager() ?> diff --git a/themes/default/views/movie.html.php b/themes/default/views/movie.html.php deleted file mode 100644 index 910814dd..00000000 --- a/themes/default/views/movie.html.php +++ /dev/null @@ -1,37 +0,0 @@ - -
- photo_top() ?> - -
    -
  • - - - - - - - -
  • -
  • $position, "total" => $sibling_count)) ?>
  • -
  • - - - - - - - -
  • -
- - - movie_img(array("class" => "gMovie", "id" => "gMovieId-{$item->id}")) ?> - -
-

title) ?>

-
description)) ?>
-
- - photo_bottom() ?> - context_menu($item, "#gMovieId-{$item->id}") ?> -
diff --git a/themes/default/views/page.html.php b/themes/default/views/page.html.php deleted file mode 100644 index 19d8cc00..00000000 --- a/themes/default/views/page.html.php +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - <? if ($page_title): ?> - <?= $page_title ?> - <? else: ?> - <? if ($theme->item()): ?> - <? if ($theme->item()->is_album()): ?> - <?= t("Browse Album :: %album_title", array("album_title" => $theme->item()->title)) ?> - <? elseif ($theme->item()->is_photo()): ?> - <?= t("Photo :: %photo_title", array("photo_title" => $theme->item()->title)) ?> - <? else: ?> - <?= t("Movie :: %movie_title", array("movie_title" => $theme->item()->title)) ?> - <? endif ?> - <? elseif ($theme->tag()): ?> - <?= t("Browse Tag :: %tag_title", array("tag_title" => $theme->tag()->name)) ?> - <? else: /* Not an item, not a tag, no page_title specified. Help! */ ?> - <?= t("Gallery") ?> - <? endif ?> - <? endif ?> - - " type="image/x-icon" /> - css("yui/reset-fonts-grids.css") ?> - css("superfish/css/superfish.css") ?> - css("themeroller/ui.base.css") ?> - css("screen.css") ?> - - page_type == 'album'): ?> - - - - - - - script("jquery.js") ?> - script("jquery.form.js") ?> - script("jquery-ui.js") ?> - script("gallery.common.js") ?> - - - script("gallery.ajax.js") ?> - script("gallery.dialog.js") ?> - script("gallery.form.js") ?> - script("superfish/js/superfish.js") ?> - script("jquery.localscroll.js") ?> - script("ui.init.js") ?> - - head() they get combined */ ?> - page_type == "photo"): ?> - script("jquery.scrollTo.js") ?> - script("gallery.show_full_size.js") ?> - page_type == "movie"): ?> - script("flowplayer.js") ?> - - - head() ?> - - - body_attributes() ?>> - page_top() ?> -
- site_status() ?> -
-
- header_top() ?> - - - - - -
- site_menu() ?> -
- header_bottom() ?> -
- - - - -
-
-
-
-
- messages() ?> - -
-
-
-
- page_type != "login"): ?> - - -
-
-
- footer() ?> - - - - - -
    - credits() ?> -
- -
-
- page_bottom() ?> - - diff --git a/themes/default/views/pager.html.php b/themes/default/views/pager.html.php deleted file mode 100644 index 7cdc9bb0..00000000 --- a/themes/default/views/pager.html.php +++ /dev/null @@ -1,44 +0,0 @@ - - -
    - $current_first_item, - "to_number" => $current_last_item, - "count" => $total_items)) ?> -
  • - - - - - - - - - - - - - - -
  • -
  • -
  • - - - - - - - - - - - - - - -
  • -
diff --git a/themes/default/views/photo.html.php b/themes/default/views/photo.html.php deleted file mode 100644 index b0096043..00000000 --- a/themes/default/views/photo.html.php +++ /dev/null @@ -1,59 +0,0 @@ - - -item())): ?> - - - - -
- photo_top() ?> - -
    -
  • - - - - - - - -
  • -
  • $position, "total" => $sibling_count)) ?>
  • -
  • - - - - - - - -
  • -
- -
- resize_top($item) ?> - - for_html_attr() ?>"> - - resize_img(array("id" => "gPhotoId-{$item->id}", "class" => "gResize")) ?> - - - - resize_bottom($item) ?> - context_menu($item, "#gPhotoId-{$item->id}") ?> -
- -
-

title) ?>

-
description)) ?>
-
- - photo_bottom() ?> -
diff --git a/themes/default/views/sidebar.html.php b/themes/default/views/sidebar.html.php deleted file mode 100644 index 04379eb6..00000000 --- a/themes/default/views/sidebar.html.php +++ /dev/null @@ -1,18 +0,0 @@ - -sidebar_top() ?> -
-
- - album_menu() ?> - - photo_menu() ?> - - movie_menu() ?> - - tag_menu() ?> - -
-
- -sidebar_blocks() ?> -sidebar_bottom() ?> diff --git a/themes/wind/css/fix-ie.css b/themes/wind/css/fix-ie.css new file mode 100644 index 00000000..eee88c15 --- /dev/null +++ b/themes/wind/css/fix-ie.css @@ -0,0 +1,37 @@ +/** + * Fix display in IE 6, 7 + */ + +#gBanner, +.gBreadcrumbs, +#gAlbumGrid, +#gPager, +#gViewMenu { + zoom: 1; +} + +#gBanner { + z-index: 2; +} + +input.submit { + clear: none !important; + display: inline !important; +} + +#gAddTagForm input.textbox { + width: 110px; +} + +#gDialog a.gCancel { + display: inline-block !important; + float: none !important; +} + +.gPager .txtright { + width: 29%; +} + +.gPager .ui-icon-right { + width: 60px; +} diff --git a/themes/wind/css/screen.css b/themes/wind/css/screen.css new file mode 100644 index 00000000..64ecf775 --- /dev/null +++ b/themes/wind/css/screen.css @@ -0,0 +1,1128 @@ +/** + * Gallery 3 Default Theme Screen Styles + * + * @requires YUI reset, font, grids CSS + * + * Sheet organization: + * 1) Basic HTML elements + * 2) Reusable classes + * 3) Reusable content blocks + * 4) Page layout containers + * 5) Content blocks in specific layout containers + * 6) Navigation and menus + * 7) Browser hacks + * 8) jQuery and jQuery UI + * 9) Right-to-left language styles + */ + +/** ******************************************************************* + * 1) Basic HTML elements + **********************************************************************/ + +body, html { + background-color: #ccc; + font-family: 'Lucida Grande', 'Lucida Sans', Arial, sans-serif; +} + +p { + margin-bottom: 1em; +} + +em { + font-style: oblique; +} + +h1, h2, h3, h4, h5, strong, th { + font-weight: bold; +} + +h1 { + font-size: 1.7em; +} + +#gSearchResults h1 { + margin-bottom: 1em; +} + +#gProgress h1 { + font-size: 1.1em; +} + +h2 { + font-size: 1.4em; +} + +#gSidebar .gBlock h2 { + font-size: 1.2em; +} + +#gSidebar .gBlock li { + margin-bottom: .6em; +} + +h3 { + font-size: 1.2em; +} + +/* Links ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +a, +.gMenu a, +#gDialog a, +.gButtonLink, +.gButtonLink:hover, +.gButtonLink:active, +a.ui-state-hover, +input.ui-state-hover, +button.ui-state-hover { + color: #5382bf !important; + cursor: pointer !important; + text-decoration: none; + -moz-outline-style: none; +} + +a:hover, +#gDialog a:hover { + text-decoration: underline; +} + +.gMenu a:hover { + text-decoration: none; +} + +#gDialog .gCancel { + clear: none; + float: left; + margin: .3em 1em; +} + +#gForgotPasswordLink { + float: right; + font-size: .9em; +} + +#gDialog .gCancel { + float: left; +} + +#gDialog #gMessage li { + width: 400px; + white-space: normal; + padding-left: 32px; +} + +/* Tables ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +table { + width: 100%; +} + +#gContent table { + margin: 1em 0; +} + +caption, +th { + text-align: left; +} + +th, +td { + border: none; + border-bottom: 1px solid #ccc; + padding: .5em; + vertical-align: top; +} + +/* Forms ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +fieldset { + border: 1px solid #ccc; + padding-bottom: .8em; +} + +#gBanner fieldset, +#gSidebar fieldset, +.gShortForm fieldset { + border: none; +} + +legend { + font-weight: bold; + margin-left: 1em; +} + +#gBanner legend, +#gSidebar legend, +#gContent #gSearchForm legend, +input[type="hidden"], +.gShortForm label { + display: none; +} + +label { + cursor: help; +} + +input[type="text"], +input[type="password"] { + width: 50%; +} + +input[type="text"], +input[type="password"], +textarea { + border: 1px solid #e8e8e8; + border-top-color: #ccc; + border-left-color: #ccc; + color: #333; +} + +textarea { + width: 100%; + height: 12em; +} + +input:focus, +textarea:focus, +option:focus { + background-color: #ffc; + color: #000; +} + +/* Form layout ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +form li { + margin: 0 !important; + padding: .3em 1.5em .3em 1em; +} + +form ul ul { + clear: both; +} + +form ul ul li { + float: left; +} + +input, +select, +textarea { + display: block; + clear: both; + padding: .2em; +} + +input[type="submit"], +input[type="reset"] { + display: inline; + clear: none; + float: left; +} + +/* Form validation ~~~~~~~~~~~~~~~~~~~~~~~ */ + +.gValidationRule { + font-size: 80%; + margin-top: .5em; +} + +form.gError input[type="text"], +li.gError input[type="text"], +form.gError input[type="password"], +li.gError input[type="password"], +form.gError input[type="checkbox"], +li.gError input[type="checkbox"], +form.gError input[type="radio"], +li.gError input[type="radio"], +form.gError textarea, +li.gError textarea, +form.gError select, +li.gError select { + border: 2px solid red; +} + +/** ******************************************************************* + * 2) Reusable generic classes + *********************************************************************/ + +.inactive, .understate { + color: #ccc; + font-weight: normal; +} + +.left { + float: left; + margin: 1em 1em 1em 0; +} + +.right { + float: right; + margin: 1em 0 1em 1em; +} + +.txtright { + text-align: right; +} + +/** ******************************************************************* + * 3) Reusable content blocks + *********************************************************************/ + +.gBlock { + clear: both; + margin-bottom: 2.5em; +} + +.gBlock h2 { + background-color: #e8e8e8; + padding: .3em .8em; +} + +.gBlockContent { + margin-top: 1em; +} + +/* Status messages ~~~~~~~~~~~~~~~~~~~~~~~ */ + +#gMessage { + width: 100%; +} + +#gSiteStatus li, +#gMessage li, +.gModuleStatus { + border: 1px solid #ccc; + margin-bottom: .4em; +} + +#gSiteStatus li { + margin-bottom: 0; + border: none; + border-bottom: 1px solid #ccc; +} + +.gModuleStatus { + clear: both; + margin-bottom: 1em; +} + +.gError, +.gInfo, +.gSuccess, +.gWarning { + background-position: .4em 50%; + background-repeat: no-repeat; + padding: .4em .5em .4em 30px; +} + +.gError { + background-color: #f6cbca; + background-image: url('../images/ico-error.png'); +} + +.gInfo { + background-color: #e8e8e8; + background-image: url('../images/ico-info.png'); +} + +.gSuccess { + background-color: #d9efc2; + background-image: url('../images/ico-success.png'); +} + +.gWarning { + background-color: #fcf9ce; + background-image: url('../images/ico-warning.png'); +} + +form .gError, +.gPager .gInfo { + background-color: #fff !important; +} + +.gPager .gInfo { + background-image: none !important; + padding: 0 !important; +} + +/* Inline layout (forms, lists) ~~~~~~~~~~ */ + +.gShortForm li { + float: left; + padding: .4em 0; +} + +.gShortForm input[type="text"] { + color: #666; + padding: .3em .6em; + width: 11em; +} + +/*** ****************************************************************** + * 4) Page layout containers + *********************************************************************/ + +/* View container ~~~~~~~~~~~~~~~~~~~~~~~~ */ + +.gView { + background-color: #fff; + border: 1px solid #ccc; + border-bottom: none; +} + +/* Layout containers ~~~~~~~~~~~~~~~~~~~~~ */ + +#gHeader { + margin-bottom: 1em; +} + +#gBanner { + background-color: #e8e8e8; + border-bottom: 1px solid #ccc; + font-size: .8em; + min-height: 5em; + padding: 1em 20px; + position: relative; +} + +#gContent { + font-size: 1.2em; + padding-left: 20px; + position: relative; + width: 696px; +} + +#gSidebar { + font-size: .9em; + padding: 0 20px; + width: 220px; +} + +#gFooter { + background-color: #e8e8e8; + border-top: 1px solid #ccc; + font-size: .8em; + margin-top: 20px; + padding: 10px 20px; +} + +/** ******************************************************************* + * 5) Content blocks in specific layout containers + *********************************************************************/ + +/* Header ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#gBanner #gLogo img { + margin: 0; +} + +#gBanner #gQuickSearchForm { + clear: right; + float: right; + margin-top: 1em; +} + +#gBanner #gQuickSearchForm input[type='text'] { + width: 17em; +} + +#gContent .gBlock h2 { + background-color: transparent; + padding-left: 0; +} + +#gSidebar .gBlockContent { + padding-left: 1em; +} + +/* Album content ~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#gContent #gAlbumGrid { + margin: 1em 0; + position: relative; + z-index: 1; +} + +#gContent #gAlbumGrid .gItem { + background-color: #fff; + border: 1px solid #fff; + float: left; + font-size: .7em; + height: 220px; + overflow: hidden; + padding: .6em 8px; + position: relative; + text-align: center; + width: 213px; + z-index: 1; +} + +#gContent #gAlbumGrid .gItem h2 { + margin: 5px 0; +} + +#gContent .gPhoto h2, +#gContent .gItem .gMetadata { + display: none; +} + +#gContent #gAlbumGrid .gAlbum { + background-color: #e8e8e8; +} + +#gContent #gAlbumGrid .gAlbum h2 span { + background: transparent url('../images/ico-album.png') no-repeat top left; + display: inline-block; + height: 16px; + margin-right: 5px; + width: 16px; +} + +#gContent #gAlbumGrid .gHoverItem { + background-color: #fff; + border: 1px solid #000; +} + +#gContent .gHoverItem h2, +#gContent .gHoverItem .gMetadata { + display: block; +} + +/* Individual photo content ~~~~~~~~~~~~~~ */ + +#gContent #gItem { + position: relative; + width: 99%; +} + +#gContent #gPhoto { + position: relative; +} + +#gContent #gItem .gFullSizeLink img { + display: block; + margin: 1em auto !important; +} + +#gContent #gComments { + margin-top: 2em; + position: relative; +} + +#gContent #gComments ul li { + margin: 1em 0; +} + +#gContent #gComments .gAuthor { + border-bottom: 1px solid #ccc; + color: #999; + height: 32px; + line-height: 32px; +} + +#gContent #gComments ul li div { + padding: 0 8px 8px 43px; +} + +#gContent #gComments ul li #gRecaptcha { + padding: 0; +} + +#gContent #gComments ul li #gRecaptcha div { + padding: 0; +} + +#gContent #gComments .gAvatar { + height: 32px; + margin-right: .4em; + width: 32px; +} + +#gAddCommentButton { + position: absolute; + right: 0; + top: 2px; +} + +#gContent #gAddCommentForm { + margin-top: 2em; +} + +/* Footer content ~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#gBanner #gLoginMenu li, +#gFooter #gCredits li { + display: inline; +} + +#gBanner #gLoginMenu li { + padding-left: 1.2em; +} + +#gFooter #gCredits li { + padding-right: 1.2em; +} + +#gContent #gSearchResults { + margin-top: 1em; + padding-top: 1em; +} + +/** ******************************************************************* + * 5) Navigation and menus + *********************************************************************/ + +#gSiteMenu, +#gTagCloud ul { + font-size: 1.2em; +} + +/* Login menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#gBanner #gLoginMenu { + color: #999; + float: right; +} + +/* Site Menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#gSiteMenu { + bottom: 0; + display: none; + left: 140px; + position: absolute; +} + +#gSiteMenu ul { + margin-bottom: 0 !important; +} + +/* Context Menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +.gContextMenu { + position: absolute; + bottom: 0; + left: 0; +} + +.gItem .gContextMenu { + display: none; + margin-top: 2em; + width: 100%; +} + +#gItem .gContextMenu { + font-size: .7em; +} + +#gItem .gContextMenu ul { + display: none; +} + +.gContextMenu li { + border-left: none; + border-right: none; + border-bottom: none; +} + +.gContextMenu li a { + display: block; + line-height: 1.6em; +} + +.gHoverItem .gContextMenu { + display: block; +} + +.gHoverItem .gContextMenu li { + text-align: left; +} + +.gHoverItem .gContextMenu a:hover { + text-decoration: none; +} + +/* View Menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#gViewMenu { + margin-bottom: 1em; +} + +#gViewMenu a { + background-repeat: no-repeat; + background-position: 50% 50%; + height: 28px !important; + width: 43px !important; +} + +#gViewMenu #gHybridLink { + background-image: url('../images/ico-view-hybrid.png'); +} + +#gViewMenu #gSlideshowLink { + background-image: url('../images/ico-view-slideshow.png'); +} + +#gViewMenu .gFullSizeLink { + background-image: url('../images/ico-view-fullsize.png'); +} + +#gViewMenu #gCommentsLink { + background-image: url('../images/ico-view-comments.png'); +} + +#gViewMenu #gDigibugLink { + background-image: url('../images/ico-print.png'); +} + +/* Breadcrumbs ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +.gBreadcrumbs { + padding: 0 20px; +} + +.gBreadcrumbs li { + background: transparent url('../images/ico-separator.gif') no-repeat scroll left center; + float: left; + padding: 10px 6px 10px 16px !important; +} + +.gBreadcrumbs li.root { + background: transparent; +} + +.gBreadcrumbs li a, +.gBreadcrumbs li span { + display: block; +} + +.gBreadcrumbs li.active, +.gBreadcrumbs li.active span { + font-weight: bold; +} + +#gDialog ul.gBreadcrumbs { + clear: both; + margin-left: 0; + padding-left: 0; +} + +#gDialog .gBreadcrumbs li { + font-size: .9em; +} + +/* Tags and cloud ~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#gTagCloud ul { + text-align: justify; +} + +#gTagCloud ul li { + display: inline; + line-height: 1.5em; + text-align: justify; +} + +#gTagCloud ul li a { + text-decoration: none; +} + +#gTagCloud ul li span { + display: none; +} + +#gTagCloud ul li.size1 a { + color: #9cf; + font-size: 80%; + font-weight: 100; +} + +#gTagCloud ul li.size2 a { + color: #69f; + font-size: 90%; + font-weight: 300; +} + +#gTagCloud ul li.size3 a { + color: #69c; + font-size: 100%; + font-weight: 500; +} + +#gTagCloud ul li.size4 a { + color: #369; + font-size: 110%; + font-weight: 700; +} + +#gTagCloud ul li.size5 a { + color: #0e2b52; + font-size: 120%; + font-weight: 900; +} + +#gTagCloud ul li.size6 a { + color: #0e2b52; + font-size: 130%; + font-weight: 900; +} + +#gTagCloud ul li.size7 a { + color: #0e2b52; + font-size: 140%; + font-weight: 900; +} + +#gTagCloud ul li a:hover { + color: #f30; + text-decoration: underline; +} + +#gWelcomeMessage p { + padding-bottom: 1em; +} + +/* Pagination ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +.gPager { + clear: both; + margin: 0; + padding: 5px 0 !important; + width: 100%; +} + +.gPager li { + float: left; + margin: 0; + width: 30%; +} + +.gPager .gInfo { + text-align: center; + width: 40%; +} + +/** ******************************************************************* + * 6) Browser hacks + *********************************************************************/ + +#gHeader:after, +#gAlbumGrid:after, +.gPager:after, +#gViewMenu:after { + clear: both; + content: "."; + display: block; + height: 0; + visibility: hidden; +} + +/** ******************************************************************* + * 7) jQuery and jQuery UI + *********************************************************************/ + +/* Superfish menu overrides ~~~~~~~~~~~~~~ */ + +.sf-menu li li, .sf-menu li li ul li { + background-color: #bdd2ff; +} + +.sf-menu li:hover { + background-color: #dfe9ff; +} + +/* Ajax loading indicator ~~~~~~~~~~~~~~~~ */ + +.gLoadingLarge { + background: #e8e8e8 url('../../../lib/images/loading-large.gif') no-repeat center center; + font-size: 0; +} + +.gDialogLoadingLarge { + background: url('../../../lib/images/loading-large.gif') no-repeat center center !important; + font-size: 0; +} + +.gLoadingSmall { + background: #e8e8e8 url('../../../lib/images/loading-small.gif') no-repeat center center; + font-size: 0; +} + +.gDraggable { + cursor: move; +} + +.gDropTarget { + background-color: #cfdeff; + border: 1px dotted #999; + height: 100px; + margin: 1em 0; +} + +/* jQuery UI Dialog ~~~~~~~~~~~~~~~~~~~~~~ */ + +.ui-widget-overlay { + background: #000; + opacity: .7; +} + +#gDialog { + text-align: left; +} + +#gDialog li { + padding-left: 0; +} + +#gDialog form input[type="text"], +#gDialog form input[type="password"] { + width: 100%; +} + +#gDialog #gLoginForm, +#gDialog #gAddUserForm, +#gDialog #gAddGroupForm { + margin: 0 auto; + width: 270px; +} + +#gDialog fieldset { + border: none; +} + +#gDialog legend { + display: none; +} + +#gDialog p { + margin: 0; +} + +/* jQuery UI ThemeRoller buttons */ + +.gButtonLink { + display: inline-block; + margin: 0 4px 0 0; + padding: .2em .4em; + outline: 0; +} + +.gButtonSet { + padding-left: 1px; +} + +.gButtonSet li { + float: left; +} + +.gButtonSet .gButtonLink { + margin: 0; +} + +.ui-icon-left .ui-icon { + float: left; + margin-right: .2em; +} + +.ui-icon-right .ui-icon { + float: right; + margin-left: .2em; +} + +.ui-icon-rotate-ccw { + background-position: -192px -64px; +} + +.ui-icon-rotate-cw { + background-position: -208px -64px; +} + +/* STUFF THAT NEEDS A HOME */ + +#gMove ul { + padding-left: 1em; +} + +#gMove .selected { + background: #999; +} + +/* Server Add */ + +#gServerAdd button { + margin-bottom: .5em; +} + +#gServerAddTree { + cursor: pointer; + padding-left: 4px; + width: 95%; +} + +#gServerAddTree li { + padding: 0; + float: none; +} + +#gServerAddTree span.selected { + background: #ddd; +} + +#gServerAddTree { + border: 1px solid #ccc; + height: 20em; + overflow: auto; + margin-bottom: .5em; + padding: .5em; +} + +#gServerAdd ul ul li { + padding-left: 1.2em; +} + +/* Permissions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#gEditPermissionForm { + clear: both; +} +#gEditPermissionForm fieldset { + border: 1px solid #cccccc; + padding: 0; +} + +#gPermissions .gDenied, +#gPermissions .gAllowed { + text-align: center; + vertical-align: middle; +} +#gPermissions .gDenied { + background-color: #fcc; +} +#gPermissions .gAllowed { + background-color: #cfc; +} + +/*************** STUFF THAT NEEDS A HOME ****************/ + +.gProgressBar { + height: 1em; + width: 100%; + margin-top: .5em; + display: inline-block; +} + +#gAddPhotos span { + clear: both; + display: block; +} + +#gAddPhotosCanvas { + height: 325px; + width: 450px; + overflow: auto; +} + +#gAddPhotosQueue .progressbar { + height: 4px; +} + +#gAddPhotosQueue .title { + font-size: 1.25em; +} + +#gAddPhotosQueue .status { + font-size: .75em; +} + +#gAddPhotosQueue .box { + margin-bottom: 8px; + padding: 4px; +} + +#gAddPhotosQueue .pending { + background-color: #e8e8e8; + border: 1px solid #d7d7d7; +} + +#gAddPhotosQueue .error { + background-color: #fcc; + border: 1px solid #ebb; +} + +#gAddPhotosQueue .uploading { + background-color: #ff9; + border: 1px solid #ee8; +} + +#gAddPhotosQueue .complete { + background-color: #cfc; + border: 1px solid #beb; +} + +#gAdminG2ImportNotes { + padding-bottom: 20px; +} + +#gAdminG2ImportDetails { + padding-top: 20px; +} + +#gAdminG2ImportDetails .gWarning { + margin-top: 4px; +} + +#gAdminG2ImportDetails .gInfo { + padding: 2px; + border: 1px solid #999; + margin-bottom: 10px; +} + +#gAdminG2ImportNotes p, +#gAdminG2ImportDetails .gInfo p { + padding: 0; + margin: 0; +} + +#gAdminG2ImportNotes ul li, +#gAdminG2Import .gInfo ul li { + padding-left: 0; + margin-left: 20px; + list-style-type: disc; +} + +/* Right to left styles ~~~~~~~~~~~~~~~~~~~~ */ + +.rtl { + direction: rtl; +} + +.rtl caption, +.rtl th, +.rtl #gDialog { + text-align: right; +} + +.rtl #gHeader #gQuickSearchForm, +.rtl #gForgotPasswordLink, +.rtl #gHeader #gLoginMenu, +.rtl .ui-icon-right .ui-icon { + clear: left; + float: left; +} + +.rtl #gDialog .gCancel, +.rtl form ul ul li, +.rtl input[type="submit"], +.rtl input[type="reset"], +.rtl .gShortForm li, +.rtl #gHeader #gLogo img, +.rtl #gContent #gAlbumGrid .gItem, +.rtl #gSiteMenu, +.rtl .gBreadcrumbs li, +.rtl .gPager li, +.rtl .gButtonSet li, +.rtl .ui-icon-left .ui-icon { + float: right; +} + diff --git a/themes/wind/images/avatar.jpg b/themes/wind/images/avatar.jpg new file mode 100644 index 00000000..acad9314 Binary files /dev/null and b/themes/wind/images/avatar.jpg differ diff --git a/themes/wind/images/ico-album.png b/themes/wind/images/ico-album.png new file mode 100644 index 00000000..affa1b84 Binary files /dev/null and b/themes/wind/images/ico-album.png differ diff --git a/themes/wind/images/ico-denied-gray.png b/themes/wind/images/ico-denied-gray.png new file mode 100644 index 00000000..56db3ff5 Binary files /dev/null and b/themes/wind/images/ico-denied-gray.png differ diff --git a/themes/wind/images/ico-denied-pale.png b/themes/wind/images/ico-denied-pale.png new file mode 100644 index 00000000..1e992230 Binary files /dev/null and b/themes/wind/images/ico-denied-pale.png differ diff --git a/themes/wind/images/ico-denied.png b/themes/wind/images/ico-denied.png new file mode 100644 index 00000000..08f24936 Binary files /dev/null and b/themes/wind/images/ico-denied.png differ diff --git a/themes/wind/images/ico-error.png b/themes/wind/images/ico-error.png new file mode 100644 index 00000000..c37bd062 Binary files /dev/null and b/themes/wind/images/ico-error.png differ diff --git a/themes/wind/images/ico-help.png b/themes/wind/images/ico-help.png new file mode 100644 index 00000000..5c870176 Binary files /dev/null and b/themes/wind/images/ico-help.png differ diff --git a/themes/wind/images/ico-info.png b/themes/wind/images/ico-info.png new file mode 100644 index 00000000..12cd1aef Binary files /dev/null and b/themes/wind/images/ico-info.png differ diff --git a/themes/wind/images/ico-lock.png b/themes/wind/images/ico-lock.png new file mode 100644 index 00000000..2ebc4f6f Binary files /dev/null and b/themes/wind/images/ico-lock.png differ diff --git a/themes/wind/images/ico-print.png b/themes/wind/images/ico-print.png new file mode 100644 index 00000000..b82a8e1e Binary files /dev/null and b/themes/wind/images/ico-print.png differ diff --git a/themes/wind/images/ico-separator.gif b/themes/wind/images/ico-separator.gif new file mode 100644 index 00000000..3de2d0d3 Binary files /dev/null and b/themes/wind/images/ico-separator.gif differ diff --git a/themes/wind/images/ico-success-gray.png b/themes/wind/images/ico-success-gray.png new file mode 100644 index 00000000..74b2032f Binary files /dev/null and b/themes/wind/images/ico-success-gray.png differ diff --git a/themes/wind/images/ico-success-pale.png b/themes/wind/images/ico-success-pale.png new file mode 100644 index 00000000..dc8d1ded Binary files /dev/null and b/themes/wind/images/ico-success-pale.png differ diff --git a/themes/wind/images/ico-success.png b/themes/wind/images/ico-success.png new file mode 100644 index 00000000..a9925a06 Binary files /dev/null and b/themes/wind/images/ico-success.png differ diff --git a/themes/wind/images/ico-view-comments.png b/themes/wind/images/ico-view-comments.png new file mode 100644 index 00000000..e5d3630f Binary files /dev/null and b/themes/wind/images/ico-view-comments.png differ diff --git a/themes/wind/images/ico-view-fullsize.png b/themes/wind/images/ico-view-fullsize.png new file mode 100644 index 00000000..0be23e9b Binary files /dev/null and b/themes/wind/images/ico-view-fullsize.png differ diff --git a/themes/wind/images/ico-view-hybrid.png b/themes/wind/images/ico-view-hybrid.png new file mode 100644 index 00000000..ee902e55 Binary files /dev/null and b/themes/wind/images/ico-view-hybrid.png differ diff --git a/themes/wind/images/ico-view-slideshow.png b/themes/wind/images/ico-view-slideshow.png new file mode 100644 index 00000000..82f61f63 Binary files /dev/null and b/themes/wind/images/ico-view-slideshow.png differ diff --git a/themes/wind/images/ico-warning.png b/themes/wind/images/ico-warning.png new file mode 100644 index 00000000..628cf2da Binary files /dev/null and b/themes/wind/images/ico-warning.png differ diff --git a/themes/wind/images/select-photos-backg.png b/themes/wind/images/select-photos-backg.png new file mode 100644 index 00000000..81c2d616 Binary files /dev/null and b/themes/wind/images/select-photos-backg.png differ diff --git a/themes/wind/js/ui.init.js b/themes/wind/js/ui.init.js new file mode 100644 index 00000000..4eee1bb2 --- /dev/null +++ b/themes/wind/js/ui.init.js @@ -0,0 +1,141 @@ +/** + * Initialize jQuery UI and Gallery Plugin elements + */ + +var short_forms = new Array( + "#gQuickSearchForm", + "#gAddTagForm", + "#gSearchForm" +); + +$(document).ready(function() { + + // Initialize Superfish menus + $("ul.gMenu").addClass("sf-menu"); + $('ul.sf-menu').superfish({ + delay: 500, + animation: { + opacity:'show', + height:'show' + }, + speed: 'fast' + }); + $("#gSiteMenu").css("display", "block"); + + // Initialize status message effects + $("#gMessage li").gallery_show_message(); + + // Initialize dialogs + $("#gLoginLink").addClass("gDialogLink"); + $(".gDialogLink").gallery_dialog(); + + // Initialize view menu + if ($("#gViewMenu").length) { + $("#gViewMenu ul").removeClass("gMenu").removeClass("sf-menu"); + $("#gViewMenu a").addClass("ui-icon"); + } + + // Initialize short forms + for (var i in short_forms) { + short_form_init(short_forms[i]); + $(short_forms[i]).addClass("gShortForm"); + } + $(".gShortForm input[type=text]").addClass("ui-corner-left"); + $(".gShortForm input[type=submit]").addClass("ui-state-default ui-corner-right"); + + // Apply jQuery UI button css to submit inputs + $("input[type=submit]:not(.gShortForm input)").addClass("ui-state-default ui-corner-all"); + + // Apply styles and icon classes to gContextMenu + if ($(".gContextMenu").length) { + $(".gContextMenu li").addClass("ui-state-default"); + $(".gContextMenu a").addClass("gButtonLink ui-icon-left"); + $(".gContextMenu a").prepend(""); + $(".gContextMenu a span").each(function() { + var iconClass = $(this).parent().attr("class").match(/ui-icon-.[^\s]+/).toString(); + $(this).addClass(iconClass); + }); + } + + // Album view only + if ($("#gAlbumGrid").length) { + // Vertical align thumbnails/metadata in album grid + $(".gItem").gallery_valign(); + + // Initialize thumbnail hover effect + $(".gItem").hover( + function() { + // Insert invisible placeholder to hold the item's position in the grid + var placeHolder = $(this).clone(); + $(placeHolder).attr("id", "gPlaceHolder"); + $(placeHolder).css("visibility", "hidden"); + $(this).after($(placeHolder)); + // Style and position the item + $(this).addClass("gHoverItem"); + var position = $(this).position(); + $(this).css("position", "absolute"); + $(this).css("top", position.top); + $(this).css("left", position.left); + $(this).css("z-index", "1000"); + // Initialize the contextual menu + $(this).gallery_context_menu(); + // Set height based on height of descendents + var title = $(this).find("h2"); + var meta = $(this).find(".gMetadata"); + var item_ht = $(this).height(); + var title_ht = $(title).gallery_height(); + var meta_ht = $(meta).gallery_height(); + var ht = item_ht + title_ht + meta_ht; + var context_label = $(this).find(".gContextMenu li:first"); + var css_id = $(this).attr("id"); + if ($("#" + css_id + " .gContextMenu li").length) { + var context_label_ht = $(context_label).gallery_height(); + ht = ht + context_label_ht; + } + $(this).height(ht); + }, + function() { + // Reset item height, position, and z-index + if ($(this).next().height()) { + var sib_height = $(this).next().height(); + } else { + var sib_height = $(this).prev().height(); + } + if ($.browser.msie && $.browser.version >= 8) { + sib_height = sib_height + 1; + } + $(this).css("height", sib_height); + $(this).css("position", "relative"); + $(this).css("top", 0); + $(this).css("left", 0); + $(this).css("z-index", 1); + // Remove the placeholder and hover class from the item + $("#gPlaceHolder").remove(); + $(this).removeClass("gHoverItem"); + } + ); + } + + // Photo/Item item view + if ($("#gItem").length) { + // Ensure the resized image fits within its container + $("#gItem").gallery_fit_photo(); + + // Initialize context menus + var resize = $("#gItem").gallery_get_photo(); + $(resize).hover(function(){ + $(this).gallery_context_menu(); + }); + + // Add scroll effect for links to named anchors + $.localScroll({ + queue: true, + duration: 1000, + hash: true + }); + } + + // Initialize button hover effect + $.fn.gallery_hover_init(); + +}); diff --git a/themes/wind/theme.info b/themes/wind/theme.info new file mode 100644 index 00000000..17ea7c20 --- /dev/null +++ b/themes/wind/theme.info @@ -0,0 +1,6 @@ +name = "Gallery Wind" +description = "A crisp and distinctive theme that uses large fonts and icons for easy navigation and an enjoyable browsing experience." +version = 1 +author = "Gallery Team" +site = 1 +admin = 0 diff --git a/themes/wind/thumbnail.png b/themes/wind/thumbnail.png new file mode 100644 index 00000000..c0594db2 Binary files /dev/null and b/themes/wind/thumbnail.png differ diff --git a/themes/wind/views/album.html.php b/themes/wind/views/album.html.php new file mode 100644 index 00000000..01f7be50 --- /dev/null +++ b/themes/wind/views/album.html.php @@ -0,0 +1,41 @@ + + +
+ album_top() ?> +

title) ?>

+
description)) ?>
+
+ +
    + + $child): ?> + + is_album()): ?> + + +
  • + thumb_top($child) ?> + + thumb_img(array("class" => "gThumbnail")) ?> + + thumb_bottom($child) ?> + context_menu($child, "#gItemId-{$child->id} .gThumbnail") ?> +

    title) ?>

    + +
  • + + + admin || access::can("add", $item)): ?> + id") ?> +
  • Add some.", + array("attrs" => html::mark_clean("href=\"$addurl\" class=\"gDialogLink\""))) ?>
  • + +
  • + + +
+album_bottom() ?> + +pager() ?> diff --git a/themes/wind/views/block.html.php b/themes/wind/views/block.html.php new file mode 100644 index 00000000..e8cff833 --- /dev/null +++ b/themes/wind/views/block.html.php @@ -0,0 +1,10 @@ + + + + +
+

+
+ +
+
diff --git a/themes/wind/views/dynamic.html.php b/themes/wind/views/dynamic.html.php new file mode 100644 index 00000000..9ed9d69b --- /dev/null +++ b/themes/wind/views/dynamic.html.php @@ -0,0 +1,29 @@ + +
+
+ dynamic_top() ?> +
+

+
+ +
    + $child): ?> +
  • "> + thumb_top($child) ?> + + photo + +

    title) ?>

    + thumb_bottom($child) ?> + +
  • + +
+dynamic_bottom() ?> + +pager() ?> diff --git a/themes/wind/views/movie.html.php b/themes/wind/views/movie.html.php new file mode 100644 index 00000000..910814dd --- /dev/null +++ b/themes/wind/views/movie.html.php @@ -0,0 +1,37 @@ + +
+ photo_top() ?> + +
    +
  • + + + + + + + +
  • +
  • $position, "total" => $sibling_count)) ?>
  • +
  • + + + + + + + +
  • +
+ + + movie_img(array("class" => "gMovie", "id" => "gMovieId-{$item->id}")) ?> + +
+

title) ?>

+
description)) ?>
+
+ + photo_bottom() ?> + context_menu($item, "#gMovieId-{$item->id}") ?> +
diff --git a/themes/wind/views/page.html.php b/themes/wind/views/page.html.php new file mode 100644 index 00000000..19d8cc00 --- /dev/null +++ b/themes/wind/views/page.html.php @@ -0,0 +1,142 @@ + + + + + + + <? if ($page_title): ?> + <?= $page_title ?> + <? else: ?> + <? if ($theme->item()): ?> + <? if ($theme->item()->is_album()): ?> + <?= t("Browse Album :: %album_title", array("album_title" => $theme->item()->title)) ?> + <? elseif ($theme->item()->is_photo()): ?> + <?= t("Photo :: %photo_title", array("photo_title" => $theme->item()->title)) ?> + <? else: ?> + <?= t("Movie :: %movie_title", array("movie_title" => $theme->item()->title)) ?> + <? endif ?> + <? elseif ($theme->tag()): ?> + <?= t("Browse Tag :: %tag_title", array("tag_title" => $theme->tag()->name)) ?> + <? else: /* Not an item, not a tag, no page_title specified. Help! */ ?> + <?= t("Gallery") ?> + <? endif ?> + <? endif ?> + + " type="image/x-icon" /> + css("yui/reset-fonts-grids.css") ?> + css("superfish/css/superfish.css") ?> + css("themeroller/ui.base.css") ?> + css("screen.css") ?> + + page_type == 'album'): ?> + + + + + + + script("jquery.js") ?> + script("jquery.form.js") ?> + script("jquery-ui.js") ?> + script("gallery.common.js") ?> + + + script("gallery.ajax.js") ?> + script("gallery.dialog.js") ?> + script("gallery.form.js") ?> + script("superfish/js/superfish.js") ?> + script("jquery.localscroll.js") ?> + script("ui.init.js") ?> + + head() they get combined */ ?> + page_type == "photo"): ?> + script("jquery.scrollTo.js") ?> + script("gallery.show_full_size.js") ?> + page_type == "movie"): ?> + script("flowplayer.js") ?> + + + head() ?> + + + body_attributes() ?>> + page_top() ?> +
+ site_status() ?> +
+
+ header_top() ?> + + + + + +
+ site_menu() ?> +
+ header_bottom() ?> +
+ + + + +
+
+
+
+
+ messages() ?> + +
+
+
+
+ page_type != "login"): ?> + + +
+
+
+ footer() ?> + + + + + +
    + credits() ?> +
+ +
+
+ page_bottom() ?> + + diff --git a/themes/wind/views/pager.html.php b/themes/wind/views/pager.html.php new file mode 100644 index 00000000..7cdc9bb0 --- /dev/null +++ b/themes/wind/views/pager.html.php @@ -0,0 +1,44 @@ + + +
    + $current_first_item, + "to_number" => $current_last_item, + "count" => $total_items)) ?> +
  • + + + + + + + + + + + + + + +
  • +
  • +
  • + + + + + + + + + + + + + + +
  • +
diff --git a/themes/wind/views/photo.html.php b/themes/wind/views/photo.html.php new file mode 100644 index 00000000..b0096043 --- /dev/null +++ b/themes/wind/views/photo.html.php @@ -0,0 +1,59 @@ + + +item())): ?> + + + + +
+ photo_top() ?> + +
    +
  • + + + + + + + +
  • +
  • $position, "total" => $sibling_count)) ?>
  • +
  • + + + + + + + +
  • +
+ +
+ resize_top($item) ?> + + for_html_attr() ?>"> + + resize_img(array("id" => "gPhotoId-{$item->id}", "class" => "gResize")) ?> + + + + resize_bottom($item) ?> + context_menu($item, "#gPhotoId-{$item->id}") ?> +
+ +
+

title) ?>

+
description)) ?>
+
+ + photo_bottom() ?> +
diff --git a/themes/wind/views/sidebar.html.php b/themes/wind/views/sidebar.html.php new file mode 100644 index 00000000..04379eb6 --- /dev/null +++ b/themes/wind/views/sidebar.html.php @@ -0,0 +1,18 @@ + +sidebar_top() ?> +
+
+ + album_menu() ?> + + photo_menu() ?> + + movie_menu() ?> + + tag_menu() ?> + +
+
+ +sidebar_blocks() ?> +sidebar_bottom() ?> -- cgit v1.2.3 From b038e9cbb4d913088a26f8c4e6e4699de9c860d7 Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Wed, 23 Sep 2009 17:03:25 -0700 Subject: set the version number to 13, so we will update the default themes in the gallery vars --- modules/gallery/helpers/gallery_installer.php | 11 +++++++++++ modules/gallery/module.info | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'modules') diff --git a/modules/gallery/helpers/gallery_installer.php b/modules/gallery/helpers/gallery_installer.php index 6500482b..6ea1b227 100644 --- a/modules/gallery/helpers/gallery_installer.php +++ b/modules/gallery/helpers/gallery_installer.php @@ -364,6 +364,17 @@ class gallery_installer { $db->query("UPDATE {items} SET `relative_url_cache` = NULL, `relative_path_cache` = NULL"); module::set_version("gallery", $version = 12); } + + if ($version == 12) { + if (module::get_var("gallery", "active_site_theme") == "default") { + module::set_var("gallery", "active_site_theme", "wind"); + } + if (module::get_var("gallery", "active_admin_theme") == "admin_default") { + module::set_var("gallery", "active_admin_theme", "admin_wind"); + } + module::set_version("gallery", $version = 13); + } + } static function uninstall() { diff --git a/modules/gallery/module.info b/modules/gallery/module.info index 70bd91e2..65a0691c 100644 --- a/modules/gallery/module.info +++ b/modules/gallery/module.info @@ -1,3 +1,3 @@ name = "Gallery 3" description = "Gallery core application" -version = 12 +version = 13 -- cgit v1.2.3 From 8bab030883647ffaf0e0bd4d172261159d19dd08 Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Wed, 23 Sep 2009 19:45:23 -0700 Subject: Add a new api method gallery::find_file. This wraps the Kohana::find_file function, but allows the extension to supplied as part of the filename. Changed the Edit permission dialog to use the new api method to locate the icons from the active theme. --- modules/gallery/helpers/gallery.php | 14 +++++++++++ modules/gallery/views/permissions_form.html.php | 33 +++++++++++++------------ 2 files changed, 31 insertions(+), 16 deletions(-) (limited to 'modules') diff --git a/modules/gallery/helpers/gallery.php b/modules/gallery/helpers/gallery.php index 91dd2073..d4f733e4 100644 --- a/modules/gallery/helpers/gallery.php +++ b/modules/gallery/helpers/gallery.php @@ -79,6 +79,20 @@ class gallery_Core { return date(module::get_var("gallery", "time_format", "H:i:s"), $timestamp); } + /** + * Provide a wrapper function for Kohana::find_file, that first strips the extension and + * then calls the Kohana::find_file supply that extension + * @param string directory to search in + * @param string filename to look for (without extension) + * @param boolean file required + * @return the file relative to the DOCROOT + */ + static function find_file($directory, $file, $required=false) { + $file_name = substr($file, 0, -strlen($ext = strrchr($file, '.'))); + $file_name = Kohana::find_file($directory, $file_name, $required, substr($ext, 1)); + return substr($file_name, strlen(DOCROOT)); + } + static function site_menu($menu, $theme) { if ($theme->page_type != "login") { $menu->append(Menu::factory("link") diff --git a/modules/gallery/views/permissions_form.html.php b/modules/gallery/views/permissions_form.html.php index a0bb35f2..f5639439 100644 --- a/modules/gallery/views/permissions_form.html.php +++ b/modules/gallery/views/permissions_form.html.php @@ -1,7 +1,6 @@
- @@ -12,7 +11,8 @@ - + name, $item) ?> name, $item) ?> @@ -20,33 +20,34 @@ @@ -55,30 +56,30 @@ -- cgit v1.2.3 From d727716af71d6b5d13a64075ba5a91cd0aead74a Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Wed, 23 Sep 2009 19:51:46 -0700 Subject: Change the simple uploader dialog to use the new gallery::find_file api method. --- modules/gallery/views/simple_uploader.html.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules') diff --git a/modules/gallery/views/simple_uploader.html.php b/modules/gallery/views/simple_uploader.html.php index 7f8a96df..acd2bee0 100644 --- a/modules/gallery/views/simple_uploader.html.php +++ b/modules/gallery/views/simple_uploader.html.php @@ -97,7 +97,7 @@ debug: false, // Button settings - button_image_url: , + button_image_url: , button_width: "202", button_height: "45", button_placeholder_id: "gChooseFilesButtonPlaceholder", -- cgit v1.2.3 From 054a8dedac11ffbaa030fdc178031e5f975bbbdf Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Thu, 24 Sep 2009 10:28:02 -0700 Subject: Oops, forgot to change the install version number to match the upgrade version number --- modules/gallery/helpers/gallery_installer.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules') diff --git a/modules/gallery/helpers/gallery_installer.php b/modules/gallery/helpers/gallery_installer.php index 6ea1b227..cf13d794 100644 --- a/modules/gallery/helpers/gallery_installer.php +++ b/modules/gallery/helpers/gallery_installer.php @@ -268,7 +268,7 @@ class gallery_installer { module::set_var("gallery", "show_credits", 1); // @todo this string needs to be picked up by l10n_scanner module::set_var("gallery", "credits", "Powered by Gallery %version"); - module::set_version("gallery", 12); + module::set_version("gallery", 13); } static function upgrade($version) { -- cgit v1.2.3 From 8e16cee2c3b7df19354af366f212ce52a2a7b5c8 Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Thu, 24 Sep 2009 14:24:43 -0700 Subject: Forgot to change the defaults theme names on initial install... Duh --- modules/gallery/helpers/gallery_installer.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'modules') diff --git a/modules/gallery/helpers/gallery_installer.php b/modules/gallery/helpers/gallery_installer.php index cf13d794..ee605b27 100644 --- a/modules/gallery/helpers/gallery_installer.php +++ b/modules/gallery/helpers/gallery_installer.php @@ -224,8 +224,8 @@ class gallery_installer { $root->save(); access::add_item($root); - module::set_var("gallery", "active_site_theme", "default"); - module::set_var("gallery", "active_admin_theme", "admin_default"); + module::set_var("gallery", "active_site_theme", "wind"); + module::set_var("gallery", "active_admin_theme", "admin_wind"); module::set_var("gallery", "page_size", 9); module::set_var("gallery", "thumb_size", 200); module::set_var("gallery", "resize_size", 640); -- cgit v1.2.3 From 59c1c36639af36b3b9ec99664402f9501c290a40 Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Thu, 24 Sep 2009 14:50:30 -0700 Subject: Hopefully the last 2 errant occurrences of default as it relates to theme names --- modules/gallery/libraries/Admin_View.php | 2 +- modules/gallery/libraries/Theme_View.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'modules') diff --git a/modules/gallery/libraries/Admin_View.php b/modules/gallery/libraries/Admin_View.php index 21b70df6..a516a1ae 100644 --- a/modules/gallery/libraries/Admin_View.php +++ b/modules/gallery/libraries/Admin_View.php @@ -29,7 +29,7 @@ class Admin_View_Core extends Gallery_View { public function __construct($name) { $theme_name = module::get_var("gallery", "active_site_theme"); if (!file_exists("themes/$theme_name")) { - module::set_var("gallery", "active_site_theme", "admin_default"); + module::set_var("gallery", "active_site_theme", "admin_wind"); theme::load_themes(); Kohana::log("error", "Unable to locate theme '$theme_name', switching to default theme."); } diff --git a/modules/gallery/libraries/Theme_View.php b/modules/gallery/libraries/Theme_View.php index 130e2dce..01d6a61b 100644 --- a/modules/gallery/libraries/Theme_View.php +++ b/modules/gallery/libraries/Theme_View.php @@ -30,7 +30,7 @@ class Theme_View_Core extends Gallery_View { public function __construct($name, $page_type) { $theme_name = module::get_var("gallery", "active_site_theme"); if (!file_exists("themes/$theme_name")) { - module::set_var("gallery", "active_site_theme", "default"); + module::set_var("gallery", "active_site_theme", "wind"); theme::load_themes(); Kohana::log("error", "Unable to locate theme '$theme_name', switching to default theme."); } -- cgit v1.2.3 From c51c76dcaa41085eb5cb7a1a0299bb378a175372 Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Thu, 24 Sep 2009 15:06:40 -0700 Subject: Fix Admin_View to look for the the variable active_admin_theme instead of active_site_theme. In addition check for the existence of THEMEPATH . instead of theme/ --- modules/gallery/libraries/Admin_View.php | 6 +++--- modules/gallery/libraries/Theme_View.php | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'modules') diff --git a/modules/gallery/libraries/Admin_View.php b/modules/gallery/libraries/Admin_View.php index a516a1ae..fd4fbea8 100644 --- a/modules/gallery/libraries/Admin_View.php +++ b/modules/gallery/libraries/Admin_View.php @@ -27,9 +27,9 @@ class Admin_View_Core extends Gallery_View { * @return void */ public function __construct($name) { - $theme_name = module::get_var("gallery", "active_site_theme"); - if (!file_exists("themes/$theme_name")) { - module::set_var("gallery", "active_site_theme", "admin_wind"); + $theme_name = module::get_var("gallery", "active_admin_theme"); + if (!file_exists(THEMEPATH . $theme_name)) { + module::set_var("gallery", "active_admin_theme", "admin_wind"); theme::load_themes(); Kohana::log("error", "Unable to locate theme '$theme_name', switching to default theme."); } diff --git a/modules/gallery/libraries/Theme_View.php b/modules/gallery/libraries/Theme_View.php index 01d6a61b..ebd6a920 100644 --- a/modules/gallery/libraries/Theme_View.php +++ b/modules/gallery/libraries/Theme_View.php @@ -29,7 +29,7 @@ class Theme_View_Core extends Gallery_View { */ public function __construct($name, $page_type) { $theme_name = module::get_var("gallery", "active_site_theme"); - if (!file_exists("themes/$theme_name")) { + if (!file_exists(THEMEPATH . $theme_name)) { module::set_var("gallery", "active_site_theme", "wind"); theme::load_themes(); Kohana::log("error", "Unable to locate theme '$theme_name', switching to default theme."); -- cgit v1.2.3 From 970158f4d9904d00319c3da421024c68777a855d Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Thu, 24 Sep 2009 16:59:33 -0700 Subject: Fix unit tests by updating the xss golden file and declaring gallery_error::error_handler as static --- modules/gallery/helpers/gallery_error.php | 2 +- modules/gallery/tests/xss_data.txt | 176 +++++++++++++++--------------- 2 files changed, 89 insertions(+), 89 deletions(-) (limited to 'modules') diff --git a/modules/gallery/helpers/gallery_error.php b/modules/gallery/helpers/gallery_error.php index 91e05407..39568c93 100644 --- a/modules/gallery/helpers/gallery_error.php +++ b/modules/gallery/helpers/gallery_error.php @@ -18,7 +18,7 @@ * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ class gallery_error_Core { - function error_handler($severity, $message, $filename, $lineno) { + static function error_handler($severity, $message, $filename, $lineno) { if (error_reporting() == 0) { return; } diff --git a/modules/gallery/tests/xss_data.txt b/modules/gallery/tests/xss_data.txt index f3c90e18..7d3cf362 100644 --- a/modules/gallery/tests/xss_data.txt +++ b/modules/gallery/tests/xss_data.txt @@ -148,31 +148,31 @@ modules/gallery/views/permissions_browse.html.php 44 DIRTY_JS $paren modules/gallery/views/permissions_browse.html.php 52 DIRTY_ATTR $item->id modules/gallery/views/permissions_browse.html.php 53 DIRTY_JS $item->id modules/gallery/views/permissions_browse.html.php 60 DIRTY $form -modules/gallery/views/permissions_form.html.php 24 DIRTY_JS $lock->id -modules/gallery/views/permissions_form.html.php 32 DIRTY_JS $group->id -modules/gallery/views/permissions_form.html.php 32 DIRTY_JS $permission->id -modules/gallery/views/permissions_form.html.php 32 DIRTY_JS $item->id -modules/gallery/views/permissions_form.html.php 36 DIRTY_JS $group->id -modules/gallery/views/permissions_form.html.php 36 DIRTY_JS $permission->id -modules/gallery/views/permissions_form.html.php 36 DIRTY_JS $item->id -modules/gallery/views/permissions_form.html.php 43 DIRTY_JS $group->id -modules/gallery/views/permissions_form.html.php 43 DIRTY_JS $permission->id -modules/gallery/views/permissions_form.html.php 43 DIRTY_JS $item->id -modules/gallery/views/permissions_form.html.php 47 DIRTY_JS $group->id -modules/gallery/views/permissions_form.html.php 47 DIRTY_JS $permission->id -modules/gallery/views/permissions_form.html.php 47 DIRTY_JS $item->id -modules/gallery/views/permissions_form.html.php 56 DIRTY_JS $group->id -modules/gallery/views/permissions_form.html.php 56 DIRTY_JS $permission->id -modules/gallery/views/permissions_form.html.php 56 DIRTY_JS $item->id -modules/gallery/views/permissions_form.html.php 63 DIRTY_JS $group->id -modules/gallery/views/permissions_form.html.php 63 DIRTY_JS $permission->id -modules/gallery/views/permissions_form.html.php 63 DIRTY_JS $item->id -modules/gallery/views/permissions_form.html.php 74 DIRTY_JS $group->id -modules/gallery/views/permissions_form.html.php 74 DIRTY_JS $permission->id -modules/gallery/views/permissions_form.html.php 74 DIRTY_JS $item->id -modules/gallery/views/permissions_form.html.php 79 DIRTY_JS $group->id -modules/gallery/views/permissions_form.html.php 79 DIRTY_JS $permission->id -modules/gallery/views/permissions_form.html.php 79 DIRTY_JS $item->id +modules/gallery/views/permissions_form.html.php 26 DIRTY_JS $lock->id +modules/gallery/views/permissions_form.html.php 34 DIRTY_JS $group->id +modules/gallery/views/permissions_form.html.php 34 DIRTY_JS $permission->id +modules/gallery/views/permissions_form.html.php 34 DIRTY_JS $item->id +modules/gallery/views/permissions_form.html.php 37 DIRTY_JS $group->id +modules/gallery/views/permissions_form.html.php 37 DIRTY_JS $permission->id +modules/gallery/views/permissions_form.html.php 37 DIRTY_JS $item->id +modules/gallery/views/permissions_form.html.php 44 DIRTY_JS $group->id +modules/gallery/views/permissions_form.html.php 44 DIRTY_JS $permission->id +modules/gallery/views/permissions_form.html.php 44 DIRTY_JS $item->id +modules/gallery/views/permissions_form.html.php 48 DIRTY_JS $group->id +modules/gallery/views/permissions_form.html.php 48 DIRTY_JS $permission->id +modules/gallery/views/permissions_form.html.php 48 DIRTY_JS $item->id +modules/gallery/views/permissions_form.html.php 57 DIRTY_JS $group->id +modules/gallery/views/permissions_form.html.php 57 DIRTY_JS $permission->id +modules/gallery/views/permissions_form.html.php 57 DIRTY_JS $item->id +modules/gallery/views/permissions_form.html.php 64 DIRTY_JS $group->id +modules/gallery/views/permissions_form.html.php 64 DIRTY_JS $permission->id +modules/gallery/views/permissions_form.html.php 64 DIRTY_JS $item->id +modules/gallery/views/permissions_form.html.php 75 DIRTY_JS $group->id +modules/gallery/views/permissions_form.html.php 75 DIRTY_JS $permission->id +modules/gallery/views/permissions_form.html.php 75 DIRTY_JS $item->id +modules/gallery/views/permissions_form.html.php 80 DIRTY_JS $group->id +modules/gallery/views/permissions_form.html.php 80 DIRTY_JS $permission->id +modules/gallery/views/permissions_form.html.php 80 DIRTY_JS $item->id modules/gallery/views/upgrader.html.php 44 DIRTY_ATTR $module->version==$module->code_version?"current":"upgradeable" modules/gallery/views/upgrader.html.php 45 DIRTY_ATTR $id modules/gallery/views/upgrader.html.php 49 DIRTY $module->version @@ -251,8 +251,8 @@ modules/search/views/search.html.php 31 DIRTY_JS $item- modules/search/views/search.html.php 32 DIRTY $item->thumb_img() modules/server_add/views/admin_server_add.html.php 15 DIRTY_ATTR $id modules/server_add/views/admin_server_add.html.php 24 DIRTY $form -modules/server_add/views/server_add_tree.html.php 12 DIRTY_JS html::js_string($dir) modules/server_add/views/server_add_tree.html.php 20 DIRTY_ATTR is_dir($file)?"ui-icon-folder-collapsed":"ui-icon-document" +modules/server_add/views/server_add_tree.html.php 21 DIRTY_ATTR is_dir($file)?"gDirectory":"gFile" modules/server_add/views/server_add_tree_dialog.html.php 3 DIRTY_JS url::site("server_add/children?path=__PATH__") modules/server_add/views/server_add_tree_dialog.html.php 4 DIRTY_JS url::site("server_add/start?item_id={$item->id}&csrf=$csrf") modules/server_add/views/server_add_tree_dialog.html.php 23 DIRTY $tree @@ -283,65 +283,65 @@ modules/user/views/user_languages_block.html.php 2 DIRTY form:: modules/watermark/views/admin_watermarks.html.php 19 DIRTY_ATTR $width modules/watermark/views/admin_watermarks.html.php 19 DIRTY_ATTR $height modules/watermark/views/admin_watermarks.html.php 19 DIRTY_ATTR $url -themes/admin_wind/views/admin.html.php 15 DIRTY_JS $theme->url() -themes/admin_wind/views/admin.html.php 32 DIRTY $theme->admin_head() -themes/admin_wind/views/admin.html.php 36 DIRTY $theme->admin_page_top() -themes/admin_wind/views/admin.html.php 44 DIRTY $theme->admin_header_top() -themes/admin_wind/views/admin.html.php 49 DIRTY_JS item::root()->url() -themes/admin_wind/views/admin.html.php 53 DIRTY $theme->admin_menu() -themes/admin_wind/views/admin.html.php 55 DIRTY $theme->admin_header_bottom() -themes/admin_wind/views/admin.html.php 62 DIRTY $content -themes/admin_wind/views/admin.html.php 68 DIRTY $sidebar -themes/admin_wind/views/admin.html.php 73 DIRTY $theme->admin_footer() -themes/admin_wind/views/admin.html.php 75 DIRTY $theme->admin_credits() -themes/admin_wind/views/admin.html.php 79 DIRTY $theme->admin_page_bottom() -themes/admin_wind/views/block.html.php 3 DIRTY_ATTR $anchor -themes/admin_wind/views/block.html.php 5 DIRTY $id -themes/admin_wind/views/block.html.php 5 DIRTY_ATTR $css_id -themes/admin_wind/views/block.html.php 13 DIRTY $title -themes/admin_wind/views/block.html.php 16 DIRTY $content -themes/admin_wind/views/pager.html.php 13 DIRTY_JS str_replace('{page}',1,$url) -themes/admin_wind/views/pager.html.php 20 DIRTY_JS str_replace('{page}',$previous_page,$url) -themes/admin_wind/views/pager.html.php 27 DIRTY $from_to_msg -themes/admin_wind/views/pager.html.php 30 DIRTY_JS str_replace('{page}',$next_page,$url) -themes/admin_wind/views/pager.html.php 37 DIRTY_JS str_replace('{page}',$last_page,$url) -themes/wind/views/album.html.php 16 DIRTY_ATTR $child->id -themes/wind/views/album.html.php 16 DIRTY_ATTR $item_class -themes/wind/views/album.html.php 18 DIRTY_JS $child->url() -themes/wind/views/album.html.php 19 DIRTY $child->thumb_img(array("class"=>"gThumbnail")) -themes/wind/views/album.html.php 23 DIRTY_JS $child->url() -themes/wind/views/block.html.php 3 DIRTY_ATTR $anchor -themes/wind/views/block.html.php 5 DIRTY_ATTR $css_id -themes/wind/views/block.html.php 6 DIRTY $title -themes/wind/views/block.html.php 8 DIRTY $content -themes/wind/views/dynamic.html.php 11 DIRTY_ATTR $child->is_album()?"gAlbum":"" -themes/wind/views/dynamic.html.php 13 DIRTY_JS $child->url() -themes/wind/views/dynamic.html.php 14 DIRTY_ATTR $child->id -themes/wind/views/dynamic.html.php 15 DIRTY_ATTR $child->thumb_url() -themes/wind/views/dynamic.html.php 16 DIRTY_ATTR $child->thumb_width -themes/wind/views/dynamic.html.php 17 DIRTY_ATTR $child->thumb_height -themes/wind/views/movie.html.php 8 DIRTY_JS $previous_item->url() -themes/wind/views/movie.html.php 18 DIRTY_JS $next_item->url() -themes/wind/views/movie.html.php 28 DIRTY $item->movie_img(array("class"=>"gMovie","id"=>"gMovieId-{$item->id}")) -themes/wind/views/page.html.php 9 DIRTY $page_title -themes/wind/views/page.html.php 32 DIRTY_JS $theme->url() -themes/wind/views/page.html.php 41 DIRTY $new_width -themes/wind/views/page.html.php 42 DIRTY $new_height -themes/wind/views/page.html.php 43 DIRTY $thumb_proportion -themes/wind/views/page.html.php 82 DIRTY $header_text -themes/wind/views/page.html.php 84 DIRTY_JS item::root()->url() -themes/wind/views/page.html.php 102 DIRTY_JS $parent->url($parent==$theme->item()->parent()?"show={$theme->item()->id}":null) -themes/wind/views/page.html.php 117 DIRTY $content -themes/wind/views/page.html.php 123 DIRTY newView("sidebar.html") -themes/wind/views/page.html.php 130 DIRTY $footer_text -themes/wind/views/pager.html.php 13 DIRTY_JS str_replace('{page}',1,$url) -themes/wind/views/pager.html.php 20 DIRTY_JS str_replace('{page}',$previous_page,$url) -themes/wind/views/pager.html.php 27 DIRTY $from_to_msg -themes/wind/views/pager.html.php 30 DIRTY_JS str_replace('{page}',$next_page,$url) -themes/wind/views/pager.html.php 37 DIRTY_JS str_replace('{page}',$last_page,$url) -themes/wind/views/photo.html.php 8 DIRTY_JS $theme->item()->width -themes/wind/views/photo.html.php 8 DIRTY_JS $theme->item()->height -themes/wind/views/photo.html.php 21 DIRTY_JS $previous_item->url() -themes/wind/views/photo.html.php 31 DIRTY_JS $next_item->url() -themes/wind/views/photo.html.php 43 DIRTY_JS $item->file_url() -themes/wind/views/photo.html.php 45 DIRTY $item->resize_img(array("id"=>"gPhotoId-{$item->id}","class"=>"gResize")) +themes/admin_wind/views/admin.html.php 15 DIRTY_JS $theme->url() +themes/admin_wind/views/admin.html.php 32 DIRTY $theme->admin_head() +themes/admin_wind/views/admin.html.php 36 DIRTY $theme->admin_page_top() +themes/admin_wind/views/admin.html.php 44 DIRTY $theme->admin_header_top() +themes/admin_wind/views/admin.html.php 49 DIRTY_JS item::root()->url() +themes/admin_wind/views/admin.html.php 53 DIRTY $theme->admin_menu() +themes/admin_wind/views/admin.html.php 55 DIRTY $theme->admin_header_bottom() +themes/admin_wind/views/admin.html.php 62 DIRTY $content +themes/admin_wind/views/admin.html.php 68 DIRTY $sidebar +themes/admin_wind/views/admin.html.php 73 DIRTY $theme->admin_footer() +themes/admin_wind/views/admin.html.php 75 DIRTY $theme->admin_credits() +themes/admin_wind/views/admin.html.php 79 DIRTY $theme->admin_page_bottom() +themes/admin_wind/views/block.html.php 3 DIRTY_ATTR $anchor +themes/admin_wind/views/block.html.php 5 DIRTY $id +themes/admin_wind/views/block.html.php 5 DIRTY_ATTR $css_id +themes/admin_wind/views/block.html.php 13 DIRTY $title +themes/admin_wind/views/block.html.php 16 DIRTY $content +themes/admin_wind/views/pager.html.php 13 DIRTY_JS str_replace('{page}',1,$url) +themes/admin_wind/views/pager.html.php 20 DIRTY_JS str_replace('{page}',$previous_page,$url) +themes/admin_wind/views/pager.html.php 27 DIRTY $from_to_msg +themes/admin_wind/views/pager.html.php 30 DIRTY_JS str_replace('{page}',$next_page,$url) +themes/admin_wind/views/pager.html.php 37 DIRTY_JS str_replace('{page}',$last_page,$url) +themes/wind/views/album.html.php 16 DIRTY_ATTR $child->id +themes/wind/views/album.html.php 16 DIRTY_ATTR $item_class +themes/wind/views/album.html.php 18 DIRTY_JS $child->url() +themes/wind/views/album.html.php 19 DIRTY $child->thumb_img(array("class"=>"gThumbnail")) +themes/wind/views/album.html.php 23 DIRTY_JS $child->url() +themes/wind/views/block.html.php 3 DIRTY_ATTR $anchor +themes/wind/views/block.html.php 5 DIRTY_ATTR $css_id +themes/wind/views/block.html.php 6 DIRTY $title +themes/wind/views/block.html.php 8 DIRTY $content +themes/wind/views/dynamic.html.php 11 DIRTY_ATTR $child->is_album()?"gAlbum":"" +themes/wind/views/dynamic.html.php 13 DIRTY_JS $child->url() +themes/wind/views/dynamic.html.php 14 DIRTY_ATTR $child->id +themes/wind/views/dynamic.html.php 15 DIRTY_ATTR $child->thumb_url() +themes/wind/views/dynamic.html.php 16 DIRTY_ATTR $child->thumb_width +themes/wind/views/dynamic.html.php 17 DIRTY_ATTR $child->thumb_height +themes/wind/views/movie.html.php 8 DIRTY_JS $previous_item->url() +themes/wind/views/movie.html.php 18 DIRTY_JS $next_item->url() +themes/wind/views/movie.html.php 28 DIRTY $item->movie_img(array("class"=>"gMovie","id"=>"gMovieId-{$item->id}")) +themes/wind/views/page.html.php 9 DIRTY $page_title +themes/wind/views/page.html.php 32 DIRTY_JS $theme->url() +themes/wind/views/page.html.php 41 DIRTY $new_width +themes/wind/views/page.html.php 42 DIRTY $new_height +themes/wind/views/page.html.php 43 DIRTY $thumb_proportion +themes/wind/views/page.html.php 82 DIRTY $header_text +themes/wind/views/page.html.php 84 DIRTY_JS item::root()->url() +themes/wind/views/page.html.php 102 DIRTY_JS $parent->url($parent==$theme->item()->parent()?"show={$theme->item()->id}":null) +themes/wind/views/page.html.php 117 DIRTY $content +themes/wind/views/page.html.php 123 DIRTY newView("sidebar.html") +themes/wind/views/page.html.php 130 DIRTY $footer_text +themes/wind/views/pager.html.php 13 DIRTY_JS str_replace('{page}',1,$url) +themes/wind/views/pager.html.php 20 DIRTY_JS str_replace('{page}',$previous_page,$url) +themes/wind/views/pager.html.php 27 DIRTY $from_to_msg +themes/wind/views/pager.html.php 30 DIRTY_JS str_replace('{page}',$next_page,$url) +themes/wind/views/pager.html.php 37 DIRTY_JS str_replace('{page}',$last_page,$url) +themes/wind/views/photo.html.php 8 DIRTY_JS $theme->item()->width +themes/wind/views/photo.html.php 8 DIRTY_JS $theme->item()->height +themes/wind/views/photo.html.php 21 DIRTY_JS $previous_item->url() +themes/wind/views/photo.html.php 31 DIRTY_JS $next_item->url() +themes/wind/views/photo.html.php 43 DIRTY_JS $item->file_url() +themes/wind/views/photo.html.php 45 DIRTY $item->resize_img(array("id"=>"gPhotoId-{$item->id}","class"=>"gResize")) -- cgit v1.2.3 From cd240ebaada9ddff112a40a5f80201f23449337e Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Thu, 24 Sep 2009 20:06:14 -0700 Subject: Refactored the rebuild_dirty_images handler to simplify the counting and end processing. It was getting all confused with trying to figure out the completed and remaining. Now on initiation it sets the total images that are dirty and then counts the completed until it equals the total, then exits. Fixes ticket #771 --- modules/gallery/helpers/gallery_task.php | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 'modules') diff --git a/modules/gallery/helpers/gallery_task.php b/modules/gallery/helpers/gallery_task.php index 1b56ab97..3d0476a8 100644 --- a/modules/gallery/helpers/gallery_task.php +++ b/modules/gallery/helpers/gallery_task.php @@ -48,9 +48,13 @@ class gallery_task_Core { $errors = array(); try { $result = graphics::find_dirty_images_query(); + $total_count = $task->get("total_count", -1); + if ($total_count < 0) { + $total_count = $result->count(); + $task->set("total_count", $total_count); + } $completed = $task->get("completed", 0); $ignored = $task->get("ignored", array()); - $remaining = $result->count() - count($ignored); $i = 0; foreach ($result as $row) { @@ -62,19 +66,18 @@ class gallery_task_Core { if ($item->loaded) { try { graphics::generate($item); - $ignored[$item->id] = 1; + $completed++; + $errors[] = t("Successfully rebuilt images for '%title'", array("title" => html::purify($item->title))); } catch (Exception $e) { $errors[] = t("Unable to rebuild images for '%title'", array("title" => html::purify($item->title))); $errors[] = $e->__toString(); + $ignored[$item->id] = 1; } } - $completed++; - $remaining--; - if (++$i == 2) { break; } @@ -83,17 +86,17 @@ class gallery_task_Core { $task->status = t2("Updated: 1 image. Total: %total_count.", "Updated: %count images. Total: %total_count.", $completed, - array("total_count" => ($remaining + $completed))); + array("total_count" => $total_count)); - if ($completed + $remaining > 0) { - $task->percent_complete = (int)(100 * $completed / ($completed + $remaining)); + if ($completed < $total_count) { + $task->percent_complete = (int)(100 * ($completed + count($ignored)) / $total_count); } else { $task->percent_complete = 100; } $task->set("completed", $completed); $task->set("ignored", $ignored); - if ($remaining == 0) { + if ($task->percent_complete == 100) { $task->done = true; $task->state = "success"; site_status::clear("graphics_dirty"); -- cgit v1.2.3 From e204e18b3c6a4b4b1aa76b6d4a5392bd238490eb Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Thu, 24 Sep 2009 20:28:26 -0700 Subject: Refactor the graphic rules processing to accomplish 2 goals: First separate the grapics library from module supplied rules and secondly, allow for modules to provide new processing rules callbacks. graphics::generate will now look for _graphics:: methods. --- modules/gallery/helpers/gallery_graphics.php | 54 ++++++++++++++ modules/gallery/helpers/graphics.php | 95 +----------------------- modules/watermark/helpers/watermark_graphics.php | 75 +++++++++++++++++++ 3 files changed, 133 insertions(+), 91 deletions(-) create mode 100644 modules/gallery/helpers/gallery_graphics.php create mode 100644 modules/watermark/helpers/watermark_graphics.php (limited to 'modules') diff --git a/modules/gallery/helpers/gallery_graphics.php b/modules/gallery/helpers/gallery_graphics.php new file mode 100644 index 00000000..f62fbf97 --- /dev/null +++ b/modules/gallery/helpers/gallery_graphics.php @@ -0,0 +1,54 @@ +resize($options["width"], $options["height"], $options["master"]) + ->quality(module::get_var("gallery", "image_quality")); + if (graphics::can("sharpen")) { + $image->sharpen(module::get_var("gallery", "image_sharpen")); + } + $image->save($output_file); + } + + module::event("graphics_resize_completed", $input_file, $output_file, $options); + } +} diff --git a/modules/gallery/helpers/graphics.php b/modules/gallery/helpers/graphics.php index 78812794..6705652f 100644 --- a/modules/gallery/helpers/graphics.php +++ b/modules/gallery/helpers/graphics.php @@ -152,7 +152,7 @@ class graphics_Core { ->orderby("priority", "asc") ->find_all() as $rule) { $args = array($working_file, $output_file, unserialize($rule->args)); - call_user_func_array(array("graphics", $rule->operation), $args); + call_user_func_array(array("{$rule->module_name}_graphics", $rule->operation), $args); $working_file = $output_file; } } @@ -180,42 +180,6 @@ class graphics_Core { } } - /** - * Resize an image. Valid options are width, height and master. Master is one of the Image - * master dimension constants. - * - * @param string $input_file - * @param string $output_file - * @param array $options - */ - static function resize($input_file, $output_file, $options) { - if (!self::$init) { - self::init_toolkit(); - } - - module::event("graphics_resize", $input_file, $output_file, $options); - - if (@filesize($input_file) == 0) { - throw new Exception("@todo EMPTY_INPUT_FILE"); - } - - $dims = getimagesize($input_file); - if (max($dims[0], $dims[1]) < min($options["width"], $options["height"])) { - // Image would get upscaled; do nothing - copy($input_file, $output_file); - } else { - $image = Image::factory($input_file) - ->resize($options["width"], $options["height"], $options["master"]) - ->quality(module::get_var("gallery", "image_quality")); - if (graphics::can("sharpen")) { - $image->sharpen(module::get_var("gallery", "image_sharpen")); - } - $image->save($output_file); - } - - module::event("graphics_resize_completed", $input_file, $output_file, $options); - } - /** * Rotate an image. Valid options are degrees * @@ -238,60 +202,6 @@ class graphics_Core { module::event("graphics_rotate_completed", $input_file, $output_file, $options); } - /** - * Overlay an image on top of the input file. - * - * Valid options are: file, mime_type, position, transparency_percent, padding - * - * Valid positions: northwest, north, northeast, - * west, center, east, - * southwest, south, southeast - * - * padding is in pixels - * - * @param string $input_file - * @param string $output_file - * @param array $options - */ - static function composite($input_file, $output_file, $options) { - if (!self::$init) { - self::init_toolkit(); - } - - module::event("graphics_composite", $input_file, $output_file, $options); - - list ($width, $height) = getimagesize($input_file); - list ($w_width, $w_height) = getimagesize($options["file"]); - - $pad = isset($options["padding"]) ? $options["padding"] : 10; - $top = $pad; - $left = $pad; - $y_center = max($height / 2 - $w_height / 2, $pad); - $x_center = max($width / 2 - $w_width / 2, $pad); - $bottom = max($height - $w_height - $pad, $pad); - $right = max($width - $w_width - $pad, $pad); - - switch ($options["position"]) { - case "northwest": $x = $left; $y = $top; break; - case "north": $x = $x_center; $y = $top; break; - case "northeast": $x = $right; $y = $top; break; - case "west": $x = $left; $y = $y_center; break; - case "center": $x = $x_center; $y = $y_center; break; - case "east": $x = $right; $y = $y_center; break; - case "southwest": $x = $left; $y = $bottom; break; - case "south": $x = $x_center; $y = $bottom; break; - case "southeast": $x = $right; $y = $bottom; break; - } - - Image::factory($input_file) - ->composite($options["file"], $x, $y, $options["transparency"]) - ->quality(module::get_var("gallery", "image_quality")) - ->save($output_file); - - - module::event("graphics_composite_completed", $input_file, $output_file, $options); - } - /** * Return a query result that locates all items with dirty images. * @return Database_Result Query result @@ -463,6 +373,9 @@ class graphics_Core { * Choose which driver the Kohana Image library uses. */ static function init_toolkit() { + if (self::$init) { + return; + } switch(module::get_var("gallery", "graphics_toolkit")) { case "gd": Kohana::config_set("image.driver", "GD"); diff --git a/modules/watermark/helpers/watermark_graphics.php b/modules/watermark/helpers/watermark_graphics.php new file mode 100644 index 00000000..aef7586b --- /dev/null +++ b/modules/watermark/helpers/watermark_graphics.php @@ -0,0 +1,75 @@ +composite($options["file"], $x, $y, $options["transparency"]) + ->quality(module::get_var("gallery", "image_quality")) + ->save($output_file); + + module::event("graphics_composite_completed", $input_file, $output_file, $options); + } catch (ErrorException $e) { + Kohana::log("error", $e->get_message()); + } + } +} -- cgit v1.2.3
display_name) ?> display_name) ?> + - <?= t('denied icon')->for_html_attr() ?> + " + title="for_html_attr() ?>" + alt="for_html_attr() ?>" /> - <?= t('locked icon')->for_html_attr() ?> + " alt="for_html_attr() ?>" /> - - <?= t('passive allowed icon')->for_html_attr() ?> + + " alt="for_html_attr() ?>" /> - <?= t('inactive denied icon')->for_html_attr() ?> + " alt="for_html_attr() ?>" /> - <?= t('inactive allowed icon')->for_html_attr() ?> + " alt="for_html_attr() ?>" /> - <?= t('passive denied icon')->for_html_attr() ?> + " alt="for_html_attr() ?>" /> - <?= t('inactive allowed icon')->for_html_attr() ?> + " alt="for_html_attr() ?>" /> id == 1): ?> - <?= t('denied icon')->for_html_attr() ?> + " alt="for_html_attr() ?>" title="for_html_attr() ?>"/> - <?= t('denied icon')->for_html_attr() ?> + " alt="for_html_attr() ?>" /> id == 1): ?> - for_html_attr() ?>" alt="for_html_attr() ?>" /> + " title="for_html_attr() ?>" alt="for_html_attr() ?>" /> - <?= t('allowed icon')->for_html_attr() ?> + " alt="for_html_attr() ?>" /> - <?= t('inactive denied icon')->for_html_attr() ?> + " alt="for_html_attr() ?>" />