- Música en inicio

- Fotos de portada
- Resto de secciones

git-svn-id: https://192.168.0.254/svn/Proyectos.OriginalHouse_Web/trunk@27 54e8636e-a86c-764f-903d-b964358a1ae2
This commit is contained in:
David Arranz 2011-07-13 16:58:09 +00:00
parent b0dc725cdd
commit 91e73f8719
233 changed files with 17352 additions and 277 deletions

File diff suppressed because one or more lines are too long

BIN
información/intro.mp3 Normal file

Binary file not shown.

BIN
información/intro.ogg Normal file

Binary file not shown.

BIN
información/intro.wav Normal file

Binary file not shown.

View File

@ -8,7 +8,7 @@
<body>
<h1 id="logo" style="text-align: center">
<img alt="WordPress" src="wp-admin/images/wordpress-logo.png" />
<br /> Versión 3.2
<br /> Versión 3.2.1
</h1>
<p style="text-align: center"> Plataforma Semántica de Publicación Personal</p>

File diff suppressed because one or more lines are too long

View File

@ -207,7 +207,7 @@ div.postbox div.inside {
#dashboard_recent_comments .comment-meta .approve {
font-style: italic;
font-family: Arial, "Bitstream Vera Sans", Helvetica, Verdana, sans-serif;
font-family: sans-serif;
font-size: 10px;
}
@ -274,7 +274,7 @@ div.postbox div.inside {
/* QuickPress */
#dashboard_quick_press h4 {
font-family: Arial, "Bitstream Vera Sans", Helvetica, Verdana, sans-serif;
font-family: sans-serif;
float: left;
width: 5.5em;
clear: both;
@ -344,7 +344,7 @@ div.postbox div.inside {
#dashboard_recent_drafts h4 abbr {
font-weight: normal;
font-family: Arial, "Bitstream Vera Sans", Helvetica, Verdana, sans-serif;
font-family: sans-serif;
font-size: 12px;
color: #999;
margin-left: 3px;
@ -458,6 +458,7 @@ a.rsswidget {
#dashboard_browser_nag.postbox.browser-insecure h3 {
border-bottom-color: #cd5a5a;
color: #fff;
}
#dashboard_browser_nag.postbox h3 {
@ -467,6 +468,7 @@ a.rsswidget {
-webkit-box-shadow: none;
box-shadow: none;
background: transparent none;
color: #fff;
}
#dashboard_browser_nag a {

View File

@ -1 +1 @@
#wpcontent{margin-left:0;margin-right:165px;}.wp-admin #footer{margin-left:15px;margin-right:165px;}.folded #wpcontent{margin-left:0;margin-right:52px;}.folded.wp-admin #footer{margin-left:15px;margin-right:52px;}#wpbody-content{float:right;}#adminmenuwrap{float:right;}#adminmenu{clear:right;}.inner-sidebar{float:left;clear:left;}.has-right-sidebar #post-body{float:right;clear:right;margin-right:0;margin-left:-340px;}.has-right-sidebar #post-body-content{margin-right:0;margin-left:300px;}#col-right{float:left;clear:left;}.alignleft{float:right;}.alignright{float:left;}.textleft{text-align:right;}.textright{text-align:left;}.screen-reader-text,.screen-reader-text span{left:auto;right:-1000em;}body,td,textarea,input,select{font-family:Tahoma,Arial,sans-serif;}ul.ul-disc,ul.ul-square,ol.ol-decimal{margin-left:0;margin-right:1.8em;}.subsubsub{float:right;}.widefat thead th:first-of-type{-moz-border-radius-topleft:0;-moz-border-radius-topright:3px;-khtml-border-top-left-radius:0;-khtml-border-top-right-radius:3px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:3px;border-top-left-radius:0;border-top-right-radius:3px;}.widefat thead th:last-of-type{-moz-border-radius-topright:0;-moz-border-radius-topleft:3px;-khtml-border-top-right-radius:0;-khtml-border-top-left-radius:3px;-webkit-border-top-right-radius:0;-webkit-border-top-left-radius:3px;border-top-right-radius:0;border-top-left-radius:3px;}.widefat tfoot th:first-of-type{-moz-border-radius-bottomleft:0;-moz-border-radius-bottomright:3px;-khtml-border-bottom-left-radius:0;-khtml-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:3px;border-bottom-left-radius:0;border-bottom-right-radius:3px;}.widefat tfoot th:last-of-type{-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:3px;-khtml-border-bottom-right-radius:0;-khtml-border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:3px;}.widefat th{text-align:right;}.widefat th input{margin:0 8px 0 0;}.wrap{margin:0 0 0 15px;}.wrap h2,.subtitle{font-family:Tahoma,Arial,sans-serif;}.wrap h2{padding:9px 0 4px 15px;}.subtitle{padding-left:0;padding-right:25px;}.wrap .add-new-h2{font-family:Tahoma,Arial,sans-serif;margin-left:0;margin-right:4px;}.wrap h2.long-header{padding-left:0;}
#wpcontent{margin-left:0;margin-right:165px;}.wp-admin #footer{margin-left:15px;margin-right:165px;}.js.folded #wpcontent{margin-left:0;margin-right:52px;}.js.folded.wp-admin #footer{margin-left:15px;margin-right:52px;}#wpbody-content{float:right;}#adminmenuwrap{float:right;}#adminmenu{clear:right;}.inner-sidebar{float:left;clear:left;}.has-right-sidebar #post-body{float:right;clear:right;margin-right:0;margin-left:-340px;}.has-right-sidebar #post-body-content{margin-right:0;margin-left:300px;}#col-right{float:left;clear:left;}.alignleft{float:right;}.alignright{float:left;}.textleft{text-align:right;}.textright{text-align:left;}.screen-reader-text,.screen-reader-text span{left:auto;right:-1000em;}body,td,textarea,input,select{font-family:Tahoma,Arial,sans-serif;}ul.ul-disc,ul.ul-square,ol.ol-decimal{margin-left:0;margin-right:1.8em;}.subsubsub{float:right;}.widefat thead th:first-of-type{-moz-border-radius-topleft:0;-moz-border-radius-topright:3px;-khtml-border-top-left-radius:0;-khtml-border-top-right-radius:3px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:3px;border-top-left-radius:0;border-top-right-radius:3px;}.widefat thead th:last-of-type{-moz-border-radius-topright:0;-moz-border-radius-topleft:3px;-khtml-border-top-right-radius:0;-khtml-border-top-left-radius:3px;-webkit-border-top-right-radius:0;-webkit-border-top-left-radius:3px;border-top-right-radius:0;border-top-left-radius:3px;}.widefat tfoot th:first-of-type{-moz-border-radius-bottomleft:0;-moz-border-radius-bottomright:3px;-khtml-border-bottom-left-radius:0;-khtml-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:3px;border-bottom-left-radius:0;border-bottom-right-radius:3px;}.widefat tfoot th:last-of-type{-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:3px;-khtml-border-bottom-right-radius:0;-khtml-border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:3px;}.widefat th{text-align:right;}.widefat th input{margin:0 8px 0 0;}.wrap{margin:0 0 0 15px;}.wrap h2,.subtitle{font-family:Tahoma,Arial,sans-serif;}.wrap h2{padding:9px 0 4px 15px;}.subtitle{padding-left:0;padding-right:25px;}.wrap .add-new-h2{font-family:Tahoma,Arial,sans-serif;margin-left:0;margin-right:4px;}.wrap h2.long-header{padding-left:0;}

View File

@ -11,12 +11,12 @@
margin-right: 165px;
}
.folded #wpcontent {
.js.folded #wpcontent {
margin-left: 0;
margin-right: 52px;
}
.folded.wp-admin #footer {
.js.folded.wp-admin #footer {
margin-left: 15px;
margin-right: 52px;
}

File diff suppressed because one or more lines are too long

View File

@ -71,7 +71,7 @@ table {
#wpcontent,
#footer {
margin-left: 160px;
margin-left: 165px;
}
#wpbody-content {
@ -241,7 +241,7 @@ td,
textarea,
input,
select {
font-family: Arial, "Bitstream Vera Sans", Helvetica, Verdana, sans-serif;
font-family: sans-serif;
font-size: 13px;
}
@ -519,7 +519,7 @@ div.error p {
.wrap h2,
.subtitle {
font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", sans-serif;
font-weight: normal;
margin: 0;
text-shadow: rgba(255,255,255,1) 0 1px 0;
@ -534,7 +534,7 @@ div.error p {
padding-left: 25px;
}
.wrap .add-new-h2 {
font-family: Arial, "Bitstream Vera Sans", Helvetica, Verdana, sans-serif;
font-family: sans-serif;
margin-left: 4px;
padding: 3px 8px;
position: relative;

View File

@ -1 +1 @@
html{background:#f9f9f9;}body{background:#fff;color:#333;font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;margin:2em auto;width:700px;padding:1em 2em;-moz-border-radius:11px;-khtml-border-radius:11px;-webkit-border-radius:11px;border-radius:11px;border:1px solid #dfdfdf;}a{color:#2583ad;text-decoration:none;}a:hover{color:#d54e21;}h1{border-bottom:1px solid #dadada;clear:both;color:#666;font:24px Georgia,"Times New Roman",Times,serif;margin:5px 0 0 -4px;padding:0;padding-bottom:7px;}h2{font-size:16px;}p,li,dd,dt{padding-bottom:2px;font-size:12px;line-height:18px;}code,.code{font-size:13px;}ul,ol,dl{padding:5px 5px 5px 22px;}a img{border:0;}abbr{border:0;font-variant:normal;}#logo{margin:6px 0 14px 0;border-bottom:none;text-align:center;}.step{margin:20px 0 15px;}.step,th{text-align:left;padding:0;}.submit input,.button,.button-secondary{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;text-decoration:none;font-size:14px!important;line-height:16px;padding:6px 12px;cursor:pointer;border:1px solid #bbb;color:#464646;-moz-border-radius:15px;-khtml-border-radius:15px;-webkit-border-radius:15px;border-radius:15px;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;-khtml-box-sizing:content-box;box-sizing:content-box;}.button:hover,.button-secondary:hover,.submit input:hover{color:#000;border-color:#666;}.button,.submit input,.button-secondary{background:#f2f2f2 url(../images/white-grad.png) repeat-x scroll left top;}.button:active,.submit input:active,.button-secondary:active{background:#eee url(../images/white-grad-active.png) repeat-x scroll left top;}textarea{border:1px solid #bbb;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.form-table{border-collapse:collapse;margin-top:1em;width:100%;}.form-table td{margin-bottom:9px;padding:10px;border-bottom:8px solid #fff;font-size:12px;}.form-table th{font-size:13px;text-align:left;padding:16px 10px 10px 10px;border-bottom:8px solid #fff;width:130px;vertical-align:top;}.form-table tr{background:#f3f3f3;}.form-table code{line-height:18px;font-size:18px;}.form-table p{margin:4px 0 0 0;font-size:11px;}.form-table input{line-height:20px;font-size:15px;padding:2px;}.form-table th p{font-weight:normal;}#error-page{margin-top:50px;}#error-page p{font-size:12px;line-height:18px;margin:25px 0 20px;}#error-page code,.code{font-family:Consolas,Monaco,monospace;}#pass-strength-result{background-color:#eee;border-color:#ddd!important;border-style:solid;border-width:1px;margin:5px 5px 5px 1px;padding:5px;text-align:center;width:200px;display:none;}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important;}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important;}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important;}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important;}.message{border:1px solid #e6db55;padding:.3em .6em;margin:5px 0 15px;background-color:#ffffe0;}
html{background:#f9f9f9;}body{background:#fff;color:#333;font-family:sans-serif;margin:2em auto;width:700px;padding:1em 2em;-moz-border-radius:11px;-khtml-border-radius:11px;-webkit-border-radius:11px;border-radius:11px;border:1px solid #dfdfdf;}a{color:#2583ad;text-decoration:none;}a:hover{color:#d54e21;}h1{border-bottom:1px solid #dadada;clear:both;color:#666;font:24px Georgia,"Times New Roman",Times,serif;margin:5px 0 0 -4px;padding:0;padding-bottom:7px;}h2{font-size:16px;}p,li,dd,dt{padding-bottom:2px;font-size:12px;line-height:18px;}code,.code{font-size:13px;}ul,ol,dl{padding:5px 5px 5px 22px;}a img{border:0;}abbr{border:0;font-variant:normal;}#logo{margin:6px 0 14px 0;border-bottom:none;text-align:center;}.step{margin:20px 0 15px;}.step,th{text-align:left;padding:0;}.submit input,.button,.button-secondary{font-family:sans-serif;text-decoration:none;font-size:14px!important;line-height:16px;padding:6px 12px;cursor:pointer;border:1px solid #bbb;color:#464646;-moz-border-radius:15px;-khtml-border-radius:15px;-webkit-border-radius:15px;border-radius:15px;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;-khtml-box-sizing:content-box;box-sizing:content-box;}.button:hover,.button-secondary:hover,.submit input:hover{color:#000;border-color:#666;}.button,.submit input,.button-secondary{background:#f2f2f2 url(../images/white-grad.png) repeat-x scroll left top;}.button:active,.submit input:active,.button-secondary:active{background:#eee url(../images/white-grad-active.png) repeat-x scroll left top;}textarea{border:1px solid #bbb;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.form-table{border-collapse:collapse;margin-top:1em;width:100%;}.form-table td{margin-bottom:9px;padding:10px;border-bottom:8px solid #fff;font-size:12px;}.form-table th{font-size:13px;text-align:left;padding:16px 10px 10px 10px;border-bottom:8px solid #fff;width:130px;vertical-align:top;}.form-table tr{background:#f3f3f3;}.form-table code{line-height:18px;font-size:18px;}.form-table p{margin:4px 0 0 0;font-size:11px;}.form-table input{line-height:20px;font-size:15px;padding:2px;}.form-table th p{font-weight:normal;}#error-page{margin-top:50px;}#error-page p{font-size:12px;line-height:18px;margin:25px 0 20px;}#error-page code,.code{font-family:Consolas,Monaco,monospace;}#pass-strength-result{background-color:#eee;border-color:#ddd!important;border-style:solid;border-width:1px;margin:5px 5px 5px 1px;padding:5px;text-align:center;width:200px;display:none;}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important;}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important;}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important;}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important;}.message{border:1px solid #e6db55;padding:.3em .6em;margin:5px 0 15px;background-color:#ffffe0;}

View File

@ -5,7 +5,7 @@ html {
body {
background: #fff;
color: #333;
font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif;
font-family: sans-serif;
margin: 2em auto;
width: 700px;
padding: 1em 2em;
@ -74,7 +74,7 @@ abbr {
}
.submit input, .button, .button-secondary {
font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif;
font-family: sans-serif;
text-decoration: none;
font-size: 14px !important;
line-height: 16px;

View File

@ -1 +1 @@
*{margin:0;padding:0;}html{background:#fbfbfb!important;}body{padding-top:30px;font-family:Arial,"Bitstream Vera Sans",Helvetica,Verdana,sans-serif;font-size:12px;}form{margin-left:8px;padding:26px 24px 46px;font-weight:normal;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background:#fff;border:1px solid #e5e5e5;-moz-box-shadow:rgba(200,200,200,0.7) 0 4px 10px -1px;-webkit-box-shadow:rgba(200,200,200,0.7) 0 4px 10px -1px;-khtml-box-shadow:rgba(200,200,200,0.7) 0 4px 10px -1px;box-shadow:rgba(200,200,200,0.7) 0 4px 10px -1px;}form .forgetmenot{font-weight:normal;float:left;margin-bottom:0;}.button-primary{font-family:Arial,"Bitstream Vera Sans",Helvetica,Verdana,sans-serif;padding:3px 10px;border:none;font-size:13px;border-width:1px;border-style:solid;-moz-border-radius:11px;-khtml-border-radius:11px;-webkit-border-radius:11px;border-radius:11px;cursor:pointer;text-decoration:none;margin-top:-3px;}#login form p{margin-bottom:0;}label{color:#777;font-size:14px;}form .forgetmenot label{font-size:12px;line-height:19px;}form .submit,.alignright{float:right;}form p{margin-bottom:24px;}h1 a{background:url(../images/logo-login.png) no-repeat top center;width:326px;height:67px;text-indent:-9999px;overflow:hidden;padding-bottom:15px;display:block;}#login{width:320px;margin:7em auto;}#login_error,.message{margin:0 0 16px 8px;border-width:1px;border-style:solid;padding:12px;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}#nav,#backtoblog{text-shadow:rgba(255,255,255,1) 0 1px 0;margin:0 0 0 16px;padding:16px 16px 0;}#backtoblog{padding:12px 16px 0;}body form .input{font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:200;font-size:24px;width:97%;padding:3px;margin-top:2px;margin-right:6px;margin-bottom:16px;border:1px solid #e5e5e5;background:#fbfbfb;outline:none;-moz-box-shadow:inset 1px 1px 2px rgba(200,200,200,0.2);-webkit-box-shadow:inset 1px 1px 2px rgba(200,200,200,0.2);box-shadow:inset 1px 1px 2px rgba(200,200,200,0.2);}input{color:#555;}.clear{clear:both;}#pass-strength-result{font-weight:bold;border-style:solid;border-width:1px;margin:12px 0 6px;padding:6px 5px;text-align:center;}
*{margin:0;padding:0;}html{background:#fbfbfb!important;}body{padding-top:30px;font-family:sans-serif;font-size:12px;}form{margin-left:8px;padding:26px 24px 46px;font-weight:normal;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background:#fff;border:1px solid #e5e5e5;-moz-box-shadow:rgba(200,200,200,0.7) 0 4px 10px -1px;-webkit-box-shadow:rgba(200,200,200,0.7) 0 4px 10px -1px;-khtml-box-shadow:rgba(200,200,200,0.7) 0 4px 10px -1px;box-shadow:rgba(200,200,200,0.7) 0 4px 10px -1px;}form .forgetmenot{font-weight:normal;float:left;margin-bottom:0;}.button-primary{font-family:sans-serif;padding:3px 10px;border:none;font-size:13px;border-width:1px;border-style:solid;-moz-border-radius:11px;-khtml-border-radius:11px;-webkit-border-radius:11px;border-radius:11px;cursor:pointer;text-decoration:none;margin-top:-3px;}#login form p{margin-bottom:0;}label{color:#777;font-size:14px;}form .forgetmenot label{font-size:12px;line-height:19px;}form .submit,.alignright{float:right;}form p{margin-bottom:24px;}h1 a{background:url(../images/logo-login.png) no-repeat top center;width:326px;height:67px;text-indent:-9999px;overflow:hidden;padding-bottom:15px;display:block;}#login{width:320px;margin:7em auto;}#login_error,.message{margin:0 0 16px 8px;border-width:1px;border-style:solid;padding:12px;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}#nav,#backtoblog{text-shadow:rgba(255,255,255,1) 0 1px 0;margin:0 0 0 16px;padding:16px 16px 0;}#backtoblog{padding:12px 16px 0;}body form .input{font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",sans-serif;font-weight:200;font-size:24px;width:97%;padding:3px;margin-top:2px;margin-right:6px;margin-bottom:16px;border:1px solid #e5e5e5;background:#fbfbfb;outline:none;-moz-box-shadow:inset 1px 1px 2px rgba(200,200,200,0.2);-webkit-box-shadow:inset 1px 1px 2px rgba(200,200,200,0.2);box-shadow:inset 1px 1px 2px rgba(200,200,200,0.2);}input{color:#555;}.clear{clear:both;}#pass-strength-result{font-weight:bold;border-style:solid;border-width:1px;margin:12px 0 6px;padding:6px 5px;text-align:center;}

View File

@ -6,7 +6,7 @@ html {
body {
padding-top: 30px;
font-family: Arial, "Bitstream Vera Sans", Helvetica, Verdana, sans-serif;
font-family: sans-serif;
font-size: 12px;
}
@ -33,7 +33,7 @@ form .forgetmenot {
}
.button-primary {
font-family: Arial, "Bitstream Vera Sans", Helvetica, Verdana, sans-serif;
font-family: sans-serif;
padding: 3px 10px;
border: none;
font-size: 13px;
@ -109,7 +109,7 @@ h1 a {
}
body form .input {
font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", sans-serif;
font-weight: 200;
font-size: 24px;
width: 97%;

View File

@ -1 +1 @@
div#media-upload-header{margin:0;padding:0 5px;font-weight:bold;position:relative;border-bottom-width:1px;border-bottom-style:solid;}body#media-upload ul#sidemenu{font-weight:normal;margin:0 5px;left:0;bottom:-1px;float:none;overflow:hidden;}div#media-upload-error{margin:1em;font-weight:bold;}form{margin:1em;}#search-filter{text-align:right;}th{position:relative;}.media-upload-form label.form-help,td.help{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;font-style:italic;font-weight:normal;}.media-upload-form p.help{margin:0;padding:0;}.media-upload-form fieldset{width:100%;border:none;text-align:justify;margin:0 0 1em 0;padding:0;}.image-align-none-label{background:url(../images/align-none.png) no-repeat center left;}.image-align-left-label{background:url(../images/align-left.png) no-repeat center left;}.image-align-center-label{background:url(../images/align-center.png) no-repeat center left;}.image-align-right-label{background:url(../images/align-right.png) no-repeat center left;}tr.image-size td{width:460px;}tr.image-size div.image-size-item{float:left;width:25%;margin:0;}#library-form .progress,#gallery-form .progress,.insert-gallery,.describe.startopen,.describe.startclosed{display:none;}.media-item .thumbnail{max-width:128px;max-height:128px;}thead.media-item-info tr{background-color:transparent;}thead.media-item-info th,thead.media-item-info td{border:none;margin:0;}.form-table thead.media-item-info{border:8px solid #fff;}abbr.required{text-decoration:none;border:none;}.describe label{display:inline;}.describe td{vertical-align:middle;padding:0 5px 8px 0;}.describe td.error{padding:2px 8px;}.describe td.A1{width:132px;}.describe input[type="text"],.describe textarea{width:460px;border-width:1px;border-style:solid;}.hidden{height:0;width:0;overflow:hidden;border:none;}#media-upload p.ml-submit{padding:1em 0;}#media-upload p.help,#media-upload label.help{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;font-style:italic;font-weight:normal;}#media-upload tr.image-size td.field{text-align:center;}#media-upload #media-items{border-width:1px;border-style:solid;border-bottom:none;width:623px;}#media-upload .media-item{border-bottom-width:1px;border-bottom-style:solid;min-height:36px;width:100%;}#media-upload .ui-sortable .media-item{cursor:move;}.filename{line-height:36px;padding:0 10px;overflow:hidden;}#media-upload .describe{width:100%;clear:both;cursor:default;}#media-upload .slidetoggle{border-top-width:1px;border-top-style:solid;}#media-upload .describe th.label{padding-top:.2em;text-align:left;min-width:120px;}#media-upload tr.align td.field{text-align:center;}#media-upload tr.image-size{margin-bottom:1em;height:3em;}#media-upload #filter{width:623px;}#media-upload #filter .subsubsub{margin:8px 0;}#filter .tablenav select{border-style:solid;border-width:1px;padding:2px;vertical-align:top;width:auto;}#media-upload .del-attachment{display:none;margin:5px 0;}.menu_order{float:right;font-size:11px;margin:10px 10px 0;}.menu_order_input{border:1px solid #ddd;font-size:10px;padding:1px;width:23px;}.ui-sortable-helper{background-color:#fff;border:1px solid #aaa;opacity:.6;filter:alpha(opacity=60);}#media-upload th.order-head{width:20%;text-align:center;}#media-upload th.actions-head{width:25%;text-align:center;}#media-upload a.wp-post-thumbnail{margin:0 20px;}#media-items a.delete{display:block;float:right;}#media-upload .widefat{width:626px;border-style:solid solid none;}.sorthelper{height:37px;width:623px;display:block;}#gallery-settings th.label{width:160px;}#gallery-settings #basic th.label{padding:5px 5px 5px 0;}#gallery-settings .title{clear:both;padding:0 0 3px;font-size:1.6em;border-bottom:1px solid #DADADA;}h3.media-title{font-size:1.6em;}h4.media-sub-title{border-bottom:1px solid #DADADA;font-size:1.3em;margin:12px;padding:0 0 3px;}#gallery-settings .title,h3.media-title,h4.media-sub-title{font-family:Georgia,"Times New Roman",Times,serif;font-weight:normal;color:#5A5A5A;}#gallery-settings .describe td{vertical-align:middle;height:3em;}#gallery-settings .describe th.label{padding-top:.5em;text-align:left;}#gallery-settings .describe{padding:5px;width:615px;clear:both;cursor:default;}#gallery-settings .describe select{width:15em;}#gallery-settings .describe select option,#gallery-settings .describe td{padding:0;}#gallery-settings label,#gallery-settings legend{font-size:13px;color:#464646;margin-right:15px;}#gallery-settings .align .field label{margin:0 1.5em 0 0;}#gallery-settings p.ml-submit{border-top:1px solid #dfdfdf;}#gallery-settings select#columns{width:6em;}#sort-buttons{font-size:.8em;margin:3px 25px -8px 0;text-align:right;max-width:625px;}#sort-buttons a{text-decoration:none;}#sort-buttons #asc,#sort-buttons #showall{padding-left:5px;}#sort-buttons span{margin-right:25px;}
div#media-upload-header{margin:0;padding:0 5px;font-weight:bold;position:relative;border-bottom-width:1px;border-bottom-style:solid;}body#media-upload ul#sidemenu{font-weight:normal;margin:0 5px;left:0;bottom:-1px;float:none;overflow:hidden;}div#media-upload-error{margin:1em;font-weight:bold;}form{margin:1em;}#search-filter{text-align:right;}th{position:relative;}.media-upload-form label.form-help,td.help{font-family:sans-serif;font-style:italic;font-weight:normal;}.media-upload-form p.help{margin:0;padding:0;}.media-upload-form fieldset{width:100%;border:none;text-align:justify;margin:0 0 1em 0;padding:0;}.image-align-none-label{background:url(../images/align-none.png) no-repeat center left;}.image-align-left-label{background:url(../images/align-left.png) no-repeat center left;}.image-align-center-label{background:url(../images/align-center.png) no-repeat center left;}.image-align-right-label{background:url(../images/align-right.png) no-repeat center left;}tr.image-size td{width:460px;}tr.image-size div.image-size-item{float:left;width:25%;margin:0;}#library-form .progress,#gallery-form .progress,.insert-gallery,.describe.startopen,.describe.startclosed{display:none;}.media-item .thumbnail{max-width:128px;max-height:128px;}thead.media-item-info tr{background-color:transparent;}thead.media-item-info th,thead.media-item-info td{border:none;margin:0;}.form-table thead.media-item-info{border:8px solid #fff;}abbr.required{text-decoration:none;border:none;}.describe label{display:inline;}.describe td{vertical-align:middle;padding:0 5px 8px 0;}.describe td.error{padding:2px 8px;}.describe td.A1{width:132px;}.describe input[type="text"],.describe textarea{width:460px;border-width:1px;border-style:solid;}.hidden{height:0;width:0;overflow:hidden;border:none;}#media-upload p.ml-submit{padding:1em 0;}#media-upload p.help,#media-upload label.help{font-family:sans-serif;font-style:italic;font-weight:normal;}#media-upload tr.image-size td.field{text-align:center;}#media-upload #media-items{border-width:1px;border-style:solid;border-bottom:none;width:623px;}#media-upload .media-item{border-bottom-width:1px;border-bottom-style:solid;min-height:36px;width:100%;}#media-upload .ui-sortable .media-item{cursor:move;}.filename{line-height:36px;padding:0 10px;overflow:hidden;}#media-upload .describe{width:100%;clear:both;cursor:default;}#media-upload .slidetoggle{border-top-width:1px;border-top-style:solid;}#media-upload .describe th.label{padding-top:.2em;text-align:left;min-width:120px;}#media-upload tr.align td.field{text-align:center;}#media-upload tr.image-size{margin-bottom:1em;height:3em;}#media-upload #filter{width:623px;}#media-upload #filter .subsubsub{margin:8px 0;}#filter .tablenav select{border-style:solid;border-width:1px;padding:2px;vertical-align:top;width:auto;}#media-upload .del-attachment{display:none;margin:5px 0;}.menu_order{float:right;font-size:11px;margin:10px 10px 0;}.menu_order_input{border:1px solid #ddd;font-size:10px;padding:1px;width:23px;}.ui-sortable-helper{background-color:#fff;border:1px solid #aaa;opacity:.6;filter:alpha(opacity=60);}#media-upload th.order-head{width:20%;text-align:center;}#media-upload th.actions-head{width:25%;text-align:center;}#media-upload a.wp-post-thumbnail{margin:0 20px;}#media-items a.delete{display:block;float:right;}#media-upload .widefat{width:626px;border-style:solid solid none;}.sorthelper{height:37px;width:623px;display:block;}#gallery-settings th.label{width:160px;}#gallery-settings #basic th.label{padding:5px 5px 5px 0;}#gallery-settings .title{clear:both;padding:0 0 3px;font-size:1.6em;border-bottom:1px solid #DADADA;}h3.media-title{font-size:1.6em;}h4.media-sub-title{border-bottom:1px solid #DADADA;font-size:1.3em;margin:12px;padding:0 0 3px;}#gallery-settings .title,h3.media-title,h4.media-sub-title{font-family:Georgia,"Times New Roman",Times,serif;font-weight:normal;color:#5A5A5A;}#gallery-settings .describe td{vertical-align:middle;height:3em;}#gallery-settings .describe th.label{padding-top:.5em;text-align:left;}#gallery-settings .describe{padding:5px;width:615px;clear:both;cursor:default;}#gallery-settings .describe select{width:15em;}#gallery-settings .describe select option,#gallery-settings .describe td{padding:0;}#gallery-settings label,#gallery-settings legend{font-size:13px;color:#464646;margin-right:15px;}#gallery-settings .align .field label{margin:0 1.5em 0 0;}#gallery-settings p.ml-submit{border-top:1px solid #dfdfdf;}#gallery-settings select#columns{width:6em;}#sort-buttons{font-size:.8em;margin:3px 25px -8px 0;text-align:right;max-width:625px;}#sort-buttons a{text-decoration:none;}#sort-buttons #asc,#sort-buttons #showall{padding-left:5px;}#sort-buttons span{margin-right:25px;}

View File

@ -34,7 +34,7 @@ th {
}
.media-upload-form label.form-help, td.help {
font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif;
font-family: sans-serif;
font-style: italic;
font-weight: normal;
}
@ -152,7 +152,7 @@ abbr.required {
#media-upload p.help,
#media-upload label.help {
font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif;
font-family: sans-serif;
font-style: italic;
font-weight: normal;
}

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
body {
font-size: 13px;
font-family: Arial, "Bitstream Vera Sans", Helvetica, Verdana, sans-serif;
font-family: sans-serif;
color: #333;
margin: 0;
padding: 0;
@ -227,7 +227,7 @@ h3.tb {
#title,
.tbtitle {
font-family: Arial, "Bitstream Vera Sans", Helvetica, Verdana, sans-serif;
font-family: sans-serif;
-moz-border-radius: 3px;
-khtml-border-radius: 3px;
-webkit-border-radius: 3px;
@ -362,7 +362,7 @@ h3.tb {
.category-add input {
width: 94%;
font-family: Arial, "Bitstream Vera Sans", Helvetica, Verdana, sans-serif;
font-family: sans-serif;
font-size: 12px;
margin: 1px;
}
@ -372,7 +372,7 @@ select {
-x-system-font: none;
border-style: solid;
border-width: 1px;
font-family: Arial, "Bitstream Vera Sans", Helvetica, Verdana, sans-serif;
font-family: sans-serif;
font-size: 12px;
height: 2em;
line-height: 20px;
@ -529,7 +529,7 @@ ul.category-tabs li {
.button-secondary,
.button-highlighted,
#postcustomstuff .submit input {
font-family: Arial, "Bitstream Vera Sans", Helvetica, Verdana, sans-serif;
font-family: sans-serif;
text-decoration: none;
font-size: 12px !important;
line-height: 16px;

File diff suppressed because one or more lines are too long

View File

@ -450,13 +450,13 @@ form.upgrade .hint {
float: right;
}
.folded #adminmenu .wp-submenu {
.js.folded #adminmenu .wp-submenu {
display: block;
left: auto;
right: 26px;
}
.folded #adminmenu .wp-submenu.sub-open {
.js.folded #adminmenu .wp-submenu.sub-open {
padding: 0 0 8px 8px;
}
@ -464,7 +464,7 @@ form.upgrade .hint {
padding: 6px 10px 5px 4px;
}
.folded #adminmenu .wp-submenu-wrap {
.js.folded #adminmenu .wp-submenu-wrap {
-webkit-border-bottom-right-radius: 0;
-webkit-border-bottom-left-radius: 3px;
-webkit-border-top-right-radius: 0;
@ -484,16 +484,16 @@ form.upgrade .hint {
border-width: 0 0 1px 1px;
}
.folded #adminmenu .wp-submenu ul {
.js.folded #adminmenu .wp-submenu ul {
border-width: 0 1px 0 0;
}
.folded #adminmenu .wp-submenu a {
.js.folded #adminmenu .wp-submenu a {
padding-left: 0;
padding-right: 10px;
}
.folded #adminmenu a.wp-has-submenu {
.js.folded #adminmenu a.wp-has-submenu {
margin-left: 0;
margin-right: 40px;
}

File diff suppressed because one or more lines are too long

View File

@ -102,7 +102,7 @@ kbd, code {
.howto {
font-style: italic;
display: block;
font-family: Arial, "Bitstream Vera Sans", Helvetica, Verdana, sans-serif;
font-family: sans-serif;
}
p.install-help {
@ -952,7 +952,7 @@ form.upgrade .hint {
#wphead {
height: 32px;
margin-right: 15px;
margin-right: 20px;
margin-left: 2px;
}
@ -1076,7 +1076,7 @@ form.upgrade .hint {
}
#screen-meta-links {
margin: 0 19px 0 0;
margin: 0 24px 0 0;
}
#screen-meta .screen-reader-text {
@ -1089,7 +1089,7 @@ form.upgrade .hint {
height: 22px;
padding: 0;
margin: 0 0 0 6px;
font-family: Arial, "Bitstream Vera Sans", Helvetica, Verdana, sans-serif;
font-family: sans-serif;
-moz-border-radius-bottomleft: 3px;
-moz-border-radius-bottomright: 3px;
-webkit-border-bottom-left-radius: 3px;
@ -1139,7 +1139,7 @@ form.upgrade .hint {
border-style: none solid solid;
border-top: 0 none;
border-width: 0 1px 1px;
margin: 0 15px 0 0;
margin: 0 20px 0 0;
padding: 8px 12px 12px;
}
@ -1414,7 +1414,7 @@ body.no-js #adminmenu li.wp-has-current-submenu .wp-submenu {
#adminmenu span.update-plugins,
#sidemenu li a span.update-plugins {
position: absolute;
font-family: Arial, "Bitstream Vera Sans", Helvetica, Verdana, sans-serif;
font-family: sans-serif;
font-size: 9px;
line-height: 17px;
font-weight: bold;
@ -1440,7 +1440,7 @@ body.no-js #adminmenu li.wp-has-current-submenu .wp-submenu {
.post-com-count-wrapper {
min-width: 22px;
font-family: Arial, "Bitstream Vera Sans", Helvetica, Verdana, sans-serif;
font-family: sans-serif;
}
.post-com-count {
@ -2153,7 +2153,7 @@ ul.cat-checklist {
.inline-edit-row .catshow,
.inline-edit-row .cathide,
.inline-edit-row #bulk-titles div {
font-family: Arial, "Bitstream Vera Sans", Helvetica, Verdana, sans-serif;
font-family: sans-serif;
font-style: normal;
font-size: 11px;
}
@ -3022,7 +3022,7 @@ span.description,
.form-wrap p {
font-size: 12px;
font-style: italic;
font-family: Arial, "Bitstream Vera Sans", Helvetica, Verdana, sans-serif;
font-family: sans-serif;
}
.form-wrap .form-field {
@ -4078,7 +4078,7 @@ h2.nav-tab-wrapper, h3.nav-tab-wrapper {
h2 .nav-tab {
padding: 4px 10px 6px;
font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", sans-serif;
font-weight: 200;
font-size: 20px;
line-height: 24px;
@ -4287,7 +4287,7 @@ input.button-highlighted,
#utc-time, #local-time {
padding-left: 25px;
font-style: italic;
font-family: Arial, "Bitstream Vera Sans", Helvetica, Verdana, sans-serif;
font-family: sans-serif;
}
.defaultavatarpicker .avatar {
@ -4306,7 +4306,7 @@ input.button-highlighted,
left: 0;
right: 0;
padding: 10px 0;
margin-right: 15px;
margin-right: 20px;
border-top: 1px;
border-style: solid;
}

View File

@ -54,6 +54,8 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu {
$original_title = '';
if ( 'taxonomy' == $item->type ) {
$original_title = get_term_field( 'name', $item->object_id, $item->object, 'raw' );
if ( is_wp_error( $original_title ) )
$original_title = false;
} elseif ( 'post_type' == $item->type ) {
$original_object = get_post( $item->object_id );
$original_title = $original_object->post_title;
@ -171,7 +173,7 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu {
</p>
<div class="menu-item-actions description-wide submitbox">
<?php if( 'custom' != $item->type ) : ?>
<?php if( 'custom' != $item->type && $original_title !== false ) : ?>
<p class="link-to-original">
<?php printf( __('Original: %s'), '<a href="' . esc_attr( $item->url ) . '">' . esc_html( $original_title ) . '</a>' ); ?>
</p>

View File

@ -244,7 +244,6 @@ $_old_files = array(
'wp-includes/classes.php',
// 3.2
'wp-includes/default-embeds.php',
'wp-includes/class-json.php',
'wp-includes/js/tinymce/plugins/wordpress/img/more.gif',
'wp-includes/js/tinymce/plugins/wordpress/img/toolbars.gif',
'wp-includes/js/tinymce/plugins/wordpress/img/help.gif',
@ -336,7 +335,7 @@ function update_core($from, $to) {
$mysql_version = $wpdb->db_version();
$required_php_version = '5.2.4';
$required_mysql_version = '5.0';
$wp_version = '3.2';
$wp_version = '3.2.1';
$php_compat = version_compare( $php_version, $required_php_version, '>=' );
$mysql_compat = version_compare( $mysql_version, $required_mysql_version, '>=' ) || file_exists( WP_CONTENT_DIR . '/db.php' );

View File

@ -246,11 +246,13 @@ PubSub.prototype.publish = function( topic, args ) {
return;
}
w = n + w;
if ( w < 200 || w > 1200 ) // sanity check
return;
el.width( n + w );
setUserSetting('dfw_width', n + w);
el.width( w );
setUserSetting('dfw_width', w);
}
ps.subscribe( 'showToolbar', function() {

File diff suppressed because one or more lines are too long

View File

@ -2,7 +2,7 @@
# This file is distributed under the same license as the Development (future 3.2) package.
msgid ""
msgstr ""
"PO-Revision-Date: 2011-07-05 06:27:04+0000\n"
"PO-Revision-Date: 2011-07-05 05:59:15+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -2,7 +2,7 @@
# This file is distributed under the same license as the Multisite package.
msgid ""
msgstr ""
"PO-Revision-Date: 2011-07-05 06:27:05+0000\n"
"PO-Revision-Date: 2011-07-05 06:00:26+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

View File

@ -0,0 +1,593 @@
/* Admin Menu Editor CSS file */
.ws_main_container {
margin: 2px;
width: 310px;
float: left;
display:block;
border: 1px solid #cdd5d5;
border-radius: 3px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
}
.ws_box {
min-height: 30px;
width: 100%;
margin: 0;
padding-top: 2px;
padding-bottom: 4px;
}
#ws_menu_box {
}
#ws_submenu_box {
}
/*
* The sidebar
*/
#ws_editor_sidebar {
width: 138px;
padding: 2px;
}
.ws_main_button {
clear: both;
display: block;
margin: 4px;
margin-left: auto;
margin-right: auto;
width: 120px;
padding: 4px !important;
}
#ws_save_menu {
margin-bottom: 20px;
}
#ws_export_menu {
margin-top: 12px;
}
/*
* Menu components and widgets
*/
.ws_container {
display: block;
width: 290px;
padding : 3px;
margin: 2px;
margin-left: auto;
margin-right: auto;
border: 1px solid #a9badb;
background-color: #bdd3ff;
}
.ws_active {
background-color : #8eb0f1 !important; /* make sure this overrides ws_menu_separator */
}
.ws_menu { }
.ws_item { }
.ws_menu_separator {
background-image: url("../images/menu-arrows.png");
background-repeat: no-repeat;
background-position : 4px 8px;
background-color: #F9F9F9;
border-color: #d9d9d9;
}
.ws_submenu {
min-height: 2em;
}
.ws_item_head {
padding: 0;
}
.ws_item_title {
display: block;
padding: 2px;
cursor: default;
}
.ws_edit_link {
float: right;
margin-right: 0px;
cursor: pointer;
display:block;
width: 40px;
height: 22px;
background-image: url('../images/bullet_arrow_down2.png');
background-repeat: no-repeat;
background-position: center;
border-radius: 3px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
}
a.ws_edit_link:hover {
background-color: #ffffd0;
background-image: url('../images/bullet_arrow_down2.png');
}
.ws_edit_link_expanded {
background-color: #ffffd0;
border-bottom: none;
border-color: #ffffd0;
background-image: url('../images/bullet_arrow_down2.png');
padding-bottom: 1px;
background-position: center 3px;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
-moz-border-radius-bottomright: 0;
-moz-border-radius-bottomleft: 0;
-webkit-border-bottom-right-radius: 0;
-webkit-border-bottom-left-radius: 0;
}
.ws_menu_drop_hover {
background-color: #43b529 !important;
}
.ws_container.ui-sortable-helper * {
cursor: move !important;
}
/****************************************
Per-menu settings fields & panels
*****************************************/
.ws_editbox {
display: block;
background-color: #ffffd0;
padding: 4px;
border-radius: 2px;
border-top-right-radius: 0px;
-moz-border-radius: 2px;
-moz-border-radius-topright: 0px;
-webkit-border-radius: 2px;
-webkit-border-top-right-radius: 0px;
}
.ws_edit_panel {
margin: 0;
padding: 0;
border: none;
}
.ws_edit_field {
margin-bottom: 8px;
height: 42.2px;
}
.ws_edit_field-custom {
margin-top: 10px;
}
/* The reset-to-default button */
.ws_reset_button {
display: block;
float: right;
margin-left: 4px;
margin-top: 2px;
margin-right: 6px;
cursor: pointer;
width: 16px;
height: 16px;
vertical-align: top;
background-image: url("../images/pencil_delete_gray.png");
background-repeat: no-repeat;
background-position: center;
}
.ws_reset_button:hover {
background-image: url("../images/pencil_delete.png");
}
.ws_input_default input, .ws_input_default select {
color: gray;
}
/* No reset button for fields set to the default value */
.ws_input_default .ws_reset_button {
visibility: hidden;
}
/* The input box in each field editor */
#ws_menu_editor .ws_editbox input[type="text"],
#ws_menu_editor .ws_editbox select {
display: block;
float: left;
width: 254px;
font-size: 12px;
padding: 3px;
}
#ws_menu_editor .ws_edit_field label {
display: block;
float: left;
}
#ws_menu_editor .ws_edit_field-custom input[type="checkbox"] {
margin-top: 0px;
}
/* Dropdown button for combo-box fields */
#ws_menu_editor .ws_dropdown_button {
display : block;
float: left;
width: 20px;
height: 20px;
margin: 1px 1px 1px 0;
padding: 0;
text-align: center;
vertical-align: middle;
font-size: 9px !important;
border-color: #dfdfdf;
border-top-right-radius: 3px;
border-bottom-right-radius: 3px;
border-top-left-radius: 0px;
border-bottom-left-radius: 0px;
-moz-border-radius-topright: 3px;
-moz-border-radius-bottomright: 3px;
-moz-border-radius-topleft: 0px;
-moz-border-radius-bottomleft: 0px;
-webkit-border-top-right-radius: 3px;
-webkit-border-bottom-right-radius: 3px;
-webkit-border-top-left-radius: 0px;
-webkit-border-bottom-left-radius: 0px;
}
/*
The appearance and size of combobox fields need to be changed
to accomodate the dropdown button.
*/
#ws_menu_editor .ws_has_dropdown input.ws_field_value {
width: 230px;
margin-right: 0;
border-right: 0;
border-top-right-radius: 0px;
border-bottom-right-radius: 0px;
-moz-border-radius-topright: 0px;
-moz-border-radius-bottomright: 0px;
-webkit-border-top-right-radius: 0px;
-webkit-border-bottom-right-radius: 0px;
}
/* Unlike others, this field is just a single checkbox, so it has a smaller height */
#ws_menu_editor .ws_edit_field-custom {
height: 16px;
}
/*
* "Show/hide advanced fields"
*/
.ws_toggle_container {
text-align: right;
margin-right: 27px;
}
.ws_toggle_advanced_fields {
color: #6087CB;
text-decoration: none;
font-size: 0.85em;
}
.ws_toggle_advanced_fields:visited, .ws_toggle_advanced_fields:active {
color: #6087CB;
}
.ws_toggle_advanced_fields:hover {
color: #d54e21;
text-decoration: underline;
}
/************************************
Menu flags
*************************************/
.ws_flag_container {
float: right;
margin-right: 4px;
padding-top: 2px;
}
.ws_flag {
display: block;
float: right;
width: 16px;
height: 16px;
margin-left: 4px;
background-repeat: no-repeat;
}
/* user-created items */
.ws_custom_item_flag {
background-image: url('../images/page_white_add.png');
}
/* items not present in the default menu */
.ws_missing_flag {
background-image: url('../images/plugin_error.png');
}
/* unused items - those that are in the default menu but not in the custom one */
.ws_unused_flag {
background-image: url('../images/plugin_add.png');
}
/* hidden items */
.ws_hidden_flag {
background-image: url('../images/plugin_disabled.png');
}
/* These classes could be used to apply different styles to items depending on their flags */
.ws_missing { }
.ws_custom_item { }
.ws_hidden { }
.ws_unused { }
/************************************
Toolbars
*************************************/
.ws_toolbar {
display: block;
width: 100%;
height: 34px;
}
.ws_button_container {
padding-left: 6px;
padding-top: 6px;
}
.ws_button {
display: block;
margin-right: 3px;
padding: 4px;
border: 1px solid #c0c0e0;
float: left;
border-radius: 3px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
}
a.ws_button:hover {
background-color: #d0e0ff;
border-color: #9090c0;
}
.ws_separator {
float: left;
width: 5px;
}
/************************************
Capability selector
*************************************/
#wpbody select.ws_dropdown {
width: 252px;
height: 20em;
z-index: 1002;
position: absolute;
display: none;
font-family : "Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;
font-size: 12px;
}
#wpbody select.ws_dropdown option {
font-family : "Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;
font-size: 12px;
padding: 3px;
}
#wpbody select.ws_dropdown optgroup option {
padding-left: 10px;
}
/************************************
Export and import
*************************************/
#export_dialog, #import_dialog {
display: none;
}
.ui-widget-overlay {
background-color: black;
position: absolute;
left: 0px;
top: 0px;
opacity: 0.70;
-moz-opacity: 0.70;
filter: alpha(opacity=70);
}
.ui-dialog {
background: white;
border: 1px solid #c0c0c0;
padding: 2px;
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
}
.ui-dialog-titlebar {
display: block;
height: 22px;
margin: 0;
padding: 4px 4px 4px 8px;
background-color: #86A7E3;
font-size: 1.0em;
line-height: 22px;
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
}
.ui-dialog-title {
color: white;
font-weight: bold;
}
.ui-dialog-titlebar-close {
background-image: url(../images/x.png);
background-repeat: no-repeat;
background-position: center;
background-color: #86A7E3;
width: 22px;
height: 22px;
display: block;
float: right;
color: white;
border-radius: 3px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
}
.ui-dialog-titlebar-close:hover {
/*background-image: url(../images/x-light.png);*/
background-color: #a6c2f5;
}
.ui-icon-closethick {
}
.ui-dialog-content {
padding: 6px;
font-size: 1.1em;
}
.ws_dialog_panel {
height: 84px;
}
#export_dialog .ws_dialog_panel {
height: 70px;
}
.ws_dialog_buttons {
height: 23px;
text-align: right;
}
.ws_dialog_buttons .button-primary {
display: block;
float: left;
margin-top: 0px;
}
.ws_dialog_buttons .button {
margin-top: 0px;
}
#import_file_selector {
display: block;
width: 286px;
margin-top: 6px;
margin-bottom: 12px;
margin-left: auto;
margin-right: auto;
}
#ws_start_import {
min-width: 100px;
}
#import_complete_notice {
text-align: center;
font-size: large;
padding-top: 25px;
}
/************************************
Screen meta buttons
*************************************/
/* All buttons */
#ws-ame-feedback-widget-wrap,
#ws-pro-version-notice {
float: right;
height: 22px;
padding: 0;
margin: 0 6px 0 0;
font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif;
background: #e3e3e3; /* original gray */
border-bottom-left-radius: 3px;
border-bottom-right-radius: 3px;
-moz-border-radius-bottomleft: 3px;
-moz-border-radius-bottomright: 3px;
-webkit-border-bottom-left-radius: 3px;
-webkit-border-bottom-right-radius: 3px;
}
#ws-ame-feedback-widget-wrap a.show-settings,
#ws-pro-version-notice a.show-settings {
background-image: none;
padding:0 6px 0 6px;
}
/* "Upgrade to Pro" */
#ws-pro-version-notice {
background-color: #00C31F;
}
#ws-pro-version-notice a.show-settings {
font-weight: bold;
color: #DEFFD8;
text-shadow: none;
}
#ws-pro-version-notice a.show-settings:hover {
color: white;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 367 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 454 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 648 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 715 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 400 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 512 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 536 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 620 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 603 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 522 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 691 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 347 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 702 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 487 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 506 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 509 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1,46 @@
<?php
/**
To install Admin Menu Editor as a global plugin in WPMU :
1) Place the "admin-menu-editor" directory into your "mu-plugins" directory.
2) Move this file, admin-menu-editor-mu.php, from the "admin-menu-editor" directory
to your "mu-plugins" directory.
The resulting directory structure should look like this :
mu-plugins/
admin-menu-editor-mu.php
admin-menu-editor/
menu-editor.php
menu-editor-core.php
...and other Admin Menu Editor files
**/
//Load the plugin
$ws_menu_editor_filename = dirname(__FILE__) . '/admin-menu-editor/menu-editor.php';
$ws_menu_editor_pro_filename = dirname(__FILE__) . '/admin-menu-editor-pro/menu-editor.php';
if ( file_exists($ws_menu_editor_filename) ) {
require $ws_menu_editor_filename;
} elseif ( file_exists($ws_menu_editor_pro_filename) ) {
require $ws_menu_editor_pro_filename;
} else {
add_action('admin_notices', 'ws_ame_installation_error');
}
function ws_ame_installation_error(){
if ( !is_site_admin() ) return;
?>
<div class="error fade"><p>
<strong>Admin Menu Editor is installed incorrectly!</strong>
</p>
<p>
Please copy the entire <code>admin-menu-directory</code> directory to your <code>mu-plugins</code>
directory, then move only the admin-menu-editor-mu.php file from
<code>admin-menu-editor/includes</code> to <code>mu-plugins</code>.
</p>
</div>
<?php
}
?>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,356 @@
<?php
/**
* @author W-Shadow
* @copyright 2008-2011
*/
//Make sure the needed constants are defined
if ( ! defined( 'WP_CONTENT_URL' ) )
define( 'WP_CONTENT_URL', get_option( 'siteurl' ) . '/wp-content' );
if ( ! defined( 'WP_CONTENT_DIR' ) )
define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' );
if ( ! defined( 'WP_PLUGIN_URL' ) )
define( 'WP_PLUGIN_URL', WP_CONTENT_URL. '/plugins' );
if ( ! defined( 'WP_PLUGIN_DIR' ) )
define( 'WP_PLUGIN_DIR', WP_CONTENT_DIR . '/plugins' );
//Load JSON functions for PHP < 5.2
if ( !(function_exists('json_encode') && function_exists('json_decode')) && !(class_exists('Services_JSON') || class_exists('Moxiecode_JSON')) ){
$class_json_path = ABSPATH.WPINC.'/class-json.php';
$class_moxiecode_json_path = ABSPATH.WPINC.'/js/tinymce/plugins/spellchecker/classes/utils/JSON.php';
if ( file_exists($class_json_path) ){
require $class_json_path;
} elseif ( file_exists($class_moxiecode_json_path) ) {
require $class_moxiecode_json_path;
}
}
class MenuEd_ShadowPluginFramework {
public static $framework_version = '0.4.1';
public $is_mu_plugin = null; //True if installed in the mu-plugins directory, false otherwise
protected $options = array();
public $option_name = ''; //should be set or overriden by the plugin
protected $defaults = array(); //should be set or overriden by the plugin
protected $sitewide_options = false; //WPMU only : save the setting in a site-wide option
protected $serialize_with_json = false; //Use the JSON format for option storage
public $plugin_file = ''; //Filename of the plugin.
public $plugin_basename = ''; //Basename of the plugin, as returned by plugin_basename().
public $plugin_dir_url = ''; //The URL of the plugin's folder
protected $magic_hooks = false; //Automagically set up hooks for all methods named "hook_[hookname]" .
protected $magic_hook_priority = 10; //Priority for magically set hooks.
protected $settings_link = ''; //If set, this will be automatically added after "Deactivate"/"Edit".
/**
* Class constructor. Populates some internal fields, then calls the plugin's own
* intializer (if any).
*
* @param string $plugin_file Plugin's filename. Usuallly you can just use __FILE__.
* @return void
*/
function __construct( $plugin_file = '', $option_name = null ){
if ($plugin_file == ''){
//Try to guess the name of the file that included this file.
//Not implemented yet.
}
$this->option_name = $option_name;
if ( is_null($this->is_mu_plugin) )
$this->is_mu_plugin = $this->is_in_wpmu_plugin_dir($plugin_file);
$this->plugin_file = $plugin_file;
$this->plugin_basename = plugin_basename($this->plugin_file);
if ( $this->is_mu_plugin ){
$this->plugin_dir_url = WPMU_PLUGIN_URL . '/' . dirname($this->plugin_basename);
} else {
$this->plugin_dir_url = WP_PLUGIN_URL . '/' . dirname($this->plugin_basename);
}
/************************************
Add the default hooks
************************************/
add_action('activate_'.$this->plugin_basename, array(&$this,'activate'));
add_action('deactivate_'.$this->plugin_basename, array(&$this,'deactivate'));
$this->init(); //Call the plugin's init() function
$this->init_finish(); //Complete initialization by loading settings, etc
}
/**
* Init the plugin. Should be overridden in a sub-class.
* Called by the class constructor.
*
* @return void
*/
function init(){
//Do nothing.
}
/**
* Initialize settings and set up magic hooks.
*
* @return void
*/
function init_finish(){
/************************************
Load settings
************************************/
//The provided $option_name overrides the default only if it is set to something useful
if ( $this->option_name == '' ) {
//Generate a unique name
$this->option_name = 'plugin_'.md5($this->plugin_basename);
}
//Do we need to load the plugin's settings?
if ($this->option_name != null){
$this->load_options();
}
//Add a "Settings" action link
if ($this->settings_link)
add_filter('plugin_action_links', array(&$this, 'plugin_action_links'), 10, 2);
if ($this->magic_hooks)
$this->set_magic_hooks();
}
/**
* Load the plugin's configuration.
* Loads the specified option into $this->options, substituting defaults where necessary.
*
* @param string $option_name Optional. The slug of the option to load. If not set, the value of $this->option_name will be used instead.
* @return boolean TRUE if options were loaded okay and FALSE otherwise.
*/
function load_options($option_name = null){
if ( empty($option_name) ){
$option_name = $this->option_name;
}
if ( $this->sitewide_options ) {
$this->options = get_site_option($option_name);
} else {
$this->options = get_option($option_name);
}
if ( $this->serialize_with_json || is_string($this->options) ){
$this->options = $this->json_decode($this->options, true);
}
if(!is_array($this->options)){
$this->options = $this->defaults;
return false;
} else {
$this->options = array_merge($this->defaults, $this->options);
return true;
}
}
/**
* ShadowPluginFramework::save_options()
* Saves the $options array to the database.
*
* @return void
*/
function save_options(){
if ($this->option_name) {
$stored_options = $this->options;
if ( $this->serialize_with_json ){
$stored_options = $this->json_encode($stored_options);
}
if ( $this->sitewide_options ) {
update_site_option($this->option_name, $stored_options);
} else {
update_option($this->option_name, $stored_options);
}
}
}
/**
* Backwards fompatible json_decode.
*
* @param string $data
* @param bool $assoc Decode objects as associative arrays.
* @return string
*/
function json_decode($data, $assoc=false){
if ( function_exists('json_decode') ){
return json_decode($data, $assoc);
}
if ( class_exists('Services_JSON') ){
$flag = $assoc?SERVICES_JSON_LOOSE_TYPE:0;
$json = new Services_JSON($flag);
return( $json->decode($data) );
} elseif ( class_exists('Moxiecode_JSON') ){
$json = new Moxiecode_JSON();
return $json->decode($data);
} else {
trigger_error('No JSON parser available', E_USER_ERROR);
}
}
/**
* Backwards fompatible json_encode.
*
* @param mixed $data
* @return string
*/
function json_encode($data) {
if ( function_exists('json_encode') ){
return json_encode($data);
}
if ( class_exists('Services_JSON') ){
$json = new Services_JSON();
return( $json->encodeUnsafe($data) );
} elseif ( class_exists('Moxiecode_JSON') ){
$json = new Moxiecode_JSON();
return $json->encode($data);
} else {
trigger_error('No JSON parser available', E_USER_ERROR);
}
}
/**
* ShadowPluginFramework::set_magic_hooks()
* Automagically sets up hooks for all methods named "hook_[tag]". Uses the Reflection API.
*
* @return void
*/
function set_magic_hooks(){
$class = new ReflectionClass(get_class($this));
$methods = $class->getMethods();
foreach ($methods as $method){
//Check if the method name starts with "hook_"
if (strpos($method->name, 'hook_') === 0){
//Get the hook's tag from the method name
$hook = substr($method->name, 5);
//Add the hook. Uses add_filter because add_action is simply a wrapper of the same.
add_filter($hook, array(&$this, $method->name),
$this->magic_hook_priority, $method->getNumberOfParameters());
}
}
unset($class);
}
/**
* ShadowPluginFramework::activate()
* Stub function for the activation hook. Simply stores the default configuration.
*
* @return void
*/
function activate(){
$this->save_options();
}
/**
* ShadowPluginFramework::deactivate()
* Stub function for the deactivation hook. Does nothing.
*
* @return void
*/
function deactivate(){
}
/**
* ShadowPluginFramework::plugin_action_links()
* Adds a "Settings" link to the plugin's action links. Default handler for the 'plugin_action_links' hook.
*
* @param array $links
* @param string $file
* @return array
*/
function plugin_action_links($links, $file) {
if ($file == $this->plugin_basename)
$links[] = "<a href='" . $this->settings_link . "'>" . __('Settings') . "</a>";
return $links;
}
/**
* ShadowPluginFramework::uninstall()
* Default uninstaller. Removes the plugins configuration record (if available).
*
* @return void
*/
function uninstall(){
if ($this->option_name)
delete_option($this->option_name);
}
/**
* Checks if the specified file is inside the mu-plugins directory.
*
* @param string $filename The filename to check. Leave blank to use the current plugin's filename.
* @return bool
*/
function is_in_wpmu_plugin_dir( $filename = '' ){
if ( !defined('WPMU_PLUGIN_DIR') ) return false;
if ( empty($filename) ){
$filename = $this->plugin_file;
}
return (strpos( realpath($filename), realpath(WPMU_PLUGIN_DIR) ) !== false);
}
/**
* Check if the plugin is active for the entire network.
* Will return true when the plugin is installed in /mu-plugins/ (WPMU, pre-3.0)
* or has been activated via "Network Activate" (WP 3.0+).
*
* Blame the ridiculous blog/site/network confusion perpetrated by
* the WP API for the silly name.
*
* @return bool
*/
function is_super_plugin(){
if ( is_null($this->is_mu_plugin) ){
$this->is_mu_plugin = $this->is_in_wpmu_plugin_dir($this->plugin_file);
}
if ( $this->is_mu_plugin ){
return true;
} else {
return $this->is_plugin_active_for_network($this->plugin_basename);
}
}
/**
* Check whether the plugin is active for the entire network.
*
* Silly WP doesn't load the file that contains this native function until *after*
* all plugins are loaded, so until then we use a copy-pasted version of the same.
*
* @param string $plugin
* @return bool
*/
function is_plugin_active_for_network( $plugin ) {
if ( function_exists('is_plugin_active_for_network') ){
return is_plugin_active_for_network($plugin);
}
if ( !is_multisite() )
return false;
$plugins = get_site_option( 'active_sitewide_plugins');
if ( isset($plugins[$plugin]) )
return true;
return false;
}
}
?>

View File

@ -0,0 +1,675 @@
/*!
* jQuery Form Plugin
* version: 2.43 (12-MAR-2010)
* @requires jQuery v1.3.2 or later
*
* Examples and documentation at: http://malsup.com/jquery/form/
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*/
;(function($) {
/*
Usage Note:
-----------
Do not use both ajaxSubmit and ajaxForm on the same form. These
functions are intended to be exclusive. Use ajaxSubmit if you want
to bind your own submit handler to the form. For example,
$(document).ready(function() {
$('#myForm').bind('submit', function() {
$(this).ajaxSubmit({
target: '#output'
});
return false; // <-- important!
});
});
Use ajaxForm when you want the plugin to manage all the event binding
for you. For example,
$(document).ready(function() {
$('#myForm').ajaxForm({
target: '#output'
});
});
When using ajaxForm, the ajaxSubmit function will be invoked for you
at the appropriate time.
*/
/**
* ajaxSubmit() provides a mechanism for immediately submitting
* an HTML form using AJAX.
*/
$.fn.ajaxSubmit = function(options) {
// fast fail if nothing selected (http://dev.jquery.com/ticket/2752)
if (!this.length) {
log('ajaxSubmit: skipping submit process - no element selected');
return this;
}
if (typeof options == 'function')
options = { success: options };
var url = $.trim(this.attr('action'));
if (url) {
// clean url (don't include hash vaue)
url = (url.match(/^([^#]+)/)||[])[1];
}
url = url || window.location.href || '';
options = $.extend({
url: url,
type: this.attr('method') || 'GET',
iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank'
}, options || {});
// hook for manipulating the form data before it is extracted;
// convenient for use with rich editors like tinyMCE or FCKEditor
var veto = {};
this.trigger('form-pre-serialize', [this, options, veto]);
if (veto.veto) {
log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');
return this;
}
// provide opportunity to alter form data before it is serialized
if (options.beforeSerialize && options.beforeSerialize(this, options) === false) {
log('ajaxSubmit: submit aborted via beforeSerialize callback');
return this;
}
var a = this.formToArray(options.semantic);
if (options.data) {
options.extraData = options.data;
for (var n in options.data) {
if(options.data[n] instanceof Array) {
for (var k in options.data[n])
a.push( { name: n, value: options.data[n][k] } );
}
else
a.push( { name: n, value: options.data[n] } );
}
}
// give pre-submit callback an opportunity to abort the submit
if (options.beforeSubmit && options.beforeSubmit(a, this, options) === false) {
log('ajaxSubmit: submit aborted via beforeSubmit callback');
return this;
}
// fire vetoable 'validate' event
this.trigger('form-submit-validate', [a, this, options, veto]);
if (veto.veto) {
log('ajaxSubmit: submit vetoed via form-submit-validate trigger');
return this;
}
var q = $.param(a);
if (options.type.toUpperCase() == 'GET') {
options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q;
options.data = null; // data is null for 'get'
}
else
options.data = q; // data is the query string for 'post'
var $form = this, callbacks = [];
if (options.resetForm) callbacks.push(function() { $form.resetForm(); });
if (options.clearForm) callbacks.push(function() { $form.clearForm(); });
// perform a load on the target only if dataType is not provided
if (!options.dataType && options.target) {
var oldSuccess = options.success || function(){};
callbacks.push(function(data) {
var fn = options.replaceTarget ? 'replaceWith' : 'html';
$(options.target)[fn](data).each(oldSuccess, arguments);
});
}
else if (options.success)
callbacks.push(options.success);
options.success = function(data, status, xhr) { // jQuery 1.4+ passes xhr as 3rd arg
for (var i=0, max=callbacks.length; i < max; i++)
callbacks[i].apply(options, [data, status, xhr || $form, $form]);
};
// are there files to upload?
var files = $('input:file', this).fieldValue();
var found = false;
for (var j=0; j < files.length; j++)
if (files[j])
found = true;
var multipart = false;
// var mp = 'multipart/form-data';
// multipart = ($form.attr('enctype') == mp || $form.attr('encoding') == mp);
// options.iframe allows user to force iframe mode
// 06-NOV-09: now defaulting to iframe mode if file input is detected
if ((files.length && options.iframe !== false) || options.iframe || found || multipart) {
// hack to fix Safari hang (thanks to Tim Molendijk for this)
// see: http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab510dd5d
if (options.closeKeepAlive)
$.get(options.closeKeepAlive, fileUpload);
else
fileUpload();
}
else
$.ajax(options);
// fire 'notify' event
this.trigger('form-submit-notify', [this, options]);
return this;
// private function for handling file uploads (hat tip to YAHOO!)
function fileUpload() {
var form = $form[0];
if ($(':input[name=submit]', form).length) {
alert('Error: Form elements must not be named "submit".');
return;
}
var opts = $.extend({}, $.ajaxSettings, options);
var s = $.extend(true, {}, $.extend(true, {}, $.ajaxSettings), opts);
var id = 'jqFormIO' + (new Date().getTime());
var $io = $('<iframe id="' + id + '" name="' + id + '" src="'+ opts.iframeSrc +'" onload="(jQuery(this).data(\'form-plugin-onload\'))()" />');
var io = $io[0];
$io.css({ position: 'absolute', top: '-1000px', left: '-1000px' });
var xhr = { // mock object
aborted: 0,
responseText: null,
responseXML: null,
status: 0,
statusText: 'n/a',
getAllResponseHeaders: function() {},
getResponseHeader: function() {},
setRequestHeader: function() {},
abort: function() {
this.aborted = 1;
$io.attr('src', opts.iframeSrc); // abort op in progress
}
};
var g = opts.global;
// trigger ajax global events so that activity/block indicators work like normal
if (g && ! $.active++) $.event.trigger("ajaxStart");
if (g) $.event.trigger("ajaxSend", [xhr, opts]);
if (s.beforeSend && s.beforeSend(xhr, s) === false) {
s.global && $.active--;
return;
}
if (xhr.aborted)
return;
var cbInvoked = false;
var timedOut = 0;
// add submitting element to data if we know it
var sub = form.clk;
if (sub) {
var n = sub.name;
if (n && !sub.disabled) {
opts.extraData = opts.extraData || {};
opts.extraData[n] = sub.value;
if (sub.type == "image") {
opts.extraData[n+'.x'] = form.clk_x;
opts.extraData[n+'.y'] = form.clk_y;
}
}
}
// take a breath so that pending repaints get some cpu time before the upload starts
function doSubmit() {
// make sure form attrs are set
var t = $form.attr('target'), a = $form.attr('action');
// update form attrs in IE friendly way
form.setAttribute('target',id);
if (form.getAttribute('method') != 'POST')
form.setAttribute('method', 'POST');
if (form.getAttribute('action') != opts.url)
form.setAttribute('action', opts.url);
// ie borks in some cases when setting encoding
if (! opts.skipEncodingOverride) {
$form.attr({
encoding: 'multipart/form-data',
enctype: 'multipart/form-data'
});
}
// support timout
if (opts.timeout)
setTimeout(function() { timedOut = true; cb(); }, opts.timeout);
// add "extra" data to form if provided in options
var extraInputs = [];
try {
if (opts.extraData)
for (var n in opts.extraData)
extraInputs.push(
$('<input type="hidden" name="'+n+'" value="'+opts.extraData[n]+'" />')
.appendTo(form)[0]);
// add iframe to doc and submit the form
$io.appendTo('body');
$io.data('form-plugin-onload', cb);
form.submit();
}
finally {
// reset attrs and remove "extra" input elements
form.setAttribute('action',a);
t ? form.setAttribute('target', t) : $form.removeAttr('target');
$(extraInputs).remove();
}
};
if (opts.forceSync)
doSubmit();
else
setTimeout(doSubmit, 10); // this lets dom updates render
var domCheckCount = 100;
function cb() {
if (cbInvoked)
return;
var ok = true;
try {
if (timedOut) throw 'timeout';
// extract the server response from the iframe
var data, doc;
doc = io.contentWindow ? io.contentWindow.document : io.contentDocument ? io.contentDocument : io.document;
var isXml = opts.dataType == 'xml' || doc.XMLDocument || $.isXMLDoc(doc);
log('isXml='+isXml);
if (!isXml && (doc.body == null || doc.body.innerHTML == '')) {
if (--domCheckCount) {
// in some browsers (Opera) the iframe DOM is not always traversable when
// the onload callback fires, so we loop a bit to accommodate
log('requeing onLoad callback, DOM not available');
setTimeout(cb, 250);
return;
}
log('Could not access iframe DOM after 100 tries.');
return;
}
log('response detected');
cbInvoked = true;
xhr.responseText = doc.body ? doc.body.innerHTML : null;
xhr.responseXML = doc.XMLDocument ? doc.XMLDocument : doc;
xhr.getResponseHeader = function(header){
var headers = {'content-type': opts.dataType};
return headers[header];
};
if (opts.dataType == 'json' || opts.dataType == 'script') {
// see if user embedded response in textarea
var ta = doc.getElementsByTagName('textarea')[0];
if (ta)
xhr.responseText = ta.value;
else {
// account for browsers injecting pre around json response
var pre = doc.getElementsByTagName('pre')[0];
if (pre)
xhr.responseText = pre.innerHTML;
}
}
else if (opts.dataType == 'xml' && !xhr.responseXML && xhr.responseText != null) {
xhr.responseXML = toXml(xhr.responseText);
}
data = $.httpData(xhr, opts.dataType);
}
catch(e){
log('error caught:',e);
ok = false;
xhr.error = e;
$.handleError(opts, xhr, 'error', e);
}
// ordering of these callbacks/triggers is odd, but that's how $.ajax does it
if (ok) {
opts.success(data, 'success');
if (g) $.event.trigger("ajaxSuccess", [xhr, opts]);
}
if (g) $.event.trigger("ajaxComplete", [xhr, opts]);
if (g && ! --$.active) $.event.trigger("ajaxStop");
if (opts.complete) opts.complete(xhr, ok ? 'success' : 'error');
// clean up
setTimeout(function() {
$io.removeData('form-plugin-onload');
$io.remove();
xhr.responseXML = null;
}, 100);
};
function toXml(s, doc) {
if (window.ActiveXObject) {
doc = new ActiveXObject('Microsoft.XMLDOM');
doc.async = 'false';
doc.loadXML(s);
}
else
doc = (new DOMParser()).parseFromString(s, 'text/xml');
return (doc && doc.documentElement && doc.documentElement.tagName != 'parsererror') ? doc : null;
};
};
};
/**
* ajaxForm() provides a mechanism for fully automating form submission.
*
* The advantages of using this method instead of ajaxSubmit() are:
*
* 1: This method will include coordinates for <input type="image" /> elements (if the element
* is used to submit the form).
* 2. This method will include the submit element's name/value data (for the element that was
* used to submit the form).
* 3. This method binds the submit() method to the form for you.
*
* The options argument for ajaxForm works exactly as it does for ajaxSubmit. ajaxForm merely
* passes the options argument along after properly binding events for submit elements and
* the form itself.
*/
$.fn.ajaxForm = function(options) {
return this.ajaxFormUnbind().bind('submit.form-plugin', function(e) {
e.preventDefault();
$(this).ajaxSubmit(options);
}).bind('click.form-plugin', function(e) {
var target = e.target;
var $el = $(target);
if (!($el.is(":submit,input:image"))) {
// is this a child element of the submit el? (ex: a span within a button)
var t = $el.closest(':submit');
if (t.length == 0)
return;
target = t[0];
}
var form = this;
form.clk = target;
if (target.type == 'image') {
if (e.offsetX != undefined) {
form.clk_x = e.offsetX;
form.clk_y = e.offsetY;
} else if (typeof $.fn.offset == 'function') { // try to use dimensions plugin
var offset = $el.offset();
form.clk_x = e.pageX - offset.left;
form.clk_y = e.pageY - offset.top;
} else {
form.clk_x = e.pageX - target.offsetLeft;
form.clk_y = e.pageY - target.offsetTop;
}
}
// clear form vars
setTimeout(function() { form.clk = form.clk_x = form.clk_y = null; }, 100);
});
};
// ajaxFormUnbind unbinds the event handlers that were bound by ajaxForm
$.fn.ajaxFormUnbind = function() {
return this.unbind('submit.form-plugin click.form-plugin');
};
/**
* formToArray() gathers form element data into an array of objects that can
* be passed to any of the following ajax functions: $.get, $.post, or load.
* Each object in the array has both a 'name' and 'value' property. An example of
* an array for a simple login form might be:
*
* [ { name: 'username', value: 'jresig' }, { name: 'password', value: 'secret' } ]
*
* It is this array that is passed to pre-submit callback functions provided to the
* ajaxSubmit() and ajaxForm() methods.
*/
$.fn.formToArray = function(semantic) {
var a = [];
if (this.length == 0) return a;
var form = this[0];
var els = semantic ? form.getElementsByTagName('*') : form.elements;
if (!els) return a;
for(var i=0, max=els.length; i < max; i++) {
var el = els[i];
var n = el.name;
if (!n) continue;
if (semantic && form.clk && el.type == "image") {
// handle image inputs on the fly when semantic == true
if(!el.disabled && form.clk == el) {
a.push({name: n, value: $(el).val()});
a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
}
continue;
}
var v = $.fieldValue(el, true);
if (v && v.constructor == Array) {
for(var j=0, jmax=v.length; j < jmax; j++)
a.push({name: n, value: v[j]});
}
else if (v !== null && typeof v != 'undefined')
a.push({name: n, value: v});
}
if (!semantic && form.clk) {
// input type=='image' are not found in elements array! handle it here
var $input = $(form.clk), input = $input[0], n = input.name;
if (n && !input.disabled && input.type == 'image') {
a.push({name: n, value: $input.val()});
a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
}
}
return a;
};
/**
* Serializes form data into a 'submittable' string. This method will return a string
* in the format: name1=value1&amp;name2=value2
*/
$.fn.formSerialize = function(semantic) {
//hand off to jQuery.param for proper encoding
return $.param(this.formToArray(semantic));
};
/**
* Serializes all field elements in the jQuery object into a query string.
* This method will return a string in the format: name1=value1&amp;name2=value2
*/
$.fn.fieldSerialize = function(successful) {
var a = [];
this.each(function() {
var n = this.name;
if (!n) return;
var v = $.fieldValue(this, successful);
if (v && v.constructor == Array) {
for (var i=0,max=v.length; i < max; i++)
a.push({name: n, value: v[i]});
}
else if (v !== null && typeof v != 'undefined')
a.push({name: this.name, value: v});
});
//hand off to jQuery.param for proper encoding
return $.param(a);
};
/**
* Returns the value(s) of the element in the matched set. For example, consider the following form:
*
* <form><fieldset>
* <input name="A" type="text" />
* <input name="A" type="text" />
* <input name="B" type="checkbox" value="B1" />
* <input name="B" type="checkbox" value="B2"/>
* <input name="C" type="radio" value="C1" />
* <input name="C" type="radio" value="C2" />
* </fieldset></form>
*
* var v = $(':text').fieldValue();
* // if no values are entered into the text inputs
* v == ['','']
* // if values entered into the text inputs are 'foo' and 'bar'
* v == ['foo','bar']
*
* var v = $(':checkbox').fieldValue();
* // if neither checkbox is checked
* v === undefined
* // if both checkboxes are checked
* v == ['B1', 'B2']
*
* var v = $(':radio').fieldValue();
* // if neither radio is checked
* v === undefined
* // if first radio is checked
* v == ['C1']
*
* The successful argument controls whether or not the field element must be 'successful'
* (per http://www.w3.org/TR/html4/interact/forms.html#successful-controls).
* The default value of the successful argument is true. If this value is false the value(s)
* for each element is returned.
*
* Note: This method *always* returns an array. If no valid value can be determined the
* array will be empty, otherwise it will contain one or more values.
*/
$.fn.fieldValue = function(successful) {
for (var val=[], i=0, max=this.length; i < max; i++) {
var el = this[i];
var v = $.fieldValue(el, successful);
if (v === null || typeof v == 'undefined' || (v.constructor == Array && !v.length))
continue;
v.constructor == Array ? $.merge(val, v) : val.push(v);
}
return val;
};
/**
* Returns the value of the field element.
*/
$.fieldValue = function(el, successful) {
var n = el.name, t = el.type, tag = el.tagName.toLowerCase();
if (typeof successful == 'undefined') successful = true;
if (successful && (!n || el.disabled || t == 'reset' || t == 'button' ||
(t == 'checkbox' || t == 'radio') && !el.checked ||
(t == 'submit' || t == 'image') && el.form && el.form.clk != el ||
tag == 'select' && el.selectedIndex == -1))
return null;
if (tag == 'select') {
var index = el.selectedIndex;
if (index < 0) return null;
var a = [], ops = el.options;
var one = (t == 'select-one');
var max = (one ? index+1 : ops.length);
for(var i=(one ? index : 0); i < max; i++) {
var op = ops[i];
if (op.selected) {
var v = op.value;
if (!v) // extra pain for IE...
v = (op.attributes && op.attributes['value'] && !(op.attributes['value'].specified)) ? op.text : op.value;
if (one) return v;
a.push(v);
}
}
return a;
}
return el.value;
};
/**
* Clears the form data. Takes the following actions on the form's input fields:
* - input text fields will have their 'value' property set to the empty string
* - select elements will have their 'selectedIndex' property set to -1
* - checkbox and radio inputs will have their 'checked' property set to false
* - inputs of type submit, button, reset, and hidden will *not* be effected
* - button elements will *not* be effected
*/
$.fn.clearForm = function() {
return this.each(function() {
$('input,select,textarea', this).clearFields();
});
};
/**
* Clears the selected form elements.
*/
$.fn.clearFields = $.fn.clearInputs = function() {
return this.each(function() {
var t = this.type, tag = this.tagName.toLowerCase();
if (t == 'text' || t == 'password' || tag == 'textarea')
this.value = '';
else if (t == 'checkbox' || t == 'radio')
this.checked = false;
else if (tag == 'select')
this.selectedIndex = -1;
});
};
/**
* Resets the form data. Causes all form elements to be reset to their original value.
*/
$.fn.resetForm = function() {
return this.each(function() {
// guard against an input with the name of 'reset'
// note that IE reports the reset function as an 'object'
if (typeof this.reset == 'function' || (typeof this.reset == 'object' && !this.reset.nodeType))
this.reset();
});
};
/**
* Enables or disables any matching elements.
*/
$.fn.enable = function(b) {
if (b == undefined) b = true;
return this.each(function() {
this.disabled = !b;
});
};
/**
* Checks/unchecks any matching checkboxes or radio buttons and
* selects/deselects and matching option elements.
*/
$.fn.selected = function(select) {
if (select == undefined) select = true;
return this.each(function() {
var t = this.type;
if (t == 'checkbox' || t == 'radio')
this.checked = select;
else if (this.tagName.toLowerCase() == 'option') {
var $sel = $(this).parent('select');
if (select && $sel[0] && $sel[0].type == 'select-one') {
// deselect all other options
$sel.find('option').selected(false);
}
this.selected = select;
}
});
};
// helper fn for console logging
// set $.fn.ajaxSubmit.debug to true to enable debug logging
function log() {
if ($.fn.ajaxSubmit.debug) {
var msg = '[jquery.form] ' + Array.prototype.join.call(arguments,'');
if (window.console && window.console.log)
window.console.log(msg);
else if (window.opera && window.opera.postError)
window.opera.postError(msg);
}
};
})(jQuery);

View File

@ -0,0 +1,156 @@
/*
* jQuery JSON Plugin
* version: 1.0 (2008-04-17)
*
* This document is licensed as free software under the terms of the
* MIT License: http://www.opensource.org/licenses/mit-license.php
*
* Brantley Harris technically wrote this plugin, but it is based somewhat
* on the JSON.org website's http://www.json.org/json2.js, which proclaims:
* "NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.", a sentiment that
* I uphold. I really just cleaned it up.
*
* It is also based heavily on MochiKit's serializeJSON, which is
* copywrited 2005 by Bob Ippolito.
*/
(function($) {
function toIntegersAtLease(n)
// Format integers to have at least two digits.
{
return n < 10 ? '0' + n : n;
}
Date.prototype.toJSON = function(date)
// Yes, it polutes the Date namespace, but we'll allow it here, as
// it's damned usefull.
{
return this.getUTCFullYear() + '-' +
toIntegersAtLease(this.getUTCMonth()) + '-' +
toIntegersAtLease(this.getUTCDate());
};
var escapeable = /["\\\x00-\x1f\x7f-\x9f]/g;
var meta = { // table of character substitutions
'\b': '\\b',
'\t': '\\t',
'\n': '\\n',
'\f': '\\f',
'\r': '\\r',
'"' : '\\"',
'\\': '\\\\'
};
$.quoteString = function(string)
// Places quotes around a string, inteligently.
// If the string contains no control characters, no quote characters, and no
// backslash characters, then we can safely slap some quotes around it.
// Otherwise we must also replace the offending characters with safe escape
// sequences.
{
if (escapeable.test(string))
{
return '"' + string.replace(escapeable, function (a)
{
var c = meta[a];
if (typeof c === 'string') {
return c;
}
c = a.charCodeAt();
return '\\u00' + Math.floor(c / 16).toString(16) + (c % 16).toString(16);
}) + '"';
}
return '"' + string + '"';
};
$.toJSON = function(o, compact)
{
var type = typeof(o);
if (type == "undefined")
return "undefined";
else if (type == "number" || type == "boolean")
return o + "";
else if (o === null)
return "null";
// Is it a string?
if (type == "string")
{
return $.quoteString(o);
}
// Does it have a .toJSON function?
if (type == "object" && typeof o.toJSON == "function")
return o.toJSON(compact);
// Is it an array?
if (type != "function" && typeof(o.length) == "number")
{
var ret = [];
for (var i = 0; i < o.length; i++) {
ret.push( $.toJSON(o[i], compact) );
}
if (compact)
return "[" + ret.join(",") + "]";
else
return "[" + ret.join(", ") + "]";
}
// If it's a function, we have to warn somebody!
if (type == "function") {
throw new TypeError("Unable to convert object of type 'function' to json.");
}
// It's probably an object, then.
var ret = [];
for (var k in o) {
var name;
type = typeof(k);
if (type == "number")
name = '"' + k + '"';
else if (type == "string")
name = $.quoteString(k);
else
continue; //skip non-string or number keys
var val = $.toJSON(o[k], compact);
if (typeof(val) != "string") {
// skip non-serializable values
continue;
}
if (compact)
ret.push(name + ":" + val);
else
ret.push(name + ": " + val);
}
return "{" + ret.join(", ") + "}";
};
$.compactJSON = function(o)
{
return $.toJSON(o, true);
};
$.evalJSON = function(src)
// Evals JSON that we know to be safe.
{
return eval("(" + src + ")");
};
$.secureEvalJSON = function(src)
// Evals JSON in a way that is *more* secure.
{
var filtered = src;
filtered = filtered.replace(/\\["\\\/bfnrtu]/g, '@');
filtered = filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']');
filtered = filtered.replace(/(?:^|:|,)(?:\s*\[)+/g, '');
if (/^[\],:{}\s]*$/.test(filtered))
return eval("(" + src + ")");
else
throw new SyntaxError("Error parsing JSON, source is not valid.");
};
})(jQuery);

View File

@ -0,0 +1,65 @@
/**
* jQuery.fn.sort
* --------------
* @param Function comparator:
* Exactly the same behaviour as [1,2,3].sort(comparator)
*
* @param Function getSortable
* A function that should return the element that is
* to be sorted. The comparator will run on the
* current collection, but you may want the actual
* resulting sort to occur on a parent or another
* associated element.
*
* E.g. $('td').sort(comparator, function(){
* return this.parentNode;
* })
*
* The <td>'s parent (<tr>) will be sorted instead
* of the <td> itself.
*/
jQuery.fn.sort = (function(){
var sort = [].sort;
return function(comparator, getSortable) {
getSortable = getSortable || function(){return this;};
var placements = this.map(function(){
var sortElement = getSortable.call(this),
parentNode = sortElement.parentNode,
// Since the element itself will change position, we have
// to have some way of storing its original position in
// the DOM. The easiest way is to have a 'flag' node:
nextSibling = parentNode.insertBefore(
document.createTextNode(''),
sortElement.nextSibling
);
return function() {
if (parentNode === this) {
throw new Error(
"You can't sort elements if any one is a descendant of another."
);
}
// Insert before flag:
parentNode.insertBefore(this, nextSibling);
// Remove flag:
parentNode.removeChild(nextSibling);
};
});
return sort.call(this, comparator).each(function(i){
placements[i].call(getSortable.call(this));
});
};
})();

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,19 @@
<?php
/*
Plugin Name: Admin Menu Editor
Plugin URI: http://w-shadow.com/blog/2008/12/20/admin-menu-editor-for-wordpress/
Description: Lets you directly edit the WordPress admin menu. You can re-order, hide or rename existing menus, add custom menus and more.
Version: 1.1.3
Author: Janis Elsts
Author URI: http://w-shadow.com/blog/
*/
//Are we running in the Dashboard?
if ( is_admin() ) {
//Load the plugin
require 'includes/menu-editor-core.php';
$wp_menu_editor = new WPMenuEditor(__FILE__, 'ws_menu_editor');
}//is_admin()
?>

View File

@ -0,0 +1,121 @@
=== Admin Menu Editor ===
Contributors: whiteshadow
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=A6P9S6CE3SRSW
Tags: admin, dashboard, menu, security, wpmu
Requires at least: 3.0
Tested up to: 3.2
Stable tag: 1.1.3
Lets you directly edit the WordPress admin menu. You can re-order, hide or rename existing menus, add custom menus and more.
== Description ==
Admin Menu Editor lets you manually edit the Dashboard menu. You can reorder the menus, show/hide specific items, change access rights, and more.
**Features**
* Edit any existing menu - change the title, access rights, menu icon and so on.
* Sort menu items via drag & drop.
* Move a menu item to a different submenu via cut & paste.
* Hide/show any menu or menu item. A hidden menu is invisible to all users, including administrators.
* Create custom menus that point to any part of the Dashboard or an external URL.
The [Pro version](http://wpplugins.com/plugin/146/admin-menu-editor-pro) of the plugin lets you also import/export menu configurations, make menu items open in a new window, and use [shortcodes](http://wpplugins.com/plugin/146/admin-menu-editor-pro?view=notes) in the Dashboard menu.
[Suggest new features and improvements here](http://feedback.w-shadow.com/forums/58572-admin-menu-editor)
**Notes**
* If you delete any of the default menus they will reappear after saving. This is by design. To get rid of a menu for good, either hide it or set it's access rights to a higher level.
* If one of your menu items is only visible in the editor but not the Dashboard menu itself, make sure its "Custom" checkbox is ticked. The plugin will usually do this for you when you create a new menu.
* You can't lower a menu's required access rights, but you can change them to be more restrictive.
* In case of emergency, you can reset the menu configuration back to the default by going to http://example.com/wp-admin/?reset\_admin\_menu=1
== Installation ==
**Normal installation**
1. Download the admin-menu-editor.zip file to your computer.
1. Unzip the file.
1. Upload the `admin-menu-editor` directory to your `/wp-content/plugins/` directory.
1. Activate the plugin through the 'Plugins' menu in WordPress.
That's it. You can access the the menu editor by going to *Settings -> Menu Editor*. The plugin will automatically load your current menu configuration the first time you run it.
**WP MultiSite installation**
If you have WordPress set up in multisite ("Network") mode, you can also install Admin Menu Editor as a global plugin. This will enable you to edit the Dashboard menu for all sites and users at once.
1. Download the admin-menu-editor.zip file to your computer.
1. Unzip the file.
1. Create a new directory named `mu-plugins` in your site's `wp-content` directory (unless it already exists).
1. Upload the `admin-menu-editor` directory to `/wp-content/mu-plugins/`.
1. Move `admin-menu-editor-mu.php` from `admin-menu-editor/includes` to `/wp-content/mu-plugins/`.
Plugins installed in the `mu-plugins` directory are treated as "always on", so you don't need to explicitly activate the menu editor. Just go to *Settings -> Menu Editor* and start customizing your admin menu :)
*Notes*
* Instead of installing Admin Menu Editor in `mu-plugins`, you can also install it normally and then activate it globally via "Network Activate". However, this will make the plugin visible to normal users when it is inactive (e.g. during upgrades).
* When Admin Menu Editor is installed in `mu-plugins` or activated via "Network Activate", only the "super admin" user can access the menu editor page. Other users will see the customized Dashboard menu, but be unable to edit it.
* It is currently not possible to install Admin Menu Editor as both a normal and global plugin on the same site.
== Changelog ==
= 1.1.3 =
* Tests for WordPress 3.2 compatibility.
= 1.1.2 =
* Fixed a "failed to decode input" error that could show up when saving the menu.
= 1.1.1 =
* WordPress 3.1.3 compatibility. Should also be compatible with the upcoming 3.2.
* Fixed spurious slashes sometimes showing up in menus.
* Fixed a fatal error concerning "Services_JSON".
= 1.1 =
* WordPress 3.1 compatibility.
* Added the ability to drag & drop a menu item to a different menu.
* Added a drop-down list of Dashboard pages to the "File" box.
* When the menu editor is opened, the first top-level menu is now automatically selected and it's submenu displayed. Hopefully, this will make the UI slightly easier to understand for first-time users.
* All corners rounded on the "expand" link when not expanded.
* By popular request, the "Menu Editor" menu entry can be hidden again.
= 1.0.1 =
* Added "Super Admin" to the "Required capability" dropdown.
* Prevent users from accidentally making the menu editor inaccessible.
* WordPress 3.0.1 compatibility made official.
= 1.0 =
* Added a "Feedback" link.
* Added a dropdown list of all roles and capabilities to the menu editor.
* Added toolbar buttons for sorting menu items alphabetically.
* New "Add separator" button.
* New separator graphics.
* Minimum requirements upped to WP 3.0.
* Compatibility with WP 3.0 MultiSite mode.
* Plugin pages moved to different menus no longer stop working.
* Fixed moved pages not having a window title.
* Hide advanced menu fields by default (can be turned off in Screen Options).
* Changed a lot of UI text to be a bit more intuitive.
* In emergencies, administrators can now reset the custom menu by going to http://example.com/wp-admin/?reset\_admin\_menu=1
* Fixed the "Donate" link in readme.txt
* Unbundle the JSON.php JSON parser/encoder and use the built-in class-json.php instead.
* Use the native JSON decoding routine if it's available.
* Replaced the cryptic "Cannot redeclare whatever" activation error message with a more useful one.
= 0.2 =
* Provisional WPMU support.
* Missing and unused menu items now get different icons in the menu editor.
* Fixed some visual glitches.
* Items that are not present in the default menu will only be included in the generated menu if their "Custom" flag is set. Makes perfect sense, eh? The takeaway is that you should tick the "Custom" checkbox for the menus you have created manually if you want them to show up.
* You no longer need to manually reload the page to see the changes you made to the menu. Just clicking "Save Changes" is enough.
* Added tooltips to the small flag icons that indicate that a particular menu item is hidden, user-created or otherwise special.
* Updated the readme.txt
= 0.1.6 =
* Fixed a conflict with All In One SEO Pack 1.6.10. It was caused by that plugin adding invisible sub-menus to a non-existent top-level menu.
= 0.1.5 =
* First release on wordpress.org
* Moved all images into a separate directory.
* Added a readme.txt

View File

@ -0,0 +1,20 @@
<?php
/**
* @author W-Shadow
* @copyright 2009
*
* The uninstallation script.
*/
if( defined( 'ABSPATH') && defined('WP_UNINSTALL_PLUGIN') ) {
//Remove the plugin's settings
delete_option('ws_menu_editor');
if ( function_exists('delete_site_option') ){
delete_site_option('ws_menu_editor');
}
}
?>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 868 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 898 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 650 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 770 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 694 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 815 B

Some files were not shown because too many files have changed in this diff Show More