if favor/disfavor submitted through ajax, return micro-html of form
darcs-hash:20080918135608-5ed1f-d753cb01f96e04871eb4f503ccd258674a03623a.gz
This commit is contained in:
parent
fbe15efde4
commit
054b4d0be6
@ -64,9 +64,18 @@ class DisfavorAction extends Action {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
# XXX: ajax response
|
if ($this->boolean('ajax')) {
|
||||||
|
common_start_html('text/xml');
|
||||||
common_redirect(common_local_url('showfavorites',
|
common_element_start('head');
|
||||||
array('nickname' => $user->nickname)));
|
common_element('title', _('Favor'));
|
||||||
|
common_element_end('head');
|
||||||
|
common_element_start('body');
|
||||||
|
common_favor_form($notice);
|
||||||
|
common_element_end('body');
|
||||||
|
common_element_end('html');
|
||||||
|
} else {
|
||||||
|
common_redirect(common_local_url('showfavorites',
|
||||||
|
array('nickname' => $user->nickname)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -63,8 +63,19 @@ class FavorAction extends Action {
|
|||||||
|
|
||||||
$this->notify($fave, $notice, $user);
|
$this->notify($fave, $notice, $user);
|
||||||
|
|
||||||
common_redirect(common_local_url('showfavorites',
|
if ($this->boolean('ajax')) {
|
||||||
array('nickname' => $user->nickname)));
|
common_start_html('text/xml');
|
||||||
|
common_element_start('head');
|
||||||
|
common_element('title', _('Disfavor'));
|
||||||
|
common_element_end('head');
|
||||||
|
common_element_start('body');
|
||||||
|
common_disfavor_form($notice);
|
||||||
|
common_element_end('body');
|
||||||
|
common_element_end('html');
|
||||||
|
} else {
|
||||||
|
common_redirect(common_local_url('showfavorites',
|
||||||
|
array('nickname' => $user->nickname)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function notify($fave, $notice, $user) {
|
function notify($fave, $notice, $user) {
|
||||||
|
15
js/util.js
15
js/util.js
@ -68,9 +68,20 @@ $(document).ready(function(){
|
|||||||
var id = new_form.id.replace('favor', 'disfavor');
|
var id = new_form.id.replace('favor', 'disfavor');
|
||||||
$('form#'+id).replace(new_form);
|
$('form#'+id).replace(new_form);
|
||||||
}};
|
}};
|
||||||
|
|
||||||
|
function addAjaxHidden(form) {
|
||||||
|
ajax = document.newElement('input');
|
||||||
|
ajax.addAttribute('type', 'hidden');
|
||||||
|
ajax.addAttribute('name', 'ajax');
|
||||||
|
ajax.addAttribute('value', 1);
|
||||||
|
form.appendChild(ajax);
|
||||||
|
}
|
||||||
|
|
||||||
$("form.favor").ajaxForm(favoptions);
|
$("form.favor").ajaxForm(favoptions);
|
||||||
$("form.disfavor").ajaxForm(disoptions);
|
$("form.disfavor").ajaxForm(disoptions);
|
||||||
|
|
||||||
|
$("form.favor").each(addAjaxHidden);
|
||||||
|
$("form.disfavor").each(addAjaxHidden);
|
||||||
});
|
});
|
||||||
|
|
||||||
function doreply(nick) {
|
function doreply(nick) {
|
||||||
|
60
lib/util.php
60
lib/util.php
@ -151,34 +151,11 @@ function common_init_language() {
|
|||||||
define('PAGE_TYPE_PREFS', 'text/html,application/xhtml+xml,application/xml;q=0.3,text/xml;q=0.2');
|
define('PAGE_TYPE_PREFS', 'text/html,application/xhtml+xml,application/xml;q=0.3,text/xml;q=0.2');
|
||||||
|
|
||||||
function common_show_header($pagetitle, $callable=NULL, $data=NULL, $headercall=NULL) {
|
function common_show_header($pagetitle, $callable=NULL, $data=NULL, $headercall=NULL) {
|
||||||
|
|
||||||
global $config, $xw;
|
global $config, $xw;
|
||||||
|
|
||||||
$httpaccept = isset($_SERVER['HTTP_ACCEPT']) ? $_SERVER['HTTP_ACCEPT'] : NULL;
|
common_start_html();
|
||||||
|
|
||||||
# XXX: allow content negotiation for RDF, RSS, or XRDS
|
|
||||||
|
|
||||||
$type = common_negotiate_type(common_accept_to_prefs($httpaccept),
|
|
||||||
common_accept_to_prefs(PAGE_TYPE_PREFS));
|
|
||||||
|
|
||||||
if (!$type) {
|
|
||||||
common_user_error(_('This page is not available in a media type you accept'), 406);
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
header('Content-Type: '.$type);
|
|
||||||
|
|
||||||
common_start_xml('html',
|
|
||||||
'-//W3C//DTD XHTML 1.0 Strict//EN',
|
|
||||||
'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd');
|
|
||||||
|
|
||||||
# FIXME: correct language for interface
|
|
||||||
|
|
||||||
$language = common_language();
|
|
||||||
|
|
||||||
common_element_start('html', array('xmlns' => 'http://www.w3.org/1999/xhtml',
|
|
||||||
'xml:lang' => $language,
|
|
||||||
'lang' => $language));
|
|
||||||
|
|
||||||
common_element_start('head');
|
common_element_start('head');
|
||||||
common_element('title', NULL,
|
common_element('title', NULL,
|
||||||
$pagetitle . " - " . $config['site']['name']);
|
$pagetitle . " - " . $config['site']['name']);
|
||||||
@ -252,6 +229,37 @@ function common_show_header($pagetitle, $callable=NULL, $data=NULL, $headercall=
|
|||||||
common_element_start('div', array('id' => 'content'));
|
common_element_start('div', array('id' => 'content'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function common_start_html($type=NULL) {
|
||||||
|
|
||||||
|
if (!$type) {
|
||||||
|
$httpaccept = isset($_SERVER['HTTP_ACCEPT']) ? $_SERVER['HTTP_ACCEPT'] : NULL;
|
||||||
|
|
||||||
|
# XXX: allow content negotiation for RDF, RSS, or XRDS
|
||||||
|
|
||||||
|
$type = common_negotiate_type(common_accept_to_prefs($httpaccept),
|
||||||
|
common_accept_to_prefs(PAGE_TYPE_PREFS));
|
||||||
|
|
||||||
|
if (!$type) {
|
||||||
|
common_user_error(_('This page is not available in a media type you accept'), 406);
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
header('Content-Type: '.$type);
|
||||||
|
|
||||||
|
common_start_xml('html',
|
||||||
|
'-//W3C//DTD XHTML 1.0 Strict//EN',
|
||||||
|
'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd');
|
||||||
|
|
||||||
|
# FIXME: correct language for interface
|
||||||
|
|
||||||
|
$language = common_language();
|
||||||
|
|
||||||
|
common_element_start('html', array('xmlns' => 'http://www.w3.org/1999/xhtml',
|
||||||
|
'xml:lang' => $language,
|
||||||
|
'lang' => $language));
|
||||||
|
}
|
||||||
|
|
||||||
function common_show_footer() {
|
function common_show_footer() {
|
||||||
global $xw, $config;
|
global $xw, $config;
|
||||||
common_element_end('div'); # content div
|
common_element_end('div'); # content div
|
||||||
|
Loading…
Reference in New Issue
Block a user