From 64332d66885c485bee45bd5a8c3fcaee631119ca Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Fri, 16 Jul 2010 09:42:30 -0700 Subject: [PATCH] Initial commit of a themeroller module... not ready for general use --- .../controllers/admin_themeroller.php | 73 ++ .../themeroller/data/masks/avatar_mask.png | Bin 0 -> 1681 bytes .../themeroller/data/masks/ico-album_mask.png | Bin 0 -> 451 bytes .../data/masks/ico-denied-active_mask.png | Bin 0 -> 604 bytes .../data/masks/ico-denied-inactive_mask.png | Bin 0 -> 604 bytes .../data/masks/ico-denied-passive_mask.png | Bin 0 -> 604 bytes .../themeroller/data/masks/ico-error_mask.png | Bin 0 -> 635 bytes .../themeroller/data/masks/ico-help_mask.png | Bin 0 -> 690 bytes .../themeroller/data/masks/ico-info_mask.png | Bin 0 -> 661 bytes .../themeroller/data/masks/ico-lock_mask.png | Bin 0 -> 736 bytes .../themeroller/data/masks/ico-print_mask.png | Bin 0 -> 914 bytes .../data/masks/ico-separator-rtl_mask.gif | Bin 0 -> 844 bytes .../data/masks/ico-separator_mask.gif | Bin 0 -> 844 bytes .../data/masks/ico-success-active_mask.png | Bin 0 -> 476 bytes .../data/masks/ico-success-inactive_mask.png | Bin 0 -> 476 bytes .../data/masks/ico-success-passive_mask.png | Bin 0 -> 476 bytes .../data/masks/ico-view-comments_mask.png | Bin 0 -> 720 bytes .../data/masks/ico-view-fullsize_mask.png | Bin 0 -> 1077 bytes .../masks/ico-view-slideshow-rtl_mask.png | Bin 0 -> 956 bytes .../data/masks/ico-view-slideshow_mask.png | Bin 0 -> 965 bytes .../data/masks/ico-warning_mask.png | Bin 0 -> 582 bytes .../data/masks/loading-large_mask.gif | Bin 0 -> 8238 bytes .../data/masks/loading-small_mask.gif | Bin 0 -> 673 bytes .../data/masks/select-photos-backg_mask.png | Bin 0 -> 1325 bytes .../themeroller/ui-icons_mask_256x240.png | Bin 0 -> 8151 bytes .../themeroller/helpers/themeroller_event.php | 27 + .../helpers/themeroller_installer.php | 35 + modules/themeroller/module.info | 3 + .../themeroller/views/admin_screen.css.php | 622 +++++++++++++ .../views/admin_themeroller.html.php | 79 ++ modules/themeroller/views/site_screen.css.php | 863 ++++++++++++++++++ 31 files changed, 1702 insertions(+) create mode 100755 modules/themeroller/controllers/admin_themeroller.php create mode 100644 modules/themeroller/data/masks/avatar_mask.png create mode 100644 modules/themeroller/data/masks/ico-album_mask.png create mode 100644 modules/themeroller/data/masks/ico-denied-active_mask.png create mode 100644 modules/themeroller/data/masks/ico-denied-inactive_mask.png create mode 100644 modules/themeroller/data/masks/ico-denied-passive_mask.png create mode 100644 modules/themeroller/data/masks/ico-error_mask.png create mode 100644 modules/themeroller/data/masks/ico-help_mask.png create mode 100644 modules/themeroller/data/masks/ico-info_mask.png create mode 100644 modules/themeroller/data/masks/ico-lock_mask.png create mode 100644 modules/themeroller/data/masks/ico-print_mask.png create mode 100644 modules/themeroller/data/masks/ico-separator-rtl_mask.gif create mode 100644 modules/themeroller/data/masks/ico-separator_mask.gif create mode 100644 modules/themeroller/data/masks/ico-success-active_mask.png create mode 100644 modules/themeroller/data/masks/ico-success-inactive_mask.png create mode 100644 modules/themeroller/data/masks/ico-success-passive_mask.png create mode 100644 modules/themeroller/data/masks/ico-view-comments_mask.png create mode 100644 modules/themeroller/data/masks/ico-view-fullsize_mask.png create mode 100644 modules/themeroller/data/masks/ico-view-slideshow-rtl_mask.png create mode 100644 modules/themeroller/data/masks/ico-view-slideshow_mask.png create mode 100644 modules/themeroller/data/masks/ico-warning_mask.png create mode 100644 modules/themeroller/data/masks/loading-large_mask.gif create mode 100644 modules/themeroller/data/masks/loading-small_mask.gif create mode 100644 modules/themeroller/data/masks/select-photos-backg_mask.png create mode 100644 modules/themeroller/data/masks/themeroller/ui-icons_mask_256x240.png create mode 100644 modules/themeroller/helpers/themeroller_event.php create mode 100644 modules/themeroller/helpers/themeroller_installer.php create mode 100755 modules/themeroller/module.info create mode 100644 modules/themeroller/views/admin_screen.css.php create mode 100755 modules/themeroller/views/admin_themeroller.html.php create mode 100644 modules/themeroller/views/site_screen.css.php diff --git a/modules/themeroller/controllers/admin_themeroller.php b/modules/themeroller/controllers/admin_themeroller.php new file mode 100755 index 00000000..4862b5a2 --- /dev/null +++ b/modules/themeroller/controllers/admin_themeroller.php @@ -0,0 +1,73 @@ +form, $v->errors) = $this->_get_theme_form(); + $v->is_writable = is_writable(THEMEPATH); + $v->action = "admin/themeroller/upload"; + $submit_class = "ui-state-default ui-corner-all submit g-left"; + + if ($v->not_writable = !is_writable(THEMEPATH)) { + $submit_class .= " ui-state-disabled"; + } + $v->submit_class = $submit_class; + $v->script_data = array( + "g3sid" => Session::instance()->id(), + "user_agent" => Input::instance()->server("HTTP_USER_AGENT"), + "csrf" => access::csrf_token()); + print json_encode(array("form" => (string) $v)); + } + + public function upload() { + access::verify_csrf(); + + list ($v->form, $v->errors) = $this->_get_theme_form(); + + Kohana_Log::add("error", Kohana::debug($_POST)); + Kohana_Log::add("error", Kohana::debug($_FILES)); + $validation = new Validation(array_merge($_POST, $_FILES)); + $validation->add_rules("name", "required"); + $validation->add_rules("display_name", "required"); + $validation->add_rules("description", "required"); + $validation->add_rules("zip_file", "upload::valid", "upload::required", "upload::type[zip]"); + $validation->add_callbacks("name", array($this, "_is_theme_defined")); + if ($validation->validate()) { + print "FILEID: {$v->form['name']}"; + } else { + arr::overwrite($form, $validation->as_array()); + arr::overwrite($errors, $validation->errors()); + } + } + + public function _is_theme_defined(Validation $post, $field) { + $theme_name = strtolower(strtr($post[$field], " ", "_")); + if (file_exists(THEMEPATH . "$theme_name/theme.info")) { + $post->add_error($field, "theme_exists"); + } + } + + private function _get_theme_form() { + $form = array("name" => "", "display_name" => "", "description" => "", "is_admin" => array(), + "zip_file" => ""); + $errors = array_fill_keys(array_keys($form), ""); + return array($form, $errors); + } +} \ No newline at end of file diff --git a/modules/themeroller/data/masks/avatar_mask.png b/modules/themeroller/data/masks/avatar_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..c153a364ade82919d9abbbdd5386d40c889d64e1 GIT binary patch literal 1681 zcmV;C25$L@P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00009 za7bBm000id000id0mpBsWB>pF8FWQhbW?9;ba!ELWdKlNX>N2bPDNB8b~7$DE;85d zX+r=21>#9WK~z{rt(V776<8F9`45cAY-TsR*}9(v%h|G>wV((B#!y0$szjtiC@NJt zQE8&|2q;aubWu8pR4LLHXYO~BJA;X1-qU%>$-D2~Q-7!2`&?X{{46goUw-}iwG zN>WmiBqStAQBje!x3`Nqi*Zt&bL@S6eNt0XBcr3Evc0`6$H&KVa&jX3`};C7G9u5O zJ(Gcf0dY>NgWUD?_0rqhD~E@NYIt*VQ}*`u+96 z_)%6?R@C6`?yedIfrEns+1c6A^G}~X$^m&?)7kt{4Mi21FN zWBkjPFKV3MIJCODDjz<4(7oc~Vw`n#EX40{b#!#d*w~oN%*@EUckeWMV9&_Nkhr)w zEkf2fL|x3z&Z-mR)IVq&7Kt*vR)ckkZSJ)G?7>XJ8a z-st|rhYx?=0SskkW(sMb7Vh1U{1!UrPoJbwIGQAtfr{W%9FCMKk^ zvQico7iDT{>Z>)i05U|%Hx9v9QBfh2lasoB^5lu25fA?4)cD9q%ywzgJtio%VJ z4TU)+B}I~xlXcA=XYjyFf#MiCe#ikLuBxii_M+98b{Mje0yhRAYJd*mtiQisJK*&6 zRAteDE~lO7?Cg|RuU=`@Q{8lfod?VUBBuuC=H_(0w6vtgo12?e4jE8kjV`Ahpyi%E zeX2c8+mTn`eEasT4kJ2(4q=bAxd-$tH#b)!Muz!-4sDp=- zzzL$CpP$!4#6iyBftM7306Ng+lmlB^TNf;pL;*31qoSfDG&EEqBO@g&EKI_~!zCgj zLT=rvM(E|NtSlWSFfmf8 zV1$5{c~38M!*RJ-w5qGC_2~t%wo$$=&_?_qBbVKYuO_4GsF}!~pOz59oV{HG7=F11~bjGA+>up&KU{T6uYSJZ^nl zOmVn!u}~-w`2qnd7NxDNt@7f<3oRZ?Trjt9-TN2P@{6@iWy3{g{5At51Zi03$G6c&Ur@?KI>qRuF=ua3LR0|NNkiK!ML?4AkXxFTU(nVVUgo$&OUdCxt#tq z1^AmOyo(Oq3BJC*+AjRjV2tvwh}1A@=@SFT*q>zF;pG6o?#*qDIVu3dB90ifj;w69;Bf!O2iM~!%Sd5MRIhdM)VTOL{s zKKh>VORYGKfV;c9Mu-t$rYk6>J9qBr80Fl@$4Bb`6zCl03Fkagf`fy#O>f+|A)cO| b|LMTrYa-J9Cy>)z00000NkvXXu0mjf|L7!+ literal 0 HcmV?d00001 diff --git a/modules/themeroller/data/masks/ico-album_mask.png b/modules/themeroller/data/masks/ico-album_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..904a8979ed75ef27a026d65ca67034536c6b11cd GIT binary patch literal 451 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 V+S;yX_`(1H002ovPDHLkV1n|<91s8i literal 0 HcmV?d00001 diff --git a/modules/themeroller/data/masks/ico-help_mask.png b/modules/themeroller/data/masks/ico-help_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..a7617dd35e67478f5e2c2409d296407dd961b79d GIT binary patch literal 690 zcmV;j0!{siP)nkAX7mfq(sdu?PBFrggIjbV&tXX zR^R^MCo2H#2*$z1P}%rl$V)b$53sZ!{XF>+5Ub>guXruh;t*7Z*acS~XQF z75T6ASd!xM@>1$_I*=p@FE1|~q9~%(YT@MMM9Sy$iXTa8wVLAm{Cx2G`ih5#2jp@& z#9}e*?d{>{=m?A)?RFcPOlH8I|0X#*JCmKBo{CiY=H>>wySqpxlX!c3<2XJ(#@5yr zm;^jOKO-KGi~IZgvT-McLcvTQn$0G*x3{sev4PLePkeoSanPCGM1jdQ) z@9*gKda&7S97I5qV57v+($d64*0PN06WIoWjgxmkRhcvnO14_9U}l5u3Kka^#rgU9 z$r#BD7NoFPECU)71x2G#I2;b%`sU^)s6)2S(CKsotycT%+JYxMzXN5AfKC?GqFm-?Cfk`tycF{DwUvADoxYV)4%^r|MF*l Y1J+jk(!X;aivR!s07*qoM6N<$f>E7IaR2}S literal 0 HcmV?d00001 diff --git a/modules/themeroller/data/masks/ico-info_mask.png b/modules/themeroller/data/masks/ico-info_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..07e99d794507ab75e4c93fb0da3097751caaf0dc GIT binary patch literal 661 zcmV;G0&4wpF8FWQhbW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE;UJt{NMlp0uo6?K~y+Tty4?OabXmFe+$3I-M~O3F)?5u5yxHb*FxkHxeP=~ zx#kkNo zAfL}ep-`Y*)oL|RDwP+7Lcw`=;&!|3sZVG8w?J@cU#k z0hh}KGMUW&79eIFan4SsLodAu%?L)h(sb3_;;gB>3H347lcCLX9S&2XD2aI$FVw+ce@=tpHDi) z;cx(l!$E;$GBOH$Ow?+%9F18gl1yPWIyOwm=JozP`BKi7P@+%Ut vSj;66F=!IGd?TbAdEz@m@cYm7FMswoW~jf;TL0|V00000NkvXXu0mjf9|9mu literal 0 HcmV?d00001 diff --git a/modules/themeroller/data/masks/ico-lock_mask.png b/modules/themeroller/data/masks/ico-lock_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..6a4d9b672faf277a1ce1d01299d3ed8815debe62 GIT binary patch literal 736 zcmV<60w4W}P)pF8FWQhbW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE;UJt{NMlp0$oW&K~y+TZBtuIYGDxVCFnr^q37QEb4flJ8i`h7hN5N~UMh-I zgtEM0siolMK_n4G#amvwXrcMI&Nl-`NzaC1?~gsRW_@ecEG^AF=jZ3EE|*JTx7$ND zn=NaxSh6OQDP%Ah6gr)5bw2;s`Rwd$!|8NZBasNw=`^z0EWhLNI6NK?G#X8HZ*Ono zzaXM`)!}fIpPrr&jYc89VKf?{*Xtn|!0YvL?C$QC6$-_l1rSlN8488)@bCb$*<2Bn z*N%>kmbF^#^8Wt*no6Z=UtV6~^z;-mnQU_bK-||$-Kn$ax;~$=IpN|W-wzjAka=D!Iry!4ykNEof;uw#|9HY?)lgWgG&copl@9*#E_xl_tCnqxi zQk{y+8c&7mO_xBhK1}GMbs8*}YfB-HoE+E{;0Qr0#&(F^c-syBm z=otVB_4)aULZJX+^Dl{nQmfUd)oLsx0g_Ls!NI}741j)qe0*>hx(0P5nj{*%E0qe{ znu^2WFzX|XH3Oh~l32N14t~F%bs$rvQYofQMU*4Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy8FWQhbW?9;ba!ELWdKlNX>N2bPDNB8b~7$DE;UJt{NMlp0_#ac zK~zXf-B!;_Vo?~K{s5OV%zx9LA)!b}po?iEj*eK6f3>MLD7&9*Fr=_;zF#2 zmK(7`OdUm2@z>&;cP?`;&!?87P6PAcaPRx>_nmXzd-vXV*FL>-9UUFfjFc~Cv$-Z8 zlX5>x_tk0nQtsM&T5pcSi1NC+x*{q5Ls=-rzF%HmPUOGwF!OukM*96e0k~SN7K{ue zm?V7t4fF@iW|QT}^H*Zz;NXCU!yz>q4Tf&F%kC?c3dQ4b@_M}t=p%+P z3jwv@n9GPXnbswwFsVKm&|DWLrJM5o{r$wU``ZC%LR)S`XokaK3WY+{>-AVWt&g!~ zFc=Jk-q_OSdj)1Vi~z5%uQU4?TNcp5HD-kG73Ff7J`xjq4Bsp8&9F@G?(Qg^PLsi4 zpslSf((CoKxw%O?osP6xEon3w+Su5b3XCBKxu`)cIKTx?a6Qc)__aN4^3zbBWkt! zo3zAQSY~p#-EJC4`kG>~7<>IV!SNbi4=yD?G@;Fn z%=|IRkBO(Jr(&n&yDwTCi14jp4EqAM@0XVs!jTa*{95XiHjfdxDP{lvH-abpQ>^^c oEPFOt*&O-jMpk)reCyo$3qUq_mY8O9B5==;u2H%pnt%TiS3`O RiN{Cz!_5lLay%Ri)&M6&C_4ZE literal 0 HcmV?d00001 diff --git a/modules/themeroller/data/masks/ico-separator_mask.gif b/modules/themeroller/data/masks/ico-separator_mask.gif new file mode 100644 index 0000000000000000000000000000000000000000..7f922d86e5d3aaead4dc9bfca5da29349fedd67b GIT binary patch literal 844 zcmZ?wbhEHbuUxtE z_U+rNSFis0^XLBk`>$WWe)a0rty{Nt@7{g>{Q2wGumAk{^UT5M*VKXl~C!WC

`HUIzs literal 0 HcmV?d00001 diff --git a/modules/themeroller/data/masks/ico-success-inactive_mask.png b/modules/themeroller/data/masks/ico-success-inactive_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..74b2032fabd3003d15ff5e5bbbb3366e1c9a5dd6 GIT binary patch literal 476 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLluUxtE z_U+rNSFis0^XLBk`>$WWe)a0rty{Nt@7{g>{Q2wGumAk{^UT5M*VKXl~C!WC

`HUIzs literal 0 HcmV?d00001 diff --git a/modules/themeroller/data/masks/ico-success-passive_mask.png b/modules/themeroller/data/masks/ico-success-passive_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..74b2032fabd3003d15ff5e5bbbb3366e1c9a5dd6 GIT binary patch literal 476 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLluUxtE z_U+rNSFis0^XLBk`>$WWe)a0rty{Nt@7{g>{Q2wGumAk{^UT5M*VKXl~C!WC

`HUIzs literal 0 HcmV?d00001 diff --git a/modules/themeroller/data/masks/ico-view-comments_mask.png b/modules/themeroller/data/masks/ico-view-comments_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..e8bf2861b85d8c6ecf8e1fd2dafa41793c4d3fd5 GIT binary patch literal 720 zcmeAS@N?(olHy`uVBq!ia0vp^N-L15RjOeSEA?V8lq5UtY@lc>e=<@0Rsb*rl*Tzh==#tX`Wq5jv{TZ zWolt%aa5V`KQz=GM&ZcQjKfUtg^Uom~B3DGZ zUA3lqWu1Cz6sk4#`hsWYKUmwbfBqR2Ax*`|p>(E%QE`_W7`Tvn9uV_lmRc1>+v;9kgwd0$MA$ z{<`Ur{nqYk!2VEa&odBOagZrkpm6uyB^q2`t86tHfq`)3Y0<@(C5s*wXn>t$ zG54H&&gr;w&y6$BJ}p}KeNn1iM8ZDxPfrRg=0$pBm+h9_%UgE&`RBh^EdI~zwE6p* z`J-_40?o4BbNSj2XQyqJthAXIFV_8Z^EK0TpQdJQzWJiUX4S#D2c-NBXP=G#=M~es zFjH{#)m7gvRqb`Vtm(G+Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy8FWQhbW?9;ba!ELWdKlNX>N2bPDNB8b~7$DE;UJt{NMlp1CB{V zK~zXf)mCXQBvBOgJLb>$7vmogLWD@$h1i!b60t>mu!ltOfrx0DwzPfUccEz-39)mg z&W);}(^anqlgU(aQe9o|-h1AC=iXZ(A^*cwQc@DC!J`3x3G^MR%!RhdyScfEySqEw z-{0fm;X&~D_=u;cCp2vxVyFYQ)FKgLgYN^vxJbBKi6G@cDc= zK0a2WtE)>$xZQ5K^I2s_-;ALolAD{0lamwd@9$e;baWI62?-b+95le^;o)IRJNjk} zC6VmxY$39jo-;EuBCx5cDNIaEASNb8rX_#B z$Jp2ys;a7xl$0c5BLN-<`v{NHE;yYT!yrOO%m{bRfF6$r3>Fm?CF7gVL~m~|>gwv` zDD)n|@?**F?(X9H`udN+&jrRXh;Ub4uU9hho(#pxEa~4Dfp_`%_`*evMMg&Y3?eKc z9!*C_hk#v?C@(KZbaXVr!^2Gx78Yjt-pW>c=hu$rr$K}z#B+7ITrxce1_r<;)!*MQ zU9!2k8BI-1(ySU98l)zcAt)p_y1gZM}gX+J5 vh&v)80-u3K#QoLyf%ab)+jlei7yf<$wM*Wy-L15RjOeSEA?V8lq5UtY@lc>e=<@0RscGsHcl#h==#v@M!Nvfg*3O zpSk}c|4gy?MujE;r`-)6DN{T+CJJaw(T`*abPVX{_5C6g=TPIJYx=<{u{CJR^JwXB z59b7*>iJ>7tgQ3x(BAJ+tKVliJO8);e@ieTI$FBy!(~QZjtf%ns$}Lo+nH9P*L<%0 z>gv_2%a&hW=*SRt;mQ}^`&X}qR#jFeHk?-Y@%r`ZS0{b;i$-nR_i*>7O-}y){yYVo zO!u<3hWMxbT6%ILGT>Fl#XDnf>33sYZ9@ALNd4q1Iw z;(-v$o|`$V=AHSn>SxWoZQHh;c>n$KnKL~bxpkxOf8b?d`tsq!0fy-c4?J}C#%&GI zxNzO+s?e0y)k0R-@mn=e%5T+ zxY1EvU0ueh>BVNStBxLZ-L-#zdV{w>fsVKTdX9pc8lU3gViB&^7au+ZuwH0>VGUOI z^JnF*-Mf=P>SX+0dfHlBKi<#NZaLGZj%xw?#d5G0;?__1S}MdG)70>oY4W|JM_E~$ z9ry8V+rE7_+lA&6dRkj@Y7du}l}$@v0vR)h>7}fU%!i2%0x>g^ZmfNjG&MFPE9qT{b4+0e2XXh4l_6b>dX5JQ)lIrTyU`3jq>%)&K+lqA;D*SC+1_?=EV6BYNGX{m_?z>^OGhc=p&*X7k z9Qd{4dOFzCdE2A+3InBo+`fHVesA`ZyN$*B_wCDj<8=Dk^vZwto)&$K76Y07{{4HP zU;c)Hy!igc4GCL&dyuI=jvsG_Cmm}$yMM_gB~us*bUogF`m~9&5t!EeCd_(K{`v1S z9)?%OhK3*Sa$c8_lmsWjEp;~apWc3Z9L2^S`u|^jS{>ubMD=H}JdJ;Wxro8j)z4*} HQ$iB}DC)S; literal 0 HcmV?d00001 diff --git a/modules/themeroller/data/masks/ico-view-slideshow_mask.png b/modules/themeroller/data/masks/ico-view-slideshow_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..567e47bd320147c97fe2f777b39ed7c795573d12 GIT binary patch literal 965 zcmeAS@N?(olHy`uVBq!ia0vp^N-L15RjOeSEA?V8lq5UtY@lc>e=<@0RscGoTrOph==#v>9@7lB#IpS zYx?{Chx|9$Jpn;MMLM1wo?gpDTBX~k1ax^@N9R2WC^~3y_KLwoXXQ=bzE@}Ot$lsB z?XHP<_4RpGQU0ITd|i{i?VJ^ALJl2Q`3|0-mL>U=<>@g*Du&}AL2ay)U%_tmDTvT4#*|lKmYyP2a^987aAP9 zpJ}bOwziRt&6{=ecJ8#idHc4pu@%H56O$7kKW+r6+{wDyjaUEv$B%{OThE+3ck1B5 z#+SY44}ydB*RLu|TieoxYyk^?)vGH$N=q@SsjJ`BwZ9kK0S?X5($b>R(x(j96+YD1 zy*Dk{dsKb0r=^XJ$*d}oRp1Er_3f=s14ZxGuUBpS-Q3*neE)y7_^Gn&`U~;D@BF@c z_3ArK?gvsV|Gs^DX8Klh+apjUg@%TH`tjoh$k^}S%i)R0S4GHPOIw@uK(gbe+qZ99 z@^~@sS)>s8Re#I(=qn6=R&U$(ty)AcJTOpkDMMTZoBh1{+tDwMZ#A2?>fhh`v^qwS X2K8qy`OjtnvlD}-tDnm{r-UW|>GjSM literal 0 HcmV?d00001 diff --git a/modules/themeroller/data/masks/ico-warning_mask.png b/modules/themeroller/data/masks/ico-warning_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..ea1d842178520eb2d51d5d39c5ef6a23c5f5c63e GIT binary patch literal 582 zcmV-M0=fN(P)pF8FWQhbW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE;UJt{NMlp0mDf|K~y+TwUS9{LO~FQ1-Gs|g9pexaszLWy&&kqg-8%VT$r~I zoN+)LP@gjh5<$$$;R(7@R1m}d(qCX=T`B5`vS!o<>eJm#5Wu^5l-c8k$y zMEl1d0ZgoKx7#?M&ln5_h(@D4`u#q4!6t)XFsT0)!o-?Fp|DymmzTODkq9U{oenme z4KK;>_s_jvujUIx6vc#+X*!+qthrq70-#3j_j@#(O$dT;{|UgvI`;ULEj~7~PXL-k ztJUHTdc7WIvl(`~9b7J#>~J`A7YGwS(c{D6fXQUS$3}pUCD4Z=5CO=A&1MrhfQfG# zjRv3jYPI4*3KA$H%C79m9W|8o0cNxLR+Y(QX4D)4PziKNL3<^XvyXR_#Aq}QRjE`e z#6Ae(@i?~}4u=s41mN@e;PH6icDvzpI$^ilVYOOeu~=X-nMe$S!4SIov93LM2SA0^ Up=duV5dZ)H07*qoM6N<$f;^@A%m4rY literal 0 HcmV?d00001 diff --git a/modules/themeroller/data/masks/loading-large_mask.gif b/modules/themeroller/data/masks/loading-large_mask.gif new file mode 100644 index 0000000000000000000000000000000000000000..cc70a7a8b3d426c30e76686fac70c0dcd4c70125 GIT binary patch literal 8238 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 literal 0 HcmV?d00001 diff --git a/modules/themeroller/data/masks/loading-small_mask.gif b/modules/themeroller/data/masks/loading-small_mask.gif new file mode 100644 index 0000000000000000000000000000000000000000..d0bce1542342e912da81a2c260562df172f30d73 GIT binary patch literal 673 zcmZ?wbhEHb6krfw_{6~Q|Nnmm28Kh24mmkF0U1e2Nli^nlO|14{Lk&@8WQa67~pE8 zXTZz|lvDgC+Z`3#dv5h=E26FfcG1 zbL_hF&)}42ws10s6^G;;cE1^EoUR)U5A70}d2pLv!jVIT7j&Z~EblI3x0K*v_sV|m z0kj3v921Z^em#l`(k(o@H$3ZdDRc@9NidXDNbqrumReCGv$gd8+e8WW28HVqkJ_9i zH>s*<31KtHjANIPvi2#*6BEu%3Dak5O_t&NBI)H?V$TxT}#l{vOTn5naXTfF^&~Hhq+NX@#Ccc>y7T?;vjI&jdhsDsPJyAw*m0Qz>i}K7# zL9w50Ng{fT}A5JUe8lRK1h7_Y2;BWJDd=c6f&i?Wv5(5q?6|P zQw{>maxZP<537OA37Uk}7@%_$4o$EWe_Zl>&#id|lE-BpDC#+Fn|msJ%_2h{Hg1vP z#N8WAzfWasG}yq|xqE)DrWaOofX=z|?*pgc%{ig5vl!pqDlC|q&~Z0$&Rvsft&VO- z4MZj+%-+Vx%W}v;V76hyp=;+R;x+~t^Q%*xuFTQAF2})fSfTHDAs>sO!OBw`)&)o$ c0!CNZt))x~rAZP^^P&YOFfdqy5)K#u0POD40{{R3 literal 0 HcmV?d00001 diff --git a/modules/themeroller/data/masks/select-photos-backg_mask.png b/modules/themeroller/data/masks/select-photos-backg_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..0898007088e8cef0c7884fd40869755216d73e7d GIT binary patch literal 1325 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 literal 0 HcmV?d00001 diff --git a/modules/themeroller/helpers/themeroller_event.php b/modules/themeroller/helpers/themeroller_event.php new file mode 100644 index 00000000..b2f47176 --- /dev/null +++ b/modules/themeroller/helpers/themeroller_event.php @@ -0,0 +1,27 @@ +get("appearance_menu") + ->append(Menu::factory("dialog") + ->id("themeroller") + ->label(t("Import themeroller")) + ->url(url::site("admin/themeroller/form_add"))); + } +} diff --git a/modules/themeroller/helpers/themeroller_installer.php b/modules/themeroller/helpers/themeroller_installer.php new file mode 100644 index 00000000..5b59a982 --- /dev/null +++ b/modules/themeroller/helpers/themeroller_installer.php @@ -0,0 +1,35 @@ + .sf-sub-indicator { + background-position: -64px -16px !important; + top: 0.6em; +} + +.sf-menu ul a > .sf-sub-indicator { + background-position: -32px -16px !important; +} + +/* jQuery UI Dialog ~~~~~~~~~~~~~~~~~~~~~~ */ + +#g-admin-dashboard .ui-state-highlight, +#g-sidebar .ui-state-highlight { + height: 2em; + margin-bottom: 1em; +} + +.g-buttonset-vertical a { + width: 8em !important; +} + +#g-admin-dashboard .ui-dialog-titlebar, +#g-admin-dashboard-sidebar .ui-dialog-titlebar { + padding: .2em .4em; +} + +/** ******************************************************************* + * 7) Module color overrides + *********************************************************************/ + +/* User admin form ~~~~~~~~~~~~~~~~~~~~~~~~~ */ +#g-user-admin-list .g-admin { + color: #2e6e9e !important; /* fcDefault; */ + font-weight: bold; +} + +.g-group { + border: 1px solid #aaaaaa !important; /* borderColorContent */ +} + +.g-group h4 { + background-color: #dfeffc !important; /* bgColorDefault */ + border-bottom: 1px dashed #2e6e9e !important; /* fcDefault; */ +} + +.g-default-group h4, +.g-default-group .g-user { + color: #2e6e9e !important; /* fcDefault; */ +} + +/** ******************************************************************* + * 8) States and interactions + *********************************************************************/ + +.g-draggable:hover { + border: 1px dashed #fbec88; /* bgColorHighlight */ +} + +.ui-sortable .g-target, +.ui-state-highlight { + background-color: #fbec88; /* bgColorHighlight */ + border: 2px dotted #fad42e; /* borderColorHighlight */ +} + +/** ******************************************************************* + * 9) Right to left styles + *********************************************************************/ + +.rtl #g-content #g-album-grid .g-item, +.rtl #g-site-theme, +.rtl #g-admin-theme, +.rtl .g-selected img, +.rtl .g-available .g-block img, +.rtl #g-content #g-photo-stream .g-item, +.rtl li.g-group, +.rtl #g-server-add-admin { + float: right; +} + +.rtl #g-admin-graphics .g-available .g-block { + float: right; + margin-left: 1em; + margin-right: 0em; +} + +.rtl #g-site-admin-menu { + left: auto; + right: 150px; +} + +.rtl #g-header #g-login-menu { + float: left; +} + +.rtl #g-header #g-login-menu li { + margin-left: 0; + padding-left: 0; + padding-right: 1.2em; +} + +.rtl .g-selected img, +.rtl .g-available .g-block img { + margin: 0 0 1em 1em; +} + +/* RTL Superfish ~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +.rtl .sf-menu a { + border-right:1px solid #fff; +} + +.rtl .sf-sub-indicator { + background: url("themeroller/images/ui-icons_2e83ff_256x240.png") no-repeat -96px -16px; /* 8-bit indexed alpha png. IE6 gets solid image only */ +} + +/*** shadows for all but IE6 ***/ +.rtl .sf-shadow ul { + background: url('../images/superfish-shadow.png') no-repeat bottom left; + border-top-right-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-topright: 0; + -moz-border-radius-bottomleft: 0; + -webkit-border-top-right-radius: 0; + -webkit-border-bottom-left-radius: 0; + -moz-border-radius-topleft: 17px; + -moz-border-radius-bottomright: 17px; + -webkit-border-top-left-radius: 17px; + -webkit-border-bottom-right-radius: 17px; + border-top-left-radius: 17px; + border-bottom-right-radius: 17px; +} diff --git a/modules/themeroller/views/admin_themeroller.html.php b/modules/themeroller/views/admin_themeroller.html.php new file mode 100755 index 00000000..3f81b15e --- /dev/null +++ b/modules/themeroller/views/admin_themeroller.html.php @@ -0,0 +1,79 @@ + + + + +

diff --git a/modules/themeroller/views/site_screen.css.php b/modules/themeroller/views/site_screen.css.php new file mode 100644 index 00000000..3d7fc79e --- /dev/null +++ b/modules/themeroller/views/site_screen.css.php @@ -0,0 +1,863 @@ +/** + * Gallery 3 Redmond Theme Screen Styles + * + * @requires YUI reset, font, grids CSS + * + * Sheet organization: + * 1) Font sizes, base HTML elements + * 2) Reusable content blocks + * 3) Page layout containers + * 4) Content blocks in specific layout containers + * 5) Navigation and menus + * 6) jQuery and jQuery UI + * 7) Forms + * 8) States and interactions + * 9) Right-to-left language styles + */ + +/** ******************************************************************* + * 1) Font sizes, base HTML elements + **********************************************************************/ +html { + color: #2e6e9e; /* fcDefault; */ +} + +body, html { + background-color: #dfeffc; /* bgColorDefault */ + font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; /* ffDefault */ + font-size: 13px/1.231; /* fsDefault/ gallery_line_height */ +} + +p { + margin-bottom: 1em; +} + +em { + font-style: oblique; +} + +h1, h2, h3, h4, h5, strong, th { + font-weight: bold; +} + +h1 { + font-size: 1.7em; +} + +#g-dialog h1 { + font-size: 1.1em; +} + +h2 { + font-size: 1.4em; +} + +#g-sidebar .g-block h2 { + font-size: 1.2em; +} + +#g-sidebar .g-block li { + margin-bottom: .6em; +} + +#g-content, +#g-site-menu, +h3 { + font-size: 1.2em; +} + +#g-sidebar, +.g-breadcrumbs { + font-size: .9em; +} + +#g-banner, +#g-footer, +.g-message { + font-size: .8em; +} + +#g-album-grid .g-item, +#g-item #g-photo, +#g-item #g-movie { + font-size: .7em; +} + +/* Links ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +a, +.g-menu a, +#g-dialog a, +.g-button, +.g-button:active { + color: #2e6e9e !important; /* fcDefault; */ + cursor: pointer !important; + text-decoration: none; + -moz-outline-style: none; +} + +a:hover, +.g-button:hover, +a.ui-state-hover, +input.ui-state-hover, +button.ui-state-hover { + color: #1d5987 !important; /* fcHover */ + text-decoration: none; + -moz-outline-style: none; +} + +a:hover, +#g-dialog a:hover { + text-decoration: underline; +} + +.g-menu a:hover { + text-decoration: none; +} + +#g-dialog #g-action-status li { + width: 400px; + white-space: normal; + padding-left: 32px; +} + +/* Tables ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +table { + width: 100%; +} + +#g-content table { + margin: 1em 0; +} + +caption, +th { + text-align: left; +} + +th, +td { + border: none; + border-bottom: 1px solid #aaaaaa; /* borderColorContent */ + padding: .5em; +} + +td { + vertical-align: top; +} + +.g-even { + background-color: #fcfdfd; /* bgColorContent */ +} + +.g-odd { + background-color: #dfeffc; /* bgColorDefault */ +} + +/** ******************************************************************* + * 2) Reusable content blocks + *********************************************************************/ + +.g-block h2 { + background-color: #dfeffc; /* bgColorDefault */ + padding: .3em .8em; +} + +.g-block-content { + margin-top: 1em; +} + +/*** ****************************************************************** + * 3) Page layout containers + *********************************************************************/ + +/* View container ~~~~~~~~~~~~~~~~~~~~~~~~ */ + +.g-view { + background-color: #fcfdfd; /* bgColorContent */ + border: 1px solid #a6c9e2; /* borderColorContent */ + border-bottom: none; +} + +/* Layout containers ~~~~~~~~~~~~~~~~~~~~~ */ + +#g-header { + margin-bottom: 1em; +} + +#g-banner { + background-color: #5c9ccc; /* bgColorHeader */ + border-bottom: 1px solid #4297d7; /* borderColorHeader */ + color: #ffffff; /* fcHeader */ + min-height: 5em; + padding: 1em 20px; + position: relative; +} + +#g-content { + padding-left: 20px; + position: relative; + width: 696px; +} + +#g-sidebar { + padding: 0 20px; + width: 220px; +} + +#g-footer { + background-color: #5c9ccc; /* bgColorHeader */ + border-top: 1px solid #4297d7; /* borderColorHeader */ + margin-top: 20px; + padding: 10px 20px; + color: #ffffff; /* fcHeader */ +} + +/* Status and validation messages ~~~~ */ + +.g-message-block { + border: 1px solid #a6c9e2; /* borderColorContent */ +} + +#g-site-status li { + border-bottom: 1px solid #a6c9e2; /* borderColorContent */ +} + +/* Breadcrumbs ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +.g-breadcrumbs li { + background: transparent url('../images/ico-separator.gif') no-repeat scroll left center; +} + +.g-breadcrumbs .g-first { + background: none; +} + +/* Pagination ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +.g-paginator { +} + +.g-paginator li { +} + +.g-paginator .g-info { + background: none; +} + +/* Dialogs and panels ~~~~~~~~~~~~~~~~~~ */ + +#g-dialog { + text-align: left; +} + +#g-dialog legend { + display: none; +} + +#g-dialog .g-cancel { + margin: .4em 1em; +} + +#g-panel { + display: none; + padding: 1em; +} + +/* Inline layout ~~~~~~~~~~ */ + +.g-inline li { + float: left; + margin-left: 1.8em; + padding-left: 0 !important; +} + +.g-inline li.g-first { + margin-left: 0; +} + +/** ******************************************************************* + * 4) Content blocks in specific layout containers + *********************************************************************/ + +/* Header ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#g-banner #g-quick-search-form { + clear: right; + float: right; + margin-top: 1em; +} + +#g-banner #g-quick-search-form input[type='text'] { + width: 17em; +} + +#g-content .g-block h2 { + background-color: transparent; + padding-left: 0; +} + +/* Sidebar ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#g-sidebar .g-block-content { + padding-left: 1em; +} + +#g-sidebar #g-image-block { + overflow: hidden; +} + +/* Album content ~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#g-content #g-album-grid { + margin: 1em 0; + position: relative; + z-index: 1; +} + +#g-content #g-album-grid .g-item { + background-color: #fcfdfd; /* bgColorContent */ + border: 1px solid #fcfdfd; /* bgColorContent */ + float: left; + padding: .6em 8px; + position: relative; + text-align: center; + width: 213px; + z-index: 1; +} + +#g-content #g-album-grid .g-item h2 { + margin: 5px 0; +} + +#g-content .g-photo h2, +#g-content .g-item .g-metadata { + display: none; + margin-bottom: .6em; +} + +#g-content #g-album-grid .g-album { + background-color: #dfeffc; /* bgColorDefault */ +} + +#g-content #g-album-grid .g-album h2 span.g-album { + background: transparent url('../images/ico-album.png') no-repeat top left; + display: inline-block; + height: 16px; + margin-right: 5px; + width: 16px; +} + +#g-content #g-album-grid .g-hover-item { + border: 1px solid #a6c9e2; /* borderColorContent */ + position: absolute !important; + z-index: 1000 !important; +} + +#g-content .g-hover-item h2, +#g-content .g-hover-item .g-metadata { + display: block; +} + +#g-content #g-album-grid #g-place-holder { + position: relative; + visibility: hidden; + z-index: 1; +} + +/* Search results ~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#g-content #g-search-results { + margin-top: 1em; + padding-top: 1em; +} + +/* Individual photo content ~~~~~~~~~~~~~~ */ + +#g-item { + position: relative; + width: 100%; +} + +#g-item #g-photo, +#g-item #g-movie { + padding: 2.2em 0; + position: relative; +} + +#g-item img.g-resize, +#g-item a.g-movie { + display: block; + margin: 0 auto; +} + +/* Footer content ~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#g-footer #g-credits li { + padding-right: 1.2em; +} + +/* In-line editing ~~~~~~~~~~~~~~~~~~~~~~ */ + +#g-in-place-edit-message { + background-color: #fcfdfd; /* bgColorContent */ +} + +/** ******************************************************************* + * 5) Navigation and menus + *********************************************************************/ + +/* Login menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#g-banner #g-login-menu { + color: #ffffff; /* fcHeader; */ + float: right; +} + +#g-banner #g-login-menu li { + padding-left: 1.2em; +} + +/* Site Menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#g-site-menu { + bottom: 0; + left: 140px; + position: absolute; +} + +#g-site-menu ul { + margin-bottom: 0 !important; +} + +/* Context Menu ~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +.g-context-menu { + background-color: #fcfdfd; /* bgColorContent */ + bottom: 0; + left: 0; + position: absolute; +} + +.g-item .g-context-menu { + display: none; + margin-top: 2em; + width: 100%; +} + +#g-item .g-context-menu ul { + display: none; +} + +.g-context-menu li { + border-left: none; + border-right: none; + border-bottom: none; +} + +.g-context-menu li a { + display: block; + line-height: 1.6em; +} + +.g-hover-item .g-context-menu { + display: block; +} + +.g-hover-item .g-context-menu li { + text-align: left; +} + +.g-hover-item .g-context-menu a:hover { + text-decoration: none; +} + +/* View Menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#g-view-menu { + margin-bottom: 1em; +} + +#g-view-menu a { + background-repeat: no-repeat; + background-position: 50% 50%; + height: 28px !important; + width: 43px !important; +} + +#g-view-menu #g-slideshow-link { + background-image: url('../images/ico-view-slideshow.png'); +} + +#g-view-menu .g-fullsize-link { + background-image: url('../images/ico-view-fullsize.png'); +} + +#g-view-menu #g-comments-link { + background-image: url('../images/ico-view-comments.png'); +} + +#g-view-menu #g-print-digibug-link { + background-image: url('../images/ico-print.png'); +} + +/** ******************************************************************* + * 6) jQuery and jQuery UI + *********************************************************************/ + +/* jQuery UI Dialog ~~~~~~~~~~~~~~~~~~~~~~ */ + +.ui-widget-overlay { + background: #aaaaaa; /* bgColorOverlay */ + opacity: .7; +} + +/* Rotate icon, ThemeRoller only provides one of these */ + +.ui-icon-rotate-ccw { + background-position: -192px -64px; +} + +.ui-icon-rotate-cw { + background-position: -208px -64px; +} + +/* Superfish menu overrides ~~~~~~~~~~~~~~ */ +.sf-menu a { + border-left:1px solid #a6c9e2; /* borderColorContent */ +} + +.sf-menu li, +.sf-menu li li, +.sf-menu li li ul li { + background-color: #dfeffc; /* bgColorDefault */ +} + +.sf-menu li:hover { + background-color: #d0e5f5; /* bgColorHover */ +} + +.sf-menu li:hover, +.sf-menu li.sfHover, +.sf-menu a:focus, +.sf-menu a:hover, +.sf-menu a:active { + background-color: #d0e5f5 !important; /* bgColorHover */ +} + +.sf-sub-indicator { + background-image: url("themeroller/images/ui-icons_2e83ff_256x240.png"); + height: 16px; + width: 16px; +} + +a > .sf-sub-indicator { + background-position: -64px -16px !important; + top: 0.6em; +} + +.sf-menu ul a > .sf-sub-indicator { + background-position: -32px -16px !important; +} + +/** ******************************************************************* + * 7) Forms + *********************************************************************/ +fieldset { + border: 1px solid #a6c9e2; /* borderColorContent */ +} + +legend { + font-weight: bold; + color: #2e6e9e; /* fcDefault; */ +} + +input.textbox, +input[type="text"], +input[type="password"], +textarea { + border: 1px solid #79b7e7; /* borderColorActive */ + border-top-color: #a6c9e2; /* borderColorContent */ + border-left-color: #a6c9e2; /* borderColorContent */ + color: #222222; /* fcContent */ +} + +input:focus, +input.textbox:focus, +input[type=text]:focus, +textarea:focus, +option:focus { + background-color: #f5f8f9 ; /* bgColorActive */ + color: #222222; /* fcContent */ +} + +/* Forms in dialogs and panels ~~~~~~~~~ */ + +label, +input[readonly] { + background-color: #fcfdfd; /* bgColorContent */ + color: #2e6e9e; /* fcDefault; */ +} + +/* Short forms ~~~~~~~~~~~~~~~~~~~~~~~ */ + +.g-short-form .textbox, +.g-short-form input[type=text] { + color: #222222; /* fcContent */ +} + +.g-short-form .textbox.g-error { + border: 1px solid #cd0a0a; /* borderColorError */ + color: #cd0a0a; /* fcError */ +} + +/** ******************************************************************* + * 8) States and interactions + *********************************************************************/ + +.g-active, +.g-enabled, +.g-available, +.g-selected, +.g-highlight { + font-weight: bold; +} + +.g-inactive, +.g-disabled, +.g-unavailable, +.g-uneditable, +.g-locked, +.g-deselected, +.g-understate { + color: #a6c9e2; /* borderColorContent */ + font-weight: normal; +} + +.g-editable:hover { + background-color: #f5f8f9; /* bgColorActive */ +} + +form li.g-error, +form li.g-info, +form li.g-success, +form li.g-warning { + background-image: none; +} + + +form.g-error input[type="text"], +li.g-error input[type="text"], +form.g-error input[type="password"], +li.g-error input[type="password"], +form.g-error input[type="checkbox"], +li.g-error input[type="checkbox"], +form.g-error input[type="radio"], +li.g-error input[type="radio"], +form.g-error textarea, +li.g-error textarea, +form.g-error select, +li.g-error select { + border: 2px solid #cd0a0a; /* fcError */; +} + +.g-error, +.g-denied, +tr.g-error td.g-error, +#g-add-photos-status .g-error { + background: #cd0a0a /* borderColorError */ url('../images/ico-error.png') no-repeat .4em 50%; + color: #cd0a0a; /* fcError */;; +} + +.g-info { + background: #fcfdfd /* bgColorContent */ url('../images/ico-info.png') no-repeat .4em 50%; +} + +.g-success, +.g-allowed, +#g-add-photos-status .g-success { + background: #fcfdfd /* bgColorContent */ url('../images/ico-success.png') no-repeat .4em 50%; +} + +tr.g-success { + background-image: none; +} + +tr.g-success td.g-success { + background-image: url('../images/ico-success.png'); +} + +.g-warning, +tr.g-warning td.g-warning { + background: #fbec88 /* bgColorHighlight */ url('../images/ico-warning.png') no-repeat .4em 50%; +} + +form .g-error { + background-color: #fef1ec; /* bgColorError */ +} + +.g-default { + background-color: #dfeffc; /* bgColorDefault */ + font-weight: bold; +} + +.g-draggable:hover { + border: 1px dashed #fbec88; /* bgColorHighlight */ +} + +.ui-sortable .g-target, +.ui-state-highlight { + background-color: #fbec88; /* bgColorHighlight */ + border: 2px dotted #fad42e; /* borderColorHighlight */ +} + +/* Ajax loading indicator ~~~~~~~~~~~~~~~~ */ + +.g-loading-large, +.g-dialog-loading-large { + background: #fcfdfd /* bgColorContent */ url('../images/loading-large.gif') no-repeat center center !important; +} + +.g-loading-small { + background: #fcfdfd /* bgColorContent */ url('../images/loading-small.gif') no-repeat center center !important; +} + +/** ******************************************************************* + * 9) Right to left language styles + *********************************************************************/ + +.rtl #g-header #g-login-menu, +.rtl #g-header #g-quick-search-form { + clear: left; + float: left; +} + +.rtl #g-header #g-login-menu li { + margin-left: 0; + padding-left: 0; + padding-right: 1.2em; +} + +.rtl #g-site-menu { + left: auto; + right: 150px; +} + +.rtl #g-view-menu #g-slideshow-link { + background-image: url('../images/ico-view-slideshow-rtl.png'); +} + +.rtl #g-sidebar .g-block-content { + padding-right: 1em; + padding-left: 0; +} + +.rtl #g-footer #g-credits li { + padding-left: 1.2em !important; + padding-right: 0; +} + +.rtl .g-breadcrumbs li { + background: transparent url('../images/ico-separator-rtl.gif') no-repeat scroll right center; +} + +.rtl .g-breadcrumbs .g-first { + background: none; +} + +/* RTL Corner radius ~~~~~~~~~~~~~~~~~~~~~~ */ +.rtl .g-buttonset .ui-corner-tl { + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-topright: 5px !important; + -webkit-border-top-right-radius: 5px !important; + border-top-right-radius: 5px !important; +} + +.rtl .g-buttonset .ui-corner-tr { + -moz-border-radius-topright: 0; + -webkit-border-top-right-radius: 0; + border-top-right-radius: 0; + -moz-border-radius-topleft: 5px !important; + -webkit-border-top-left-radius: 5px !important; + border-top-left-radius: 5px !important; +} + +.rtl .g-buttonset .ui-corner-bl { + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 5px !important; + -webkit-border-bottom-right-radius: 5px !important; + border-bottom-right-radius: 5px !important; +} + +.rtl .g-buttonset .ui-corner-br { + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; + -moz-border-radius-bottomleft: 5px !important; + -webkit-border-bottom-left-radius: 5px !important; + border-bottom-left-radius: 5px !important; +} + +.rtl .g-buttonset .ui-corner-right, +.rtl .ui-progressbar .ui-corner-right { + -moz-border-radius-topright: 0; + -webkit-border-top-right-radius: 0; + border-top-right-radius: 0; + -moz-border-radius-topleft: 5px !important; + -webkit-border-top-left-radius: 5px !important; + border-top-left-radius: 5px !important; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; + -moz-border-radius-bottomleft: 5px !important; + -webkit-border-bottom-left-radius: 5px !important; + border-bottom-left-radius: 5px !important; +} + +.rtl .g-buttonset .ui-corner-left, +.rtl .ui-progressbar .ui-corner-left { + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-topright: 5px !important; + -webkit-border-top-right-radius: 5px !important; + border-top-right-radius: 5px !important; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 5px !important; + -webkit-border-bottom-right-radius: 5px !important; + border-bottom-right-radius: 5px !important; +} + +/* RTL Superfish ~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +.rtl .sf-menu a { + border-right:1px solid #fad42e; /* borderColorHighlight */ +} + +.rtl .sf-sub-indicator { + background: url("themeroller/images/ui-icons_2e83ff_256x240.png") no-repeat -96px -16px; /* 8-bit indexed alpha png. IE6 gets solid image only */ +} + +/*** shadows for all but IE6 ***/ +.rtl .sf-shadow ul { + background: url('../images/superfish-shadow.png') no-repeat bottom left; + border-top-right-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-topright: 0; + -moz-border-radius-bottomleft: 0; + -webkit-border-top-right-radius: 0; + -webkit-border-bottom-left-radius: 0; + -moz-border-radius-topleft: 17px; + -moz-border-radius-bottomright: 17px; + -webkit-border-top-left-radius: 17px; + -webkit-border-bottom-right-radius: 17px; + border-top-left-radius: 17px; + border-bottom-right-radius: 17px; +}