Merge remote branch 'laconica/0.8.x' into 0.9.x
Conflicts: lib/omb.php
@ -27,6 +27,8 @@ class ApiAction extends Action
|
|||||||
var $api_arg;
|
var $api_arg;
|
||||||
var $api_method;
|
var $api_method;
|
||||||
var $api_action;
|
var $api_action;
|
||||||
|
var $auth_user;
|
||||||
|
var $auth_pw;
|
||||||
|
|
||||||
function handle($args)
|
function handle($args)
|
||||||
{
|
{
|
||||||
@ -35,6 +37,7 @@ class ApiAction extends Action
|
|||||||
$this->api_action = $this->arg('apiaction');
|
$this->api_action = $this->arg('apiaction');
|
||||||
$method = $this->arg('method');
|
$method = $this->arg('method');
|
||||||
$argument = $this->arg('argument');
|
$argument = $this->arg('argument');
|
||||||
|
$this->basic_auth_process_header();
|
||||||
|
|
||||||
if (isset($argument)) {
|
if (isset($argument)) {
|
||||||
$cmdext = explode('.', $argument);
|
$cmdext = explode('.', $argument);
|
||||||
@ -50,7 +53,7 @@ class ApiAction extends Action
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($this->requires_auth()) {
|
if ($this->requires_auth()) {
|
||||||
if (!isset($_SERVER['PHP_AUTH_USER'])) {
|
if (!isset($this->auth_user)) {
|
||||||
|
|
||||||
# This header makes basic auth go
|
# This header makes basic auth go
|
||||||
header('WWW-Authenticate: Basic realm="StatusNet API"');
|
header('WWW-Authenticate: Basic realm="StatusNet API"');
|
||||||
@ -58,8 +61,8 @@ class ApiAction extends Action
|
|||||||
# If the user hits cancel -- bam!
|
# If the user hits cancel -- bam!
|
||||||
$this->show_basic_auth_error();
|
$this->show_basic_auth_error();
|
||||||
} else {
|
} else {
|
||||||
$nickname = $_SERVER['PHP_AUTH_USER'];
|
$nickname = $this->auth_user;
|
||||||
$password = $_SERVER['PHP_AUTH_PW'];
|
$password = $this->auth_pw;
|
||||||
$user = common_check_user($nickname, $password);
|
$user = common_check_user($nickname, $password);
|
||||||
|
|
||||||
if ($user) {
|
if ($user) {
|
||||||
@ -76,8 +79,8 @@ class ApiAction extends Action
|
|||||||
} else {
|
} else {
|
||||||
|
|
||||||
// Caller might give us a username even if not required
|
// Caller might give us a username even if not required
|
||||||
if (isset($_SERVER['PHP_AUTH_USER'])) {
|
if (isset($this->auth_user)) {
|
||||||
$user = User::staticGet('nickname', $_SERVER['PHP_AUTH_USER']);
|
$user = User::staticGet('nickname', $this->auth_user);
|
||||||
if ($user) {
|
if ($user) {
|
||||||
$this->user = $user;
|
$this->user = $user;
|
||||||
}
|
}
|
||||||
@ -203,6 +206,39 @@ class ApiAction extends Action
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function basic_auth_process_header()
|
||||||
|
{
|
||||||
|
if(isset($_SERVER['AUTHORIZATION']) || isset($_SERVER['HTTP_AUTHORIZATION']))
|
||||||
|
{
|
||||||
|
$authorization_header = isset($_SERVER['HTTP_AUTHORIZATION'])?$_SERVER['HTTP_AUTHORIZATION']:$_SERVER['AUTHORIZATION'];
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isset($_SERVER['PHP_AUTH_USER']))
|
||||||
|
{
|
||||||
|
$this->auth_user = $_SERVER['PHP_AUTH_USER'];
|
||||||
|
$this->auth_pw = $_SERVER['PHP_AUTH_PW'];
|
||||||
|
}
|
||||||
|
elseif ( isset($authorization_header) && strstr(substr($authorization_header, 0,5),'Basic') )
|
||||||
|
{
|
||||||
|
// decode the HTTP_AUTHORIZATION header on php-cgi server self
|
||||||
|
// on fcgid server the header name is AUTHORIZATION
|
||||||
|
|
||||||
|
$auth_hash = base64_decode( substr($authorization_header, 6) );
|
||||||
|
list($this->auth_user, $this->auth_pw) = explode(':', $auth_hash);
|
||||||
|
|
||||||
|
// set all to NULL on a empty basic auth request
|
||||||
|
if($this->auth_user == "") {
|
||||||
|
$this->auth_user = NULL;
|
||||||
|
$this->auth_pw = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->auth_user = NULL;
|
||||||
|
$this->auth_pw = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function show_basic_auth_error()
|
function show_basic_auth_error()
|
||||||
{
|
{
|
||||||
header('HTTP/1.1 401 Unauthorized');
|
header('HTTP/1.1 401 Unauthorized');
|
||||||
|
@ -399,5 +399,7 @@ class AvatarsettingsAction extends AccountSettingsAction
|
|||||||
$this->script('js/jcrop/jquery.Jcrop.min.js');
|
$this->script('js/jcrop/jquery.Jcrop.min.js');
|
||||||
$this->script('js/jcrop/jquery.Jcrop.go.js');
|
$this->script('js/jcrop/jquery.Jcrop.go.js');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->autofocus('avatarfile');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -160,6 +160,12 @@ class EditgroupAction extends GroupDesignAction
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showScripts()
|
||||||
|
{
|
||||||
|
parent::showScripts();
|
||||||
|
$this->autofocus('nickname');
|
||||||
|
}
|
||||||
|
|
||||||
function trySave()
|
function trySave()
|
||||||
{
|
{
|
||||||
$cur = common_current_user();
|
$cur = common_current_user();
|
||||||
|
@ -71,6 +71,12 @@ class EmailsettingsAction extends AccountSettingsAction
|
|||||||
return _('Manage how you get email from %%site.name%%.');
|
return _('Manage how you get email from %%site.name%%.');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showScripts()
|
||||||
|
{
|
||||||
|
parent::showScripts();
|
||||||
|
$this->autofocus('email');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Content area of the page
|
* Content area of the page
|
||||||
*
|
*
|
||||||
|
@ -445,6 +445,8 @@ class GrouplogoAction extends GroupDesignAction
|
|||||||
$this->script('js/jcrop/jquery.Jcrop.min.js');
|
$this->script('js/jcrop/jquery.Jcrop.min.js');
|
||||||
$this->script('js/jcrop/jquery.Jcrop.go.js');
|
$this->script('js/jcrop/jquery.Jcrop.go.js');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->autofocus('avatarfile');
|
||||||
}
|
}
|
||||||
|
|
||||||
function showLocalNav()
|
function showLocalNav()
|
||||||
|
@ -90,6 +90,12 @@ class GroupsearchAction extends SearchAction
|
|||||||
$user_group->free();
|
$user_group->free();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showScripts()
|
||||||
|
{
|
||||||
|
parent::showScripts();
|
||||||
|
$this->autofocus('q');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class GroupSearchResults extends GroupList
|
class GroupSearchResults extends GroupList
|
||||||
|
@ -98,6 +98,12 @@ class InviteAction extends CurrentUserDesignAction
|
|||||||
$this->showPage();
|
$this->showPage();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showScripts()
|
||||||
|
{
|
||||||
|
parent::showScripts();
|
||||||
|
$this->autofocus('addresses');
|
||||||
|
}
|
||||||
|
|
||||||
function title()
|
function title()
|
||||||
{
|
{
|
||||||
if ($this->mode == 'sent') {
|
if ($this->mode == 'sent') {
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
* @category Login
|
* @category Login
|
||||||
* @package StatusNet
|
* @package StatusNet
|
||||||
* @author Evan Prodromou <evan@status.net>
|
* @author Evan Prodromou <evan@status.net>
|
||||||
|
* @author Sarven Capadisli <csarven@status.net>
|
||||||
* @copyright 2008-2009 StatusNet, Inc.
|
* @copyright 2008-2009 StatusNet, Inc.
|
||||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||||
* @link http://status.net/
|
* @link http://status.net/
|
||||||
@ -37,6 +38,7 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
|
|||||||
* @category Personal
|
* @category Personal
|
||||||
* @package StatusNet
|
* @package StatusNet
|
||||||
* @author Evan Prodromou <evan@status.net>
|
* @author Evan Prodromou <evan@status.net>
|
||||||
|
* @author Sarven Capadisli <csarven@status.net>
|
||||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||||
* @link http://status.net/
|
* @link http://status.net/
|
||||||
*/
|
*/
|
||||||
@ -158,6 +160,12 @@ class LoginAction extends Action
|
|||||||
$this->showPage();
|
$this->showPage();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showScripts()
|
||||||
|
{
|
||||||
|
parent::showScripts();
|
||||||
|
$this->autofocus('nickname');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Title of the page
|
* Title of the page
|
||||||
*
|
*
|
||||||
|
@ -135,6 +135,12 @@ class NoticesearchAction extends SearchAction
|
|||||||
$this->pagination($page > 1, $cnt > NOTICES_PER_PAGE,
|
$this->pagination($page > 1, $cnt > NOTICES_PER_PAGE,
|
||||||
$page, 'noticesearch', array('q' => $q));
|
$page, 'noticesearch', array('q' => $q));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showScripts()
|
||||||
|
{
|
||||||
|
parent::showScripts();
|
||||||
|
$this->autofocus('q');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class SearchNoticeList extends NoticeList {
|
class SearchNoticeList extends NoticeList {
|
||||||
@ -190,7 +196,7 @@ class SearchNoticeListItem extends NoticeListItem {
|
|||||||
$result = preg_replace($pattern, '<strong>\\1</strong>', $text);
|
$result = preg_replace($pattern, '<strong>\\1</strong>', $text);
|
||||||
|
|
||||||
/* Remove highlighting from inside links, loop incase multiple highlights in links */
|
/* Remove highlighting from inside links, loop incase multiple highlights in links */
|
||||||
$pattern = '/(href="[^"]*)<strong>('.$options.')<\/strong>([^"]*")/iU';
|
$pattern = '/(\w+="[^"]*)<strong>('.$options.')<\/strong>([^"]*")/iU';
|
||||||
do {
|
do {
|
||||||
$result = preg_replace($pattern, '\\1\\2\\3', $result, -1, $count);
|
$result = preg_replace($pattern, '\\1\\2\\3', $result, -1, $count);
|
||||||
} while ($count);
|
} while ($count);
|
||||||
|
@ -71,6 +71,12 @@ class OthersettingsAction extends AccountSettingsAction
|
|||||||
return _('Manage various other options.');
|
return _('Manage various other options.');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showScripts()
|
||||||
|
{
|
||||||
|
parent::showScripts();
|
||||||
|
$this->autofocus('urlshorteningservice');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Content area of the page
|
* Content area of the page
|
||||||
*
|
*
|
||||||
|
@ -69,6 +69,12 @@ class PasswordsettingsAction extends AccountSettingsAction
|
|||||||
return _('Change your password.');
|
return _('Change your password.');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showScripts()
|
||||||
|
{
|
||||||
|
parent::showScripts();
|
||||||
|
$this->autofocus('oldpassword');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Content area of the page
|
* Content area of the page
|
||||||
*
|
*
|
||||||
|
@ -85,6 +85,12 @@ class PeoplesearchAction extends SearchAction
|
|||||||
$profile->free();
|
$profile->free();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showScripts()
|
||||||
|
{
|
||||||
|
parent::showScripts();
|
||||||
|
$this->autofocus('q');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
* @package StatusNet
|
* @package StatusNet
|
||||||
* @author Evan Prodromou <evan@status.net>
|
* @author Evan Prodromou <evan@status.net>
|
||||||
* @author Zach Copley <zach@status.net>
|
* @author Zach Copley <zach@status.net>
|
||||||
|
* @author Sarven Capadisli <csarven@status.net>
|
||||||
* @copyright 2008-2009 StatusNet, Inc.
|
* @copyright 2008-2009 StatusNet, Inc.
|
||||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||||
* @link http://status.net/
|
* @link http://status.net/
|
||||||
@ -41,6 +42,7 @@ require_once INSTALLDIR.'/lib/accountsettingsaction.php';
|
|||||||
* @package StatusNet
|
* @package StatusNet
|
||||||
* @author Evan Prodromou <evan@status.net>
|
* @author Evan Prodromou <evan@status.net>
|
||||||
* @author Zach Copley <zach@status.net>
|
* @author Zach Copley <zach@status.net>
|
||||||
|
* @author Sarven Capadisli <csarven@status.net>
|
||||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||||
* @link http://status.net/
|
* @link http://status.net/
|
||||||
*/
|
*/
|
||||||
@ -70,6 +72,12 @@ class ProfilesettingsAction extends AccountSettingsAction
|
|||||||
'so people know more about you.');
|
'so people know more about you.');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showScripts()
|
||||||
|
{
|
||||||
|
parent::showScripts();
|
||||||
|
$this->autofocus('nickname');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Content area of the page
|
* Content area of the page
|
||||||
*
|
*
|
||||||
|
@ -136,6 +136,12 @@ class RegisterAction extends Action
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showScripts()
|
||||||
|
{
|
||||||
|
parent::showScripts();
|
||||||
|
$this->autofocus('nickname');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Try to register a user
|
* Try to register a user
|
||||||
*
|
*
|
||||||
|
@ -69,6 +69,12 @@ class SmssettingsAction extends ConnectSettingsAction
|
|||||||
return _('You can receive SMS messages through email from %%site.name%%.');
|
return _('You can receive SMS messages through email from %%site.name%%.');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showScripts()
|
||||||
|
{
|
||||||
|
parent::showScripts();
|
||||||
|
$this->autofocus('sms');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Content area of the page
|
* Content area of the page
|
||||||
*
|
*
|
||||||
|
@ -107,6 +107,12 @@ class SubscriptionsAction extends GalleryAction
|
|||||||
array('nickname' => $this->user->nickname));
|
array('nickname' => $this->user->nickname));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showScripts()
|
||||||
|
{
|
||||||
|
parent::showScripts();
|
||||||
|
$this->autofocus('tag');
|
||||||
|
}
|
||||||
|
|
||||||
function showEmptyListMessage()
|
function showEmptyListMessage()
|
||||||
{
|
{
|
||||||
if (common_logged_in()) {
|
if (common_logged_in()) {
|
||||||
|
@ -199,7 +199,8 @@ class OAuthRequest {/*{{{*/
|
|||||||
} else {
|
} else {
|
||||||
// collect request parameters from query string (GET) and post-data (POST) if appropriate (note: POST vars have priority)
|
// collect request parameters from query string (GET) and post-data (POST) if appropriate (note: POST vars have priority)
|
||||||
$req_parameters = $_GET;
|
$req_parameters = $_GET;
|
||||||
if ($http_method == "POST" && @strstr($request_headers["Content-Type"], "application/x-www-form-urlencoded") ) {
|
if ($http_method == "POST" &&
|
||||||
|
( @strstr($request_headers["Content-Type"], "application/x-www-form-urlencoded") || @strstr($_ENV["CONTENT_TYPE"], "application/x-www-form-urlencoded") )) {
|
||||||
$req_parameters = array_merge($req_parameters, $_POST);
|
$req_parameters = array_merge($req_parameters, $_POST);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -327,6 +327,8 @@ class DesignSettingsAction extends AccountSettingsAction
|
|||||||
$this->script('js/farbtastic/farbtastic.js');
|
$this->script('js/farbtastic/farbtastic.js');
|
||||||
$this->script('js/farbtastic/farbtastic.go.js');
|
$this->script('js/farbtastic/farbtastic.go.js');
|
||||||
$this->script('js/userdesign.go.js');
|
$this->script('js/userdesign.go.js');
|
||||||
|
|
||||||
|
$this->autofocus('design_background-image_file');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -132,13 +132,16 @@ class GalleryAction extends OwnerDesignAction
|
|||||||
$this->elementEnd('li');
|
$this->elementEnd('li');
|
||||||
$this->elementStart('li', array('id'=>'filter_tags_item'));
|
$this->elementStart('li', array('id'=>'filter_tags_item'));
|
||||||
$this->elementStart('form', array('name' => 'bytag',
|
$this->elementStart('form', array('name' => 'bytag',
|
||||||
'id' => 'bytag',
|
'id' => 'form_filter_bytag',
|
||||||
'action' => common_path('?action=' . $this->trimmed('action')),
|
'action' => common_path('?action=' . $this->trimmed('action')),
|
||||||
'method' => 'post'));
|
'method' => 'post'));
|
||||||
|
$this->elementStart('fieldset');
|
||||||
|
$this->element('legend', null, _('Select tag to filter'));
|
||||||
$this->dropdown('tag', _('Tag'), $content,
|
$this->dropdown('tag', _('Tag'), $content,
|
||||||
_('Choose a tag to narrow list'), false, $tag);
|
_('Choose a tag to narrow list'), false, $tag);
|
||||||
$this->hidden('nickname', $this->user->nickname);
|
$this->hidden('nickname', $this->user->nickname);
|
||||||
$this->submit('submit', _('Go'));
|
$this->submit('submit', _('Go'));
|
||||||
|
$this->elementEnd('fieldset');
|
||||||
$this->elementEnd('form');
|
$this->elementEnd('form');
|
||||||
$this->elementEnd('li');
|
$this->elementEnd('li');
|
||||||
$this->elementEnd('ul');
|
$this->elementEnd('ul');
|
||||||
|
@ -412,4 +412,29 @@ class HTMLOutputter extends XMLOutputter
|
|||||||
$this->element('p', 'form_guide', $instructions);
|
$this->element('p', 'form_guide', $instructions);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Internal script to autofocus the given element on page onload.
|
||||||
|
*
|
||||||
|
* @param string $id element ID, must refer to an existing element
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
function autofocus($id)
|
||||||
|
{
|
||||||
|
$this->elementStart('script', array('type' => 'text/javascript'));
|
||||||
|
$this->raw('
|
||||||
|
<!--
|
||||||
|
$(document).ready(function() {
|
||||||
|
var el = $("#' . $id . '");
|
||||||
|
if (el.length) {
|
||||||
|
el.focus();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
-->
|
||||||
|
');
|
||||||
|
$this->elementEnd('script');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
11
lib/omb.php
@ -80,9 +80,14 @@ function omb_broadcast_notice($notice)
|
|||||||
$posted = array();
|
$posted = array();
|
||||||
|
|
||||||
while ($rp->fetch()) {
|
while ($rp->fetch()) {
|
||||||
if (isset($posted[$rp->postnoticeurl])) {
|
if (!array_key_exists($rp->postnoticeurl, $posted)) {
|
||||||
/* We already posted to this url. */
|
common_log(LOG_DEBUG, 'Posting to ' . $rp->postnoticeurl);
|
||||||
continue;
|
if (omb_post_notice_keys($notice, $rp->postnoticeurl, $rp->token, $rp->secret)) {
|
||||||
|
common_log(LOG_DEBUG, 'Finished to ' . $rp->postnoticeurl);
|
||||||
|
$posted[$rp->postnoticeurl] = true;
|
||||||
|
} else {
|
||||||
|
common_log(LOG_DEBUG, 'Failed posting to ' . $rp->postnoticeurl);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
common_debug('Posting to ' . $rp->postnoticeurl, __FILE__);
|
common_debug('Posting to ' . $rp->postnoticeurl, __FILE__);
|
||||||
|
|
||||||
|
12
lib/util.php
@ -59,7 +59,7 @@ function common_init_language()
|
|||||||
textdomain("statusnet");
|
textdomain("statusnet");
|
||||||
setlocale(LC_CTYPE, 'C');
|
setlocale(LC_CTYPE, 'C');
|
||||||
if(!$locale_set) {
|
if(!$locale_set) {
|
||||||
common_log(LOG_INFO,'Language requested:'.$language.' - locale could not be set:',__FILE__);
|
common_log(LOG_INFO, 'Language requested:' . $language . ' - locale could not be set. Perhaps that system locale is not installed.', __FILE__);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -432,7 +432,7 @@ function common_replace_urls_callback($text, $callback, $notice_id = null) {
|
|||||||
')'.
|
')'.
|
||||||
'|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'. //IPv4
|
'|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'. //IPv4
|
||||||
'|(?:'. //IPv6
|
'|(?:'. //IPv6
|
||||||
'\[?(?:(?:(?:[0-9A-Fa-f]{1,4}:){7}(?:(?:[0-9A-Fa-f]{1,4})|:))|(?:(?:[0-9A-Fa-f]{1,4}:){6}(?::|(?:(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})|(?::[0-9A-Fa-f]{1,4})))|(?:(?:[0-9A-Fa-f]{1,4}:){5}(?:(?::(?:(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|(?:(?::[0-9A-Fa-f]{1,4}){1,2})))|(?:(?:[0-9A-Fa-f]{1,4}:){4}(?::[0-9A-Fa-f]{1,4}){0,1}(?:(?::(?:(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|(?:(?::[0-9A-Fa-f]{1,4}){1,2})))|(?:(?:[0-9A-Fa-f]{1,4}:){3}(?::[0-9A-Fa-f]{1,4}){0,2}(?:(?::(?:(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|(?:(?::[0-9A-Fa-f]{1,4}){1,2})))|(?:(?:[0-9A-Fa-f]{1,4}:){2}(?::[0-9A-Fa-f]{1,4}){0,3}(?:(?::(?:(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|(?:(?::[0-9A-Fa-f]{1,4}){1,2})))|(?:(?:[0-9A-Fa-f]{1,4}:)(?::[0-9A-Fa-f]{1,4}){0,4}(?:(?::(?:(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|(?:(?::[0-9A-Fa-f]{1,4}){1,2})))|(?::(?::[0-9A-Fa-f]{1,4}){0,5}(?:(?::(?:(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|(?:(?::[0-9A-Fa-f]{1,4}){1,2})))|(?:(?:(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})))\]?'.
|
'\[?(?:(?:(?:[0-9A-Fa-f]{1,4}:){7}(?:(?:[0-9A-Fa-f]{1,4})|:))|(?:(?:[0-9A-Fa-f]{1,4}:){6}(?::|(?:(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})|(?::[0-9A-Fa-f]{1,4})))|(?:(?:[0-9A-Fa-f]{1,4}:){5}(?:(?::(?:(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|(?:(?::[0-9A-Fa-f]{1,4}){1,2})))|(?:(?:[0-9A-Fa-f]{1,4}:){4}(?::[0-9A-Fa-f]{1,4}){0,1}(?:(?::(?:(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|(?:(?::[0-9A-Fa-f]{1,4}){1,2})))|(?:(?:[0-9A-Fa-f]{1,4}:){3}(?::[0-9A-Fa-f]{1,4}){0,2}(?:(?::(?:(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|(?:(?::[0-9A-Fa-f]{1,4}){1,2})))|(?:(?:[0-9A-Fa-f]{1,4}:){2}(?::[0-9A-Fa-f]{1,4}){0,3}(?:(?::(?:(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|(?:(?::[0-9A-Fa-f]{1,4}){1,2})))|(?:(?:[0-9A-Fa-f]{1,4}:)(?::[0-9A-Fa-f]{1,4}){0,4}(?:(?::(?:(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|(?:(?::[0-9A-Fa-f]{1,4}){1,2})))|(?::(?::[0-9A-Fa-f]{1,4}){0,5}(?:(?::(?:(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|(?:(?::[0-9A-Fa-f]{1,4}){1,2})))|(?:(?:(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})))\]?(?<!:)'.
|
||||||
')|(?:'. //DNS
|
')|(?:'. //DNS
|
||||||
'(?:[\pN\pL\-\_\+\%\~]+(?:\:[\pN\pL\-\_\+\%\~]+)?\@)?'. //user:pass@
|
'(?:[\pN\pL\-\_\+\%\~]+(?:\:[\pN\pL\-\_\+\%\~]+)?\@)?'. //user:pass@
|
||||||
'[\pN\pL\-\_]+(?:\.[\pN\pL\-\_]+)*\.'.
|
'[\pN\pL\-\_]+(?:\.[\pN\pL\-\_]+)*\.'.
|
||||||
@ -442,13 +442,13 @@ function common_replace_urls_callback($text, $callback, $notice_id = null) {
|
|||||||
')'.
|
')'.
|
||||||
'(?:'.
|
'(?:'.
|
||||||
'(?:\:\d+)?'. //:port
|
'(?:\:\d+)?'. //:port
|
||||||
'(?:/[\pN\pL$\[\]\,\!\(\)\.\:\-\_\+\/\=\&\;\%\~]*)?'. // /path
|
'(?:/[\pN\pL$\[\]\,\!\(\)\.\:\-\_\+\/\=\&\;\%\~\*\$\+\'\"]*)?'. // /path
|
||||||
'(?:\?[\pN\pL\$\[\]\,\!\(\)\.\:\-\_\+\/\=\&\;\%\~\/]*)?'. // ?query string
|
'(?:\?[\pN\pL\$\[\]\,\!\(\)\.\:\-\_\+\/\=\&\;\%\~\*\$\+\'\"\/]*)?'. // ?query string
|
||||||
'(?:\#[\pN\pL$\[\]\,\!\(\)\.\:\-\_\+\/\=\&\;\%\~\/\?\#]*)?'. // #fragment
|
'(?:\#[\pN\pL$\[\]\,\!\(\)\.\:\-\_\+\/\=\&\;\%\~\*\$\+\'\"\/\?\#]*)?'. // #fragment
|
||||||
')(?<![\?\.\,\#\,])'.
|
')(?<![\?\.\,\#\,])'.
|
||||||
')'.
|
')'.
|
||||||
'#ixu';
|
'#ixu';
|
||||||
preg_match_all($regex,$text,$matches);
|
//preg_match_all($regex,$text,$matches);
|
||||||
//print_r($matches);
|
//print_r($matches);
|
||||||
return preg_replace_callback($regex, curry('callback_helper',$callback,$notice_id) ,$text);
|
return preg_replace_callback($regex, curry('callback_helper',$callback,$notice_id) ,$text);
|
||||||
}
|
}
|
||||||
|
@ -75,6 +75,8 @@ class LinkbackPlugin extends Plugin
|
|||||||
|
|
||||||
function linkbackUrl($url)
|
function linkbackUrl($url)
|
||||||
{
|
{
|
||||||
|
common_log(LOG_DEBUG,"Attempting linkback for " . $url);
|
||||||
|
|
||||||
$orig = $url;
|
$orig = $url;
|
||||||
$url = htmlspecialchars_decode($orig);
|
$url = htmlspecialchars_decode($orig);
|
||||||
$scheme = parse_url($url, PHP_URL_SCHEME);
|
$scheme = parse_url($url, PHP_URL_SCHEME);
|
||||||
@ -134,15 +136,20 @@ class LinkbackPlugin extends Plugin
|
|||||||
"User-Agent: " . $this->userAgent(),
|
"User-Agent: " . $this->userAgent(),
|
||||||
'content' => $request)));
|
'content' => $request)));
|
||||||
$file = file_get_contents($endpoint, false, $context);
|
$file = file_get_contents($endpoint, false, $context);
|
||||||
$response = xmlrpc_decode($file);
|
if (!$file) {
|
||||||
if (xmlrpc_is_fault($response)) {
|
|
||||||
common_log(LOG_WARNING,
|
common_log(LOG_WARNING,
|
||||||
|
"Pingback request failed for '$url' ($endpoint)");
|
||||||
|
} else {
|
||||||
|
$response = xmlrpc_decode($file);
|
||||||
|
if (xmlrpc_is_fault($response)) {
|
||||||
|
common_log(LOG_WARNING,
|
||||||
"Pingback error for '$url' ($endpoint): ".
|
"Pingback error for '$url' ($endpoint): ".
|
||||||
"$response[faultString] ($response[faultCode])");
|
"$response[faultString] ($response[faultCode])");
|
||||||
} else {
|
} else {
|
||||||
common_log(LOG_INFO,
|
common_log(LOG_INFO,
|
||||||
"Pingback success for '$url' ($endpoint): ".
|
"Pingback success for '$url' ($endpoint): ".
|
||||||
"'$response'");
|
"'$response'");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -84,6 +84,12 @@ class OpenidloginAction extends Action
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showScripts()
|
||||||
|
{
|
||||||
|
parent::showScripts();
|
||||||
|
$this->autofocus('openid_url');
|
||||||
|
}
|
||||||
|
|
||||||
function title()
|
function title()
|
||||||
{
|
{
|
||||||
return _('OpenID Login');
|
return _('OpenID Login');
|
||||||
|
@ -72,6 +72,12 @@ class OpenidsettingsAction extends AccountSettingsAction
|
|||||||
' Manage your associated OpenIDs from here.');
|
' Manage your associated OpenIDs from here.');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showScripts()
|
||||||
|
{
|
||||||
|
parent::showScripts();
|
||||||
|
$this->autofocus('openid_url');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Show the form for OpenID management
|
* Show the form for OpenID management
|
||||||
*
|
*
|
||||||
|
@ -25,6 +25,8 @@ class URLDetectionTest extends PHPUnit_Framework_TestCase
|
|||||||
static public function provider()
|
static public function provider()
|
||||||
{
|
{
|
||||||
return array(
|
return array(
|
||||||
|
array('not a link :: no way',
|
||||||
|
'not a link :: no way'),
|
||||||
array('http://127.0.0.1',
|
array('http://127.0.0.1',
|
||||||
'<a href="http://127.0.0.1/" rel="external">http://127.0.0.1</a>'),
|
'<a href="http://127.0.0.1/" rel="external">http://127.0.0.1</a>'),
|
||||||
array('127.0.0.1',
|
array('127.0.0.1',
|
||||||
@ -35,6 +37,22 @@ class URLDetectionTest extends PHPUnit_Framework_TestCase
|
|||||||
'<a href="http://127.0.0.1/Name:test.php" rel="external">127.0.0.1/Name:test.php</a>'),
|
'<a href="http://127.0.0.1/Name:test.php" rel="external">127.0.0.1/Name:test.php</a>'),
|
||||||
array('127.0.0.1/~test',
|
array('127.0.0.1/~test',
|
||||||
'<a href="http://127.0.0.1/~test" rel="external">127.0.0.1/~test</a>'),
|
'<a href="http://127.0.0.1/~test" rel="external">127.0.0.1/~test</a>'),
|
||||||
|
array('127.0.0.1/+test',
|
||||||
|
'<a href="http://127.0.0.1/+test" rel="external">127.0.0.1/+test</a>'),
|
||||||
|
array('127.0.0.1/$test',
|
||||||
|
'<a href="http://127.0.0.1/$test" rel="external">127.0.0.1/$test</a>'),
|
||||||
|
array('127.0.0.1/\'test',
|
||||||
|
'<a href="http://127.0.0.1/\'test" rel="external">127.0.0.1/\'test</a>'),
|
||||||
|
array('127.0.0.1/"test',
|
||||||
|
'<a href="http://127.0.0.1/"test" rel="external">127.0.0.1/"test</a>'),
|
||||||
|
array('127.0.0.1/-test',
|
||||||
|
'<a href="http://127.0.0.1/-test" rel="external">127.0.0.1/-test</a>'),
|
||||||
|
array('127.0.0.1/_test',
|
||||||
|
'<a href="http://127.0.0.1/_test" rel="external">127.0.0.1/_test</a>'),
|
||||||
|
array('127.0.0.1/!test',
|
||||||
|
'<a href="http://127.0.0.1/!test" rel="external">127.0.0.1/!test</a>'),
|
||||||
|
array('127.0.0.1/*test',
|
||||||
|
'<a href="http://127.0.0.1/*test" rel="external">127.0.0.1/*test</a>'),
|
||||||
array('127.0.0.1/test%20stuff',
|
array('127.0.0.1/test%20stuff',
|
||||||
'<a href="http://127.0.0.1/test%20stuff" rel="external">127.0.0.1/test%20stuff</a>'),
|
'<a href="http://127.0.0.1/test%20stuff" rel="external">127.0.0.1/test%20stuff</a>'),
|
||||||
array('http://[::1]:99/test.php',
|
array('http://[::1]:99/test.php',
|
||||||
|
@ -156,7 +156,8 @@ font-weight:bold;
|
|||||||
#form_notice_delete legend,
|
#form_notice_delete legend,
|
||||||
#form_password_recover legend,
|
#form_password_recover legend,
|
||||||
#form_password_change legend,
|
#form_password_change legend,
|
||||||
.form_entity_block legend {
|
.form_entity_block legend,
|
||||||
|
#form_filter_bytag legend {
|
||||||
display:none;
|
display:none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -510,6 +511,7 @@ margin-top:7px;
|
|||||||
margin-bottom:7px;
|
margin-bottom:7px;
|
||||||
margin-left:18px;
|
margin-left:18px;
|
||||||
float:left;
|
float:left;
|
||||||
|
max-width:322px;
|
||||||
}
|
}
|
||||||
#form_notice .error,
|
#form_notice .error,
|
||||||
#form_notice .success {
|
#form_notice .success {
|
||||||
@ -1049,36 +1051,37 @@ display:none;
|
|||||||
#filter_tags ul {
|
#filter_tags ul {
|
||||||
list-style-type:none;
|
list-style-type:none;
|
||||||
}
|
}
|
||||||
#filter_tags ul li {
|
#filter_tags li {
|
||||||
float:left;
|
float:left;
|
||||||
margin-left:7px;
|
margin-left:7px;
|
||||||
padding-left:7px;
|
padding-left:7px;
|
||||||
border-left-width:1px;
|
border-left-width:1px;
|
||||||
border-left-style:solid;
|
border-left-style:solid;
|
||||||
}
|
}
|
||||||
#filter_tags ul li.child_1 {
|
#filter_tags #filter_tags_all {
|
||||||
margin-left:0;
|
margin-left:0;
|
||||||
border-left:0;
|
border-left:0;
|
||||||
padding-left:0;
|
padding-left:0;
|
||||||
}
|
}
|
||||||
#filter_tags ul li#filter_tags_all a {
|
#filter_tags_all a {
|
||||||
font-weight:bold;
|
font-weight:bold;
|
||||||
margin-top:7px;
|
margin-top:7px;
|
||||||
float:left;
|
float:left;
|
||||||
}
|
}
|
||||||
|
|
||||||
#filter_tags ul li#filter_tags_item label {
|
#filter_tags_item label {
|
||||||
margin-right:7px;
|
margin-right:7px;
|
||||||
}
|
}
|
||||||
#filter_tags ul li#filter_tags_item label,
|
#filter_tags_item label,
|
||||||
#filter_tags ul li#filter_tags_item select {
|
#filter_tags_item select {
|
||||||
display:inline;
|
|
||||||
}
|
|
||||||
#filter_tags ul li#filter_tags_item p {
|
|
||||||
float:left;
|
float:left;
|
||||||
|
}
|
||||||
|
#filter_tags_item p {
|
||||||
|
float:left;
|
||||||
|
clear:both;
|
||||||
margin-left:38px;
|
margin-left:38px;
|
||||||
}
|
}
|
||||||
#filter_tags ul li#filter_tags_item input {
|
#filter_tags_item .submit {
|
||||||
position:relative;
|
position:relative;
|
||||||
top:3px;
|
top:3px;
|
||||||
left:3px;
|
left:3px;
|
||||||
|
@ -849,6 +849,10 @@ float:left;
|
|||||||
font-size:1.025em;
|
font-size:1.025em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.notice div.entry-content .timestamp {
|
||||||
|
display:inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
.notice div.entry-content dl,
|
.notice div.entry-content dl,
|
||||||
.notice div.entry-content dt,
|
.notice div.entry-content dt,
|
||||||
.notice div.entry-content dd {
|
.notice div.entry-content dd {
|
||||||
@ -866,15 +870,12 @@ display:inline-block;
|
|||||||
text-transform:lowercase;
|
text-transform:lowercase;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.notice-options {
|
.notice-options {
|
||||||
padding-left:2%;
|
|
||||||
float:left;
|
|
||||||
width:50%;
|
|
||||||
position:relative;
|
position:relative;
|
||||||
font-size:0.95em;
|
font-size:0.95em;
|
||||||
width:12.5%;
|
width:90px;
|
||||||
float:right;
|
float:right;
|
||||||
|
margin-right:11px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.notice-options a {
|
.notice-options a {
|
||||||
@ -897,38 +898,28 @@ left:29px;
|
|||||||
.notice-options .notice_delete {
|
.notice-options .notice_delete {
|
||||||
right:0;
|
right:0;
|
||||||
}
|
}
|
||||||
.notice-options .notice_reply dt {
|
|
||||||
display:none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.notice-options input,
|
.notice-options input,
|
||||||
.notice-options a {
|
.notice-options a {
|
||||||
text-indent:-9999px;
|
text-indent:-9999px;
|
||||||
outline:none;
|
outline:none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.notice-options .notice_reply a,
|
|
||||||
.notice-options input.submit {
|
.notice-options input.submit {
|
||||||
display:block;
|
display:block;
|
||||||
border:0;
|
border:0;
|
||||||
}
|
}
|
||||||
.notice-options .notice_reply a,
|
.notice-options .notice_reply,
|
||||||
.notice-options .notice_delete a {
|
.notice-options .notice_delete {
|
||||||
text-decoration:none;
|
text-decoration:none;
|
||||||
padding-left:16px;
|
padding-left:16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.notice-options form input.submit {
|
.notice-options form input.submit {
|
||||||
width:16px;
|
width:16px;
|
||||||
padding:2px 0;
|
padding:2px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.notice-options .notice_delete dt,
|
|
||||||
.notice-options .form_favor legend,
|
.notice-options .form_favor legend,
|
||||||
.notice-options .form_disfavor legend {
|
.notice-options .form_disfavor legend {
|
||||||
display:none;
|
display:none;
|
||||||
}
|
}
|
||||||
.notice-options .notice_delete fieldset,
|
|
||||||
.notice-options .form_favor fieldset,
|
.notice-options .form_favor fieldset,
|
||||||
.notice-options .form_disfavor fieldset {
|
.notice-options .form_disfavor fieldset {
|
||||||
border:0;
|
border:0;
|
||||||
|
@ -30,10 +30,10 @@ font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
|
|||||||
}
|
}
|
||||||
input, textarea, select,
|
input, textarea, select,
|
||||||
.entity_remote_subscribe {
|
.entity_remote_subscribe {
|
||||||
border-color:#aaa;
|
border-color:#AAAAAA;
|
||||||
}
|
}
|
||||||
#filter_tags ul li {
|
#filter_tags ul li {
|
||||||
border-color:#ddd;
|
border-color:#DDDDDD;
|
||||||
}
|
}
|
||||||
|
|
||||||
.form_settings input.form_action-primary {
|
.form_settings input.form_action-primary {
|
||||||
@ -50,11 +50,14 @@ background-color:#9BB43E;
|
|||||||
input:focus, textarea:focus, select:focus,
|
input:focus, textarea:focus, select:focus,
|
||||||
#form_notice.warning #notice_data-text {
|
#form_notice.warning #notice_data-text {
|
||||||
border-color:#9BB43E;
|
border-color:#9BB43E;
|
||||||
|
box-shadow:3px 3px 3px rgba(194, 194, 194, 0.3);
|
||||||
|
-moz-box-shadow:3px 3px 3px rgba(194, 194, 194, 0.3);
|
||||||
|
-webkit-box-shadow:3px 3px 3px rgba(194, 194, 194, 0.3);
|
||||||
}
|
}
|
||||||
input.submit,
|
input.submit,
|
||||||
.entity_remote_subscribe,
|
.entity_remote_subscribe,
|
||||||
#site_nav_local_views a {
|
#site_nav_local_views a {
|
||||||
color:#fff;
|
color:#FFFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
a,
|
a,
|
||||||
@ -62,10 +65,13 @@ a,
|
|||||||
div.notice-options input,
|
div.notice-options input,
|
||||||
.form_user_block input.submit,
|
.form_user_block input.submit,
|
||||||
.form_user_unblock input.submit,
|
.form_user_unblock input.submit,
|
||||||
|
.form_group_block input.submit,
|
||||||
|
.form_group_unblock input.submit,
|
||||||
.entity_send-a-message a,
|
.entity_send-a-message a,
|
||||||
.form_user_nudge input.submit,
|
.form_user_nudge input.submit,
|
||||||
.entity_nudge p,
|
.entity_nudge p,
|
||||||
.form_settings input.form_action-primary {
|
.form_settings input.form_action-primary,
|
||||||
|
.form_make_admin input.submit {
|
||||||
color:#002E6E;
|
color:#002E6E;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -82,13 +88,6 @@ border-top-color:#CEE1E9;
|
|||||||
border-top-color:#87B4C8;
|
border-top-color:#87B4C8;
|
||||||
}
|
}
|
||||||
|
|
||||||
#content .notice p.entry-content a:visited {
|
|
||||||
background-color:#fcfcfc;
|
|
||||||
}
|
|
||||||
#content .notice p.entry-content .vcard a {
|
|
||||||
background-color:#fcfffc;
|
|
||||||
}
|
|
||||||
|
|
||||||
.aside .section {
|
.aside .section {
|
||||||
background-color:#F1F5F8;
|
background-color:#F1F5F8;
|
||||||
background-position:100% 0;
|
background-position:100% 0;
|
||||||
@ -97,10 +96,10 @@ background-repeat:no-repeat;
|
|||||||
}
|
}
|
||||||
|
|
||||||
#notice_text-count {
|
#notice_text-count {
|
||||||
color:#333;
|
color:#333333;
|
||||||
}
|
}
|
||||||
#form_notice.warning #notice_text-count {
|
#form_notice.warning #notice_text-count {
|
||||||
color:#000;
|
color:#000000;
|
||||||
}
|
}
|
||||||
#form_notice label[for=notice_data-attach] {
|
#form_notice label[for=notice_data-attach] {
|
||||||
background:transparent url(../../base/images/icons/twotone/green/clip-01.gif) no-repeat 0 45%;
|
background:transparent url(../../base/images/icons/twotone/green/clip-01.gif) no-repeat 0 45%;
|
||||||
@ -109,28 +108,43 @@ background:transparent url(../../base/images/icons/twotone/green/clip-01.gif) no
|
|||||||
opacity:0;
|
opacity:0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#form_notice.processing #notice_action-submit {
|
#wrap form.processing input.submit {
|
||||||
background:#fff url(../../base/images/icons/icon_processing.gif) no-repeat 47% 47%;
|
background:#FFFFFF url(../../base/images/icons/icon_processing.gif) no-repeat 47% 47%;
|
||||||
cursor:wait;
|
cursor:wait;
|
||||||
text-indent:-9999px;
|
text-indent:-9999px;
|
||||||
|
outline:none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#content {
|
||||||
|
box-shadow:5px 7px 7px rgba(194, 194, 194, 0.3);
|
||||||
|
-moz-box-shadow:5px 7px 7px rgba(194, 194, 194, 0.3);
|
||||||
|
-webkit-box-shadow:5px 7px 7px rgba(194, 194, 194, 0.3);
|
||||||
|
}
|
||||||
#content,
|
#content,
|
||||||
#site_nav_local_views a,
|
#site_nav_local_views a,
|
||||||
.aside .section {
|
.aside .section {
|
||||||
border-color:#fff;
|
border-color:#FFFFFF;
|
||||||
}
|
}
|
||||||
#content,
|
#content,
|
||||||
#site_nav_local_views .current a {
|
#site_nav_local_views .current a {
|
||||||
background-color:#fff;
|
background-color:#FFFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#site_nav_local_views li {
|
||||||
|
box-shadow:3px 7px 5px rgba(194, 194, 194, 0.5);
|
||||||
|
-moz-box-shadow:3px 7px 5px rgba(194, 194, 194, 0.5);
|
||||||
|
-webkit-box-shadow:3px 7px 5px rgba(194, 194, 194, 0.5);
|
||||||
|
}
|
||||||
#site_nav_local_views a {
|
#site_nav_local_views a {
|
||||||
background-color:rgba(135, 180, 200, 0.3);
|
background-color:rgba(194, 194, 194, 0.5);
|
||||||
}
|
}
|
||||||
#site_nav_local_views a:hover {
|
#site_nav_local_views a:hover {
|
||||||
background-color:rgba(255, 255, 255, 0.7);
|
background-color:rgba(255, 255, 255, 0.7);
|
||||||
}
|
}
|
||||||
|
#site_nav_local_views .current a {
|
||||||
|
text-shadow: rgba(194,194,194,0.5) 1px 1px 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.error {
|
.error {
|
||||||
background-color:#F7E8E8;
|
background-color:#F7E8E8;
|
||||||
@ -140,10 +154,7 @@ background-color:#EFF3DC;
|
|||||||
}
|
}
|
||||||
|
|
||||||
#anon_notice {
|
#anon_notice {
|
||||||
color:#fff;
|
color:#FFFFFF;
|
||||||
}
|
|
||||||
|
|
||||||
#showstream #anon_notice {
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#export_data li a {
|
#export_data li a {
|
||||||
@ -165,7 +176,10 @@ background-image:url(../../base/images/icons/icon_foaf.gif);
|
|||||||
.form_user_nudge input.submit,
|
.form_user_nudge input.submit,
|
||||||
.form_user_block input.submit,
|
.form_user_block input.submit,
|
||||||
.form_user_unblock input.submit,
|
.form_user_unblock input.submit,
|
||||||
.entity_nudge p {
|
.form_group_block input.submit,
|
||||||
|
.form_group_unblock input.submit,
|
||||||
|
.entity_nudge p,
|
||||||
|
.form_make_admin input.submit {
|
||||||
background-position: 0 40%;
|
background-position: 0 40%;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-color:transparent;
|
background-color:transparent;
|
||||||
@ -175,7 +189,7 @@ background-color:transparent;
|
|||||||
.form_user_subscribe input.submit,
|
.form_user_subscribe input.submit,
|
||||||
.form_user_unsubscribe input.submit {
|
.form_user_unsubscribe input.submit {
|
||||||
background-color:#9BB43E;
|
background-color:#9BB43E;
|
||||||
color:#fff;
|
color:#FFFFFF;
|
||||||
}
|
}
|
||||||
.form_user_unsubscribe input.submit,
|
.form_user_unsubscribe input.submit,
|
||||||
.form_group_leave input.submit,
|
.form_group_leave input.submit,
|
||||||
@ -194,20 +208,23 @@ background-image:url(../../base/images/icons/twotone/green/quote.gif);
|
|||||||
background-image:url(../../base/images/icons/twotone/green/mail.gif);
|
background-image:url(../../base/images/icons/twotone/green/mail.gif);
|
||||||
}
|
}
|
||||||
.form_user_block input.submit,
|
.form_user_block input.submit,
|
||||||
.form_user_unblock input.submit {
|
.form_user_unblock input.submit,
|
||||||
|
.form_group_block input.submit,
|
||||||
|
.form_group_unblock input.submit {
|
||||||
background-image:url(../../base/images/icons/twotone/green/shield.gif);
|
background-image:url(../../base/images/icons/twotone/green/shield.gif);
|
||||||
}
|
}
|
||||||
|
.form_make_admin input.submit {
|
||||||
|
background-image:url(../../base/images/icons/twotone/green/admin.gif);
|
||||||
|
}
|
||||||
|
|
||||||
/* NOTICES */
|
/* NOTICES */
|
||||||
.notices li.over {
|
.notice .attachment {
|
||||||
background-color:#fcfcfc;
|
background:transparent url(../../base/images/icons/twotone/green/clip-02.gif) no-repeat 0 45%;
|
||||||
}
|
}
|
||||||
|
#attachments .attachment {
|
||||||
.notice-options .notice_reply a,
|
background:none;
|
||||||
.notice-options form input.submit {
|
|
||||||
background-color:transparent;
|
|
||||||
}
|
}
|
||||||
.notice-options .notice_reply a {
|
.notice-options .notice_reply {
|
||||||
background:transparent url(../../base/images/icons/twotone/green/reply.gif) no-repeat 0 45%;
|
background:transparent url(../../base/images/icons/twotone/green/reply.gif) no-repeat 0 45%;
|
||||||
}
|
}
|
||||||
.notice-options form.form_favor input.submit {
|
.notice-options form.form_favor input.submit {
|
||||||
@ -216,7 +233,7 @@ background:transparent url(../../base/images/icons/twotone/green/favourite.gif)
|
|||||||
.notice-options form.form_disfavor input.submit {
|
.notice-options form.form_disfavor input.submit {
|
||||||
background:transparent url(../../base/images/icons/twotone/green/disfavourite.gif) no-repeat 0 45%;
|
background:transparent url(../../base/images/icons/twotone/green/disfavourite.gif) no-repeat 0 45%;
|
||||||
}
|
}
|
||||||
.notice-options .notice_delete a {
|
.notice-options .notice_delete {
|
||||||
background:transparent url(../../base/images/icons/twotone/green/trash.gif) no-repeat 0 45%;
|
background:transparent url(../../base/images/icons/twotone/green/trash.gif) no-repeat 0 45%;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -224,19 +241,32 @@ background:transparent url(../../base/images/icons/twotone/green/trash.gif) no-r
|
|||||||
.notices div.notice-options {
|
.notices div.notice-options {
|
||||||
opacity:0.4;
|
opacity:0.4;
|
||||||
}
|
}
|
||||||
.notices li.hover div.entry-content,
|
.notices li:hover div.entry-content,
|
||||||
.notices li.hover div.notice-options {
|
.notices li:hover div.notice-options {
|
||||||
opacity:1;
|
opacity:1;
|
||||||
}
|
}
|
||||||
div.entry-content {
|
|
||||||
color:#333;
|
|
||||||
}
|
|
||||||
div.notice-options a,
|
div.notice-options a,
|
||||||
div.notice-options input {
|
div.notice-options input {
|
||||||
font-family:sans-serif;
|
font-family:sans-serif;
|
||||||
}
|
}
|
||||||
.notices li.hover {
|
#content .notices li:hover {
|
||||||
background-color:#fcfcfc;
|
background-color:rgba(240, 240, 240, 0.2);
|
||||||
|
}
|
||||||
|
#conversation .notices li:hover {
|
||||||
|
background-color:transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notices .notices {
|
||||||
|
background-color:rgba(200, 200, 200, 0.050);
|
||||||
|
}
|
||||||
|
.notices .notices .notices {
|
||||||
|
background-color:rgba(200, 200, 200, 0.100);
|
||||||
|
}
|
||||||
|
.notices .notices .notices .notices {
|
||||||
|
background-color:rgba(200, 200, 200, 0.150);
|
||||||
|
}
|
||||||
|
.notices .notices .notices .notices .notices {
|
||||||
|
background-color:rgba(200, 200, 200, 0.300);
|
||||||
}
|
}
|
||||||
/*END: NOTICES */
|
/*END: NOTICES */
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 6.2 KiB |
@ -94,10 +94,11 @@ background:transparent url(../../base/images/icons/twotone/green/clip-01.gif) no
|
|||||||
opacity:0;
|
opacity:0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#form_notice.processing #notice_action-submit {
|
#wrap form.processing input.submit {
|
||||||
background:#FFFFFF url(../../base/images/icons/icon_processing.gif) no-repeat 47% 47%;
|
background:#FFFFFF url(../../base/images/icons/icon_processing.gif) no-repeat 47% 47%;
|
||||||
cursor:wait;
|
cursor:wait;
|
||||||
text-indent:-9999px;
|
text-indent:-9999px;
|
||||||
|
outline:none;
|
||||||
}
|
}
|
||||||
|
|
||||||
#content {
|
#content {
|
||||||
@ -223,10 +224,6 @@ background:transparent url(../../base/images/icons/twotone/green/favourite.gif)
|
|||||||
.notice-options form.form_disfavor input.submit {
|
.notice-options form.form_disfavor input.submit {
|
||||||
background:transparent url(../../base/images/icons/twotone/green/disfavourite.gif) no-repeat 0 45%;
|
background:transparent url(../../base/images/icons/twotone/green/disfavourite.gif) no-repeat 0 45%;
|
||||||
}
|
}
|
||||||
.notice-options form.form_favor.processing input.submit,
|
|
||||||
.notice-options form.form_disfavor.processing input.submit {
|
|
||||||
background:transparent url(../../base/images/icons/icon_processing.gif) no-repeat 0 45%;
|
|
||||||
}
|
|
||||||
.notice-options .notice_delete {
|
.notice-options .notice_delete {
|
||||||
background:transparent url(../../base/images/icons/twotone/green/trash.gif) no-repeat 0 45%;
|
background:transparent url(../../base/images/icons/twotone/green/trash.gif) no-repeat 0 45%;
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 6.2 KiB |
@ -94,10 +94,11 @@ background:transparent url(../../base/images/icons/twotone/green/clip-01.gif) no
|
|||||||
opacity:0;
|
opacity:0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#form_notice.processing #notice_action-submit {
|
#wrap form.processing input.submit {
|
||||||
background:#FFFFFF url(../../base/images/icons/icon_processing.gif) no-repeat 47% 47%;
|
background:#FFFFFF url(../../base/images/icons/icon_processing.gif) no-repeat 47% 47%;
|
||||||
cursor:wait;
|
cursor:wait;
|
||||||
text-indent:-9999px;
|
text-indent:-9999px;
|
||||||
|
outline:none;
|
||||||
}
|
}
|
||||||
|
|
||||||
#content {
|
#content {
|
||||||
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 6.2 KiB |