summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2005-08-09 09:25:04 +0000
committerdonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2005-08-09 09:25:04 +0000
commitb3b0755d5f7951312ac5acf99f5548e0052207ea (patch)
tree2ed258ae1be2e7574154b5a4b8c1246ff0f9fc86
parent0ee78e83565aed4553dd5beeff33de170ee03130 (diff)
Changes from WP
git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@143 7be80a69-a1ef-0310-a953-fb0f7c49ff36
-rw-r--r--wp-inst/wp-admin/admin-header.php99
-rw-r--r--wp-inst/wp-admin/edit-form-advanced.php8
-rw-r--r--wp-inst/wp-admin/edit-form-ajax-cat.php29
-rw-r--r--wp-inst/wp-admin/tinymce/tiny_mce_src.js2
-rw-r--r--wp-inst/wp-admin/tw-sack.js133
-rw-r--r--wp-inst/wp-images/header-shadow.pngbin1306 -> 0 bytes
-rw-r--r--wp-inst/wp-settings.php12
7 files changed, 273 insertions, 10 deletions
diff --git a/wp-inst/wp-admin/admin-header.php b/wp-inst/wp-admin/admin-header.php
index 71a1699..ab867f3 100644
--- a/wp-inst/wp-admin/admin-header.php
+++ b/wp-inst/wp-admin/admin-header.php
@@ -76,6 +76,7 @@ addLoadEvent(blurry);
//]]>
</script>
<script type="text/javascript" src="fat.js"></script>
+<?php if ( isset( $editing ) ) : ?>
<?php if ( get_option('rich_editing') ) :?>
<script type="text/javascript" src="tinymce/tiny_mce_src.js"></script>
<script type="text/javascript">
@@ -97,9 +98,105 @@ tinyMCE.init({
});
</script>
<?php endif; ?>
-<?php if ( isset( $editing ) ) : ?>
<script type="text/javascript" src="dbx.js"></script>
<script type="text/javascript" src="dbx-key.js"></script>
+<script type="text/javascript" src="tw-sack.js"></script>
+<script type="text/javascript">
+var ajaxCat = new sack();
+
+function getResponseElement() {
+var p = document.getElementById('ajaxcatresponse');
+ if (!p) {
+ p = document.createElement('p');
+ document.getElementById('categorydiv').appendChild(p);
+ p.id = 'ajaxcatresponse';
+ }
+ return p;
+}
+
+function newCatLoading() {
+ var p = getResponseElement();
+ p.innerHTML = 'Sending Data...';
+}
+
+function newCatLoaded() {
+ var p = getResponseElement();
+ p.innerHTML = 'Data Sent...';
+}
+
+function newCatInteractive() {
+ var p = getResponseElement();
+ p.innerHTML = 'Processing Data...';
+}
+
+function newCatCompletion() {
+ var p = getResponseElement();
+ var id = ajaxCat.response;
+ if ( id == '-1' ) {
+ p.innerHTML = "You don't have permission to do that.";
+ return;
+ }
+ if ( id == '0' ) {
+ p.innerHTML = "That category name is invalid. Try something else.";
+ return;
+ }
+ p.parentNode.removeChild(p);
+ var exists = document.getElementById('category-' + id);
+ if (exists) {
+ exists.checked = 'checked';
+ exists.parentNode.setAttribute('id', 'new-category-' + id);
+ var nowClass = exists.parentNode.getAttribute('class');
+ exists.parentNode.setAttribute('class', nowClass + ' fade');
+ Fat.fade_all();
+ exists.parentNode.setAttribute('class', nowClass);
+ } else {
+ var catDiv = document.getElementById('categorychecklist');
+ var newLabel = document.createElement('label');
+ catDiv.insertBefore(newLabel, catDiv.firstChild);
+ newLabel.setAttribute('for', 'category-' + id);
+ newLabel.setAttribute('id', 'new-category-' + id);
+ newLabel.setAttribute('class', 'selectit fade');
+
+ var newCheck = document.createElement('input');
+ newLabel.appendChild(newCheck);
+ newCheck.value = id;
+ newCheck.type = 'checkbox';
+ newCheck.checked = 'checked';
+ newCheck.name = 'post_category[]';
+ newCheck.id = 'category-' + id;
+
+ var newLabelText = document.createTextNode(' ' + document.getElementById('newcat').value);
+ newLabel.appendChild(newLabelText);
+ Fat.fade_all();
+ newLabel.setAttribute('class', 'selectit');
+ }
+}
+
+function ajaxNewCatKeyUp(e) {
+ if (!e) {
+ if (window.event) {
+ e = window.event;
+ } else {
+ return;
+ }
+ }
+ if (e.keyCode == 13) {
+ ajaxNewCat();
+ }
+}
+
+function ajaxNewCat() {
+ var newcat = document.getElementById('newcat');
+ var catString = 'ajaxnewcat=' + newcat.value;
+ ajaxCat.requestFile = 'edit-form-ajax-cat.php';
+ ajaxCat.method = 'GET';
+ ajaxCat.onLoading = newCatLoading;
+ ajaxCat.onLoaded = newCatLoaded;
+ ajaxCat.onInteractive = newCatInteractive;
+ ajaxCat.onCompletion = newCatCompletion;
+ ajaxCat.runAJAX(catString);
+}
+</script>
<?php endif; ?>
<?php do_action('admin_head'); ?>
diff --git a/wp-inst/wp-admin/edit-form-advanced.php b/wp-inst/wp-admin/edit-form-advanced.php
index 2233cfb..a39fed7 100644
--- a/wp-inst/wp-admin/edit-form-advanced.php
+++ b/wp-inst/wp-admin/edit-form-advanced.php
@@ -83,13 +83,11 @@ addLoadEvent(focusit);
<fieldset id="categorydiv" class="dbx-box">
<h3 class="dbx-handle"><?php _e('Categories') ?></h3>
-<div class="dbx-content"><div><?php dropdown_categories(get_settings('default_category')); ?></div>
+<div class="dbx-content"><div id="categorychecklist"><?php dropdown_categories(get_settings('default_category')); ?></div>
<p id="ajaxcat">
- <input type="text" name="cat_name" id="cat_name" size="16" />
- <input type="submit" name="save" value="+">
- <div style='display:none; height: 60px; width: 100px; overflow: auto; border: 1px solid #ccc; background: #eee; margin: 5px; padding: 5px;' id="searchresults"><?php _e( 'Search Results' ) ?></div>
+ <input type="text" name="newcat" id="newcat" size="16" onkeyup="ajaxNewCatKeyUp(event);" />
+ <input type="button" name="Button" value="+" onclick="ajaxNewCat();" />
</p>
-<?php AJAX_search_box( "wpmu-edit.php?action=searchcategories&search=", "cat_name", "searchresults" ); ?>
</div>
</fieldset>
diff --git a/wp-inst/wp-admin/edit-form-ajax-cat.php b/wp-inst/wp-admin/edit-form-ajax-cat.php
new file mode 100644
index 0000000..4892be6
--- /dev/null
+++ b/wp-inst/wp-admin/edit-form-ajax-cat.php
@@ -0,0 +1,29 @@
+<?php
+require_once('../wp-config.php');
+require_once('admin-functions.php');
+
+get_currentuserinfo();
+
+if ( !current_user_can('manage_categories') )
+ die('-1');
+
+function grab_id() {
+ global $new_cat_id;
+ $new_cat_id = func_get_arg(0);
+}
+
+add_action('edit_category', 'grab_id');
+add_action('create_category', 'grab_id');
+
+$cat_name = stripslashes($_GET['ajaxnewcat']);
+
+if ( !$category_nicename = sanitize_title($cat_name) )
+ die('0');
+if ( $already = $wpdb->get_var("SELECT cat_ID FROM $wpdb->categories WHERE category_nicename = '$category_nicename'") )
+ die($already);
+
+$cat_name = $wpdb->escape($cat_name);
+$cat_array = compact('cat_name', 'category_nicename');
+wp_insert_category($cat_array);
+echo $new_cat_id;
+?>
diff --git a/wp-inst/wp-admin/tinymce/tiny_mce_src.js b/wp-inst/wp-admin/tinymce/tiny_mce_src.js
index efa5ee9..904ca2a 100644
--- a/wp-inst/wp-admin/tinymce/tiny_mce_src.js
+++ b/wp-inst/wp-admin/tinymce/tiny_mce_src.js
@@ -206,7 +206,7 @@ TinyMCE.prototype.init = function(settings) {
if (this.configs.length == 0) {
// Is Safari enabled
if (this.isSafari)
- alert("Safari support is very limited and should be considered experimental.\nSo there is no need to even submit bugreports on this early version.");
+ // alert("Safari support is very limited and should be considered experimental.\nSo there is no need to even submit bugreports on this early version.");
tinyMCE.addEvent(window, "load", TinyMCE.prototype.onLoad);
diff --git a/wp-inst/wp-admin/tw-sack.js b/wp-inst/wp-admin/tw-sack.js
new file mode 100644
index 0000000..4f244d4
--- /dev/null
+++ b/wp-inst/wp-admin/tw-sack.js
@@ -0,0 +1,133 @@
+/* Simple AJAX Code-Kit (SACK) */
+/* ©2005 Gregory Wild-Smith */
+/* www.twilightuniverse.com */
+/* Software licenced under a modified X11 licence, see documentation or authors website for more details */
+
+function sack(file){
+ this.AjaxFailedAlert = "Your browser does not support the enhanced functionality of this website, and therefore you will have an experience that differs from the intended one.\n";
+ this.requestFile = file;
+ this.method = "POST";
+ this.URLString = "";
+ this.encodeURIString = true;
+ this.execute = false;
+
+ this.onLoading = function() { };
+ this.onLoaded = function() { };
+ this.onInteractive = function() { };
+ this.onCompletion = function() { };
+
+ this.createAJAX = function() {
+ try {
+ this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
+ } catch (e) {
+ try {
+ this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
+ } catch (err) {
+ this.xmlhttp = null;
+ }
+ }
+ if(!this.xmlhttp && typeof XMLHttpRequest != "undefined")
+ this.xmlhttp = new XMLHttpRequest();
+ if (!this.xmlhttp){
+ this.failed = true;
+ }
+ };
+
+ this.setVar = function(name, value){
+ if (this.URLString.length < 3){
+ this.URLString = name + "=" + value;
+ } else {
+ this.URLString += "&" + name + "=" + value;
+ }
+ }
+
+ this.encVar = function(name, value){
+ var varString = encodeURIComponent(name) + "=" + encodeURIComponent(value);
+ return varString;
+ }
+
+ this.encodeURLString = function(string){
+ varArray = string.split('&');
+ for (i = 0; i < varArray.length; i++){
+ urlVars = varArray[i].split('=');
+ if (urlVars[0].indexOf('amp;') != -1){
+ urlVars[0] = urlVars[0].substring(4);
+ }
+ varArray[i] = this.encVar(urlVars[0],urlVars[1]);
+ }
+ return varArray.join('&');
+ }
+
+ this.runResponse = function(){
+ eval(this.response);
+ }
+
+ this.runAJAX = function(urlstring){
+ this.responseStatus = new Array(2);
+ if(this.failed && this.AjaxFailedAlert){
+ alert(this.AjaxFailedAlert);
+ } else {
+ if (urlstring){
+ if (this.URLString.length){
+ this.URLString = this.URLString + "&" + urlstring;
+ } else {
+ this.URLString = urlstring;
+ }
+ }
+ if (this.encodeURIString){
+ var timeval = new Date().getTime();
+ this.URLString = this.encodeURLString(this.URLString);
+ this.setVar("rndval", timeval);
+ }
+ if (this.element) { this.elementObj = document.getElementById(this.element); }
+ if (this.xmlhttp) {
+ var self = this;
+ if (this.method == "GET") {
+ var totalurlstring = this.requestFile + "?" + this.URLString;
+ this.xmlhttp.open(this.method, totalurlstring, true);
+ } else {
+ this.xmlhttp.open(this.method, this.requestFile, true);
+ }
+ if (this.method == "POST"){
+ try {
+ this.xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded')
+ } catch (e) {}
+ }
+
+ this.xmlhttp.send(this.URLString);
+ this.xmlhttp.onreadystatechange = function() {
+ switch (self.xmlhttp.readyState){
+ case 1:
+ self.onLoading();
+ break;
+ case 2:
+ self.onLoaded();
+ break;
+ case 3:
+ self.onInteractive();
+ break;
+ case 4:
+ self.response = self.xmlhttp.responseText;
+ self.responseXML = self.xmlhttp.responseXML;
+ self.responseStatus[0] = self.xmlhttp.status;
+ self.responseStatus[1] = self.xmlhttp.statusText;
+ self.onCompletion();
+ if(self.execute){ self.runResponse(); }
+ if (self.elementObj) {
+ var elemNodeName = self.elementObj.nodeName;
+ elemNodeName.toLowerCase();
+ if (elemNodeName == "input" || elemNodeName == "select" || elemNodeName == "option" || elemNodeName == "textarea"){
+ self.elementObj.value = self.response;
+ } else {
+ self.elementObj.innerHTML = self.response;
+ }
+ }
+ self.URLString = "";
+ break;
+ }
+ };
+ }
+ }
+ };
+this.createAJAX();
+} \ No newline at end of file
diff --git a/wp-inst/wp-images/header-shadow.png b/wp-inst/wp-images/header-shadow.png
deleted file mode 100644
index 5b6a644..0000000
--- a/wp-inst/wp-images/header-shadow.png
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-settings.php b/wp-inst/wp-settings.php
index 91bdba4..39a1577 100644
--- a/wp-inst/wp-settings.php
+++ b/wp-inst/wp-settings.php
@@ -3,9 +3,13 @@ $HTTP_HOST = getenv('HTTP_HOST'); /* domain name */
$REMOTE_ADDR = getenv('REMOTE_ADDR'); /* visitor's IP */
$HTTP_USER_AGENT = getenv('HTTP_USER_AGENT'); /* visitor's browser */
+// Turn register globals off - Christian Schmidt
+foreach ( array_merge($_REQUEST, $_SERVER, $_ENV) as $name => $value )
+ unset($$name);
+
// Fix for IIS, which doesn't set REQUEST_URI
-if (! isset($_SERVER['REQUEST_URI'])) {
- $_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME'];
+if ( empty( $_SERVER['REQUEST_URI'] ) ) {
+ $_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME']; // Does this work under CGI?
// Append the query string if it exists and isn't null
if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) {
@@ -144,7 +148,7 @@ if ( defined('CUSTOM_USER_TABLE') )
$wpdb->users = CUSTOM_USER_TABLE;
if ( defined('CUSTOM_USER_META_TABLE') )
$wpdb->usermeta = CUSTOM_USER_META_TABLE;
-
+
// We're going to need to keep this around for a few months even though we're not using it internally
$tableposts = $wpdb->posts;
@@ -157,6 +161,8 @@ $tablelinkcategories = $wpdb->linkcategories;
$tableoptions = $wpdb->options;
$tablepostmeta = $wpdb->postmeta;
+$wp_filters = array();
+
require (ABSPATH . WPINC . '/functions.php');
require (ABSPATH . WPINC . '/default-filters.php');
require_once (ABSPATH . WPINC . '/wp-l10n.php');