summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorSarven Capadisli <csarven@status.net>2009-11-08 23:10:34 +0000
committerSarven Capadisli <csarven@status.net>2009-11-08 23:10:34 +0000
commit8e58f241739b97bd53f78035781f16e2067a31d9 (patch)
tree8ad366f5f408d1181b1816f607a120fe0c91c502 /lib
parent2a0a363e1d846334bc37d46b5f6f42e64a5a96eb (diff)
parentb78a35ec73980d8dfa2fcb68ef81936f4b3c110b (diff)
Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x
Diffstat (limited to 'lib')
-rw-r--r--lib/action.php34
-rw-r--r--lib/api.php14
-rw-r--r--lib/apiauth.php2
-rw-r--r--lib/common.php1
-rw-r--r--lib/dberroraction.php6
-rw-r--r--lib/error.php4
-rw-r--r--lib/htmloutputter.php6
-rw-r--r--lib/imagefile.php2
-rw-r--r--lib/jabber.php2
-rw-r--r--lib/mail.php6
-rw-r--r--lib/noticelist.php6
-rw-r--r--lib/noticesection.php2
-rw-r--r--lib/oauthstore.php4
-rw-r--r--lib/queuehandler.php12
-rw-r--r--lib/right.php3
-rw-r--r--lib/rssaction.php2
-rw-r--r--lib/search_engines.php2
-rw-r--r--lib/subs.php2
-rw-r--r--lib/theme.php164
-rw-r--r--lib/util.php12
-rw-r--r--lib/xmloutputter.php2
-rw-r--r--lib/xmppqueuehandler.php2
22 files changed, 196 insertions, 94 deletions
diff --git a/lib/action.php b/lib/action.php
index 1b2f73752..80f398fbd 100644
--- a/lib/action.php
+++ b/lib/action.php
@@ -168,7 +168,7 @@ class Action extends HTMLOutputter // lawsuit
{
if (is_readable(INSTALLDIR . '/theme/' . common_config('site', 'theme') . '/favicon.ico')) {
$this->element('link', array('rel' => 'shortcut icon',
- 'href' => theme_path('favicon.ico')));
+ 'href' => Theme::path('favicon.ico')));
} else {
$this->element('link', array('rel' => 'shortcut icon',
'href' => common_path('favicon.ico')));
@@ -177,7 +177,7 @@ class Action extends HTMLOutputter // lawsuit
if (common_config('site', 'mobile')) {
if (is_readable(INSTALLDIR . '/theme/' . common_config('site', 'theme') . '/apple-touch-icon.png')) {
$this->element('link', array('rel' => 'apple-touch-icon',
- 'href' => theme_path('apple-touch-icon.png')));
+ 'href' => Theme::path('apple-touch-icon.png')));
} else {
$this->element('link', array('rel' => 'apple-touch-icon',
'href' => common_path('apple-touch-icon.png')));
@@ -210,16 +210,16 @@ class Action extends HTMLOutputter // lawsuit
if (Event::handle('StartShowUAStyles', array($this))) {
$this->comment('[if IE]><link rel="stylesheet" type="text/css" '.
- 'href="'.theme_path('css/ie.css', 'base').'?version='.STATUSNET_VERSION.'" /><![endif]');
+ 'href="'.Theme::path('css/ie.css', 'base').'?version='.STATUSNET_VERSION.'" /><![endif]');
foreach (array(6,7) as $ver) {
- if (file_exists(theme_file('css/ie'.$ver.'.css', 'base'))) {
+ if (file_exists(Theme::file('css/ie'.$ver.'.css', 'base'))) {
// Yes, IE people should be put in jail.
$this->comment('[if lte IE '.$ver.']><link rel="stylesheet" type="text/css" '.
- 'href="'.theme_path('css/ie'.$ver.'.css', 'base').'?version='.STATUSNET_VERSION.'" /><![endif]');
+ 'href="'.Theme::path('css/ie'.$ver.'.css', 'base').'?version='.STATUSNET_VERSION.'" /><![endif]');
}
}
$this->comment('[if IE]><link rel="stylesheet" type="text/css" '.
- 'href="'.theme_path('css/ie.css', null).'?version='.STATUSNET_VERSION.'" /><![endif]');
+ 'href="'.Theme::path('css/ie.css', null).'?version='.STATUSNET_VERSION.'" /><![endif]');
Event::handle('EndShowUAStyles', array($this));
}
@@ -391,9 +391,9 @@ class Action extends HTMLOutputter // lawsuit
if (Event::handle('StartAddressData', array($this))) {
$this->elementStart('a', array('class' => 'url home bookmark',
'href' => common_local_url('public')));
- if (common_config('site', 'logo') || file_exists(theme_file('logo.png'))) {
+ if (common_config('site', 'logo') || file_exists(Theme::file('logo.png'))) {
$this->element('img', array('class' => 'logo photo',
- 'src' => (common_config('site', 'logo')) ? common_config('site', 'logo') : theme_path('logo.png'),
+ 'src' => (common_config('site', 'logo')) ? common_config('site', 'logo') : Theme::path('logo.png'),
'alt' => common_config('site', 'name')));
}
$this->element('span', array('class' => 'fn org'), common_config('site', 'name'));
@@ -1101,4 +1101,22 @@ class Action extends HTMLOutputter // lawsuit
{
return Design::siteDesign();
}
+
+ /**
+ * Check the session token.
+ *
+ * Checks that the current form has the correct session token,
+ * and throw an exception if it does not.
+ *
+ * @return void
+ */
+
+ function checkSessionToken()
+ {
+ // CSRF protection
+ $token = $this->trimmed('token');
+ if (empty($token) || $token != common_session_token()) {
+ $this->clientError(_('There was a problem with your session token.'));
+ }
+ }
}
diff --git a/lib/api.php b/lib/api.php
index a1236ab7e..fb4c4289b 100644
--- a/lib/api.php
+++ b/lib/api.php
@@ -66,7 +66,7 @@ class ApiAction extends Action
*
* @param array $args Web and URL arguments
*
- * @return boolean false if user doesn't exist
+ * @return boolean false if user does not exist
*/
function prepare($args)
@@ -138,7 +138,7 @@ class ApiAction extends Action
$design = null;
$user = $profile->getUser();
- // Note: some profiles don't have an associated user
+ // Note: some profiles do not have an associated user
if (!empty($user)) {
$design = $user->getDesign();
@@ -203,7 +203,7 @@ class ApiAction extends Action
if ($get_notice) {
$notice = $profile->getCurrentNotice();
if ($notice) {
- # don't get user!
+ # do not get user!
$twitter_user['status'] = $this->twitterStatusArray($notice, false);
}
}
@@ -263,7 +263,7 @@ class ApiAction extends Action
}
if ($include_user) {
- # Don't get notice (recursive!)
+ # Do not get notice (recursive!)
$twitter_user = $this->twitterUserArray($profile, false);
$twitter_status['user'] = $twitter_user;
}
@@ -1074,7 +1074,7 @@ class ApiAction extends Action
function initTwitterAtom()
{
$this->startXML();
- // FIXME: don't hardcode the language here!
+ // FIXME: do not hardcode the language here!
$this->elementStart('feed', array('xmlns' => 'http://www.w3.org/2005/Atom',
'xml:lang' => 'en-US',
'xmlns:thr' => 'http://purl.org/syndication/thread/1.0'));
@@ -1116,7 +1116,7 @@ class ApiAction extends Action
return User::staticGet('nickname', $nickname);
} else if ($this->arg('user_id')) {
// This is to ensure that a non-numeric user_id still
- // overrides screen_name even if it doesn't get used
+ // overrides screen_name even if it does not get used
if (is_numeric($this->arg('user_id'))) {
return User::staticGet('id', $this->arg('user_id'));
}
@@ -1146,7 +1146,7 @@ class ApiAction extends Action
return User_group::staticGet('nickname', $nickname);
} else if ($this->arg('group_id')) {
// This is to ensure that a non-numeric user_id still
- // overrides screen_name even if it doesn't get used
+ // overrides screen_name even if it does not get used
if (is_numeric($this->arg('group_id'))) {
return User_group::staticGet('id', $this->arg('group_id'));
}
diff --git a/lib/apiauth.php b/lib/apiauth.php
index 2f2e44a26..b8189f15d 100644
--- a/lib/apiauth.php
+++ b/lib/apiauth.php
@@ -87,7 +87,7 @@ class ApiAuthAction extends ApiAction
}
/**
- * Check for a user specified via HTTP basic auth. If there isn't
+ * Check for a user specified via HTTP basic auth. If there is not
* one, try to get one by outputting the basic auth header.
*
* @return boolean true or false
diff --git a/lib/common.php b/lib/common.php
index 68bdbf229..6aac46807 100644
--- a/lib/common.php
+++ b/lib/common.php
@@ -227,7 +227,6 @@ require_once 'markdown.php';
require_once INSTALLDIR.'/lib/util.php';
require_once INSTALLDIR.'/lib/action.php';
-require_once INSTALLDIR.'/lib/theme.php';
require_once INSTALLDIR.'/lib/mail.php';
require_once INSTALLDIR.'/lib/subs.php';
require_once INSTALLDIR.'/lib/Shorturl_api.php';
diff --git a/lib/dberroraction.php b/lib/dberroraction.php
index 2cb66a022..893797b70 100644
--- a/lib/dberroraction.php
+++ b/lib/dberroraction.php
@@ -39,7 +39,7 @@ require_once INSTALLDIR.'/lib/servererroraction.php';
*
* This only occurs if there's been a DB_DataObject_Error that's
* reported through PEAR, so we try to avoid doing anything that connects
- * to the DB, so we don't trigger it again.
+ * to the DB, so we do not trigger it again.
*
* @category Action
* @package StatusNet
@@ -62,12 +62,12 @@ class DBErrorAction extends ServerErrorAction
function getLanguage()
{
- // Don't try to figure out user's language; just show the page
+ // Do not try to figure out user's language; just show the page
return common_config('site', 'language');
}
function showPrimaryNav()
{
- // don't show primary nav
+ // do not show primary nav
}
}
diff --git a/lib/error.php b/lib/error.php
index 3162cfe65..5ed5dec1b 100644
--- a/lib/error.php
+++ b/lib/error.php
@@ -104,11 +104,11 @@ class ErrorAction extends Action
{
parent::showPage();
- // We don't want to have any more output after this
+ // We do not want to have any more output after this
exit();
}
- // Overload a bunch of stuff so the page isn't too bloated
+ // Overload a bunch of stuff so the page is not too bloated
function showBody()
{
diff --git a/lib/htmloutputter.php b/lib/htmloutputter.php
index ce83295fb..73bd9ce81 100644
--- a/lib/htmloutputter.php
+++ b/lib/htmloutputter.php
@@ -76,7 +76,7 @@ class HTMLOutputter extends XMLOutputter
/**
* Start an HTML document
*
- * If $type isn't specified, will attempt to do content negotiation.
+ * If $type is not specified, will attempt to do content negotiation.
*
* Attempts to do content negotiation for language, also.
*
@@ -375,8 +375,8 @@ class HTMLOutputter extends XMLOutputter
$url = parse_url($src);
if( empty($url->scheme) && empty($url->host) && empty($url->query) && empty($url->fragment))
{
- if(file_exists(theme_file($src,$theme))){
- $src = theme_path($src, $theme) . '?version=' . STATUSNET_VERSION;
+ if(file_exists(Theme::file($src,$theme))){
+ $src = Theme::path($src, $theme) . '?version=' . STATUSNET_VERSION;
}else{
$src = common_path($src);
}
diff --git a/lib/imagefile.php b/lib/imagefile.php
index cf1668f20..edc7218d0 100644
--- a/lib/imagefile.php
+++ b/lib/imagefile.php
@@ -119,7 +119,7 @@ class ImageFile
return;
}
- // Don't crop/scale if it isn't necessary
+ // Do not crop/scale if it is not necessary
if ($size === $this->width
&& $size === $this->height
&& $x === 0
diff --git a/lib/jabber.php b/lib/jabber.php
index 73f2ec660..d666fcbb3 100644
--- a/lib/jabber.php
+++ b/lib/jabber.php
@@ -437,7 +437,7 @@ function jabber_public_notice($notice)
$public = common_config('xmpp', 'public');
- // FIXME PRIV don't send out private messages here
+ // FIXME PRIV do not send out private messages here
// XXX: should we send out non-local messages if public,localonly
// = false? I think not
diff --git a/lib/mail.php b/lib/mail.php
index 5218059e9..79630b721 100644
--- a/lib/mail.php
+++ b/lib/mail.php
@@ -467,7 +467,7 @@ function mail_notify_nudge($from, $to)
"these days and is inviting you to post some news.\n\n".
"So let's hear from you :)\n\n".
"%3\$s\n\n".
- "Don't reply to this email; it won't get to them.\n\n".
+ "Do not reply to this email. It will not get to them.\n\n".
"With kind regards,\n".
"%4\$s\n"),
$from_profile->getBestName(),
@@ -516,7 +516,7 @@ function mail_notify_message($message, $from=null, $to=null)
"------------------------------------------------------\n\n".
"You can reply to their message here:\n\n".
"%4\$s\n\n".
- "Don't reply to this email; it won't get to them.\n\n".
+ "Do not reply to this email. It will not get to them.\n\n".
"With kind regards,\n".
"%5\$s\n"),
$from_profile->getBestName(),
@@ -532,7 +532,7 @@ function mail_notify_message($message, $from=null, $to=null)
/**
* notify a user that one of their notices has been chosen as a 'fave'
*
- * Doesn't check that the user has an email address nor if they
+ * Does not check that the user has an email address nor if they
* want to receive notification of faves. Maybe this happens higher
* up the stack...?
*
diff --git a/lib/noticelist.php b/lib/noticelist.php
index 8b3015cc3..4e5623ded 100644
--- a/lib/noticelist.php
+++ b/lib/noticelist.php
@@ -347,7 +347,7 @@ class NoticeListItem extends Widget
* show the link to the main page for the notice
*
* Displays a link to the page for a notice, with "relative" time. Tries to
- * get remote notice URLs correct, but doesn't always succeed.
+ * get remote notice URLs correct, but does not always succeed.
*
* @return void
*/
@@ -483,7 +483,7 @@ class NoticeListItem extends Widget
* show a link to reply to the current notice
*
* Should either do the reply in the current notice form (if available), or
- * link out to the notice-posting form. A little flakey, doesn't always work.
+ * link out to the notice-posting form. A little flakey, does not always work.
*
* @return void
*/
@@ -513,7 +513,7 @@ class NoticeListItem extends Widget
$user = common_current_user();
if (!empty($user) &&
- ($this->notice->profile_id == $user->id || $user->hasRight(Right::deleteOthersNotice))) {
+ ($this->notice->profile_id == $user->id || $user->hasRight(Right::DELETEOTHERSNOTICE))) {
$deleteurl = common_local_url('deletenotice',
array('notice' => $this->notice->id));
diff --git a/lib/noticesection.php b/lib/noticesection.php
index b223932ef..24465f8ba 100644
--- a/lib/noticesection.php
+++ b/lib/noticesection.php
@@ -114,7 +114,7 @@ class NoticeSection extends Section
$att_class = 'attachments';
}
- $clip = theme_path('images/icons/clip.png', 'base');
+ $clip = Theme::path('images/icons/clip.png', 'base');
$this->out->elementStart('a', array('class' => $att_class, 'style' => "font-style: italic;", 'href' => $href, 'title' => "# of attachments: $count"));
$this->out->raw(" ($count&nbsp");
$this->out->element('img', array('style' => 'display: inline', 'align' => 'top', 'width' => 20, 'height' => 20, 'src' => $clip, 'alt' => 'alt'));
diff --git a/lib/oauthstore.php b/lib/oauthstore.php
index d617a7df7..a4ea5ad4d 100644
--- a/lib/oauthstore.php
+++ b/lib/oauthstore.php
@@ -351,7 +351,7 @@ class StatusNetOAuthDataStore extends OAuthDataStore
$author = User::staticGet('uri', $author_uri);
}
if (!$author) {
- throw new Exception('No such user');
+ throw new Exception('No such user.');
}
common_log(LOG_DEBUG, print_r($author, true), __FILE__);
@@ -407,7 +407,7 @@ class StatusNetOAuthDataStore extends OAuthDataStore
$user = User::staticGet('uri', $uri);
}
if (!$user) {
- throw new Exception('No such user');
+ throw new Exception('No such user.');
}
return $user;
}
diff --git a/lib/queuehandler.php b/lib/queuehandler.php
index cd43b1e09..7c07ca4f9 100644
--- a/lib/queuehandler.php
+++ b/lib/queuehandler.php
@@ -96,8 +96,8 @@ class QueueHandler extends Daemon
* Initialization, run when the queue handler starts.
* If this function indicates failure, the handler run will be aborted.
*
- * @fixme run() will abort if this doesn't return true,
- * but some subclasses don't bother.
+ * @fixme run() will abort if this does not return true,
+ * but some subclasses do not bother.
* @return boolean true on success, false on failure
*/
function start()
@@ -108,8 +108,8 @@ class QueueHandler extends Daemon
* Cleanup, run when the queue handler ends.
* If this function indicates failure, a warning will be logged.
*
- * @fixme run() will throw warnings if this doesn't return true,
- * but many subclasses don't bother.
+ * @fixme run() will throw warnings if this does not return true,
+ * but many subclasses do not bother.
* @return boolean true on success, false on failure
*/
function finish()
@@ -137,7 +137,7 @@ class QueueHandler extends Daemon
* method, which passes control back to our handle_notice() method for
* each notice that comes in on the queue.
*
- * Most of the time this won't need to be overridden in a subclass.
+ * Most of the time this will not need to be overridden in a subclass.
*
* @return boolean true on success, false on failure
*/
@@ -173,7 +173,7 @@ class QueueHandler extends Daemon
* Called by QueueHandler after each handled item or empty polling cycle.
* This is a good time to e.g. service your XMPP connection.
*
- * Doesn't need to be overridden if there's no maintenance to do.
+ * Does not need to be overridden if there's no maintenance to do.
*
* @param int $timeout seconds to sleep if there's nothing to do
*/
diff --git a/lib/right.php b/lib/right.php
index 4e0096d46..4fc981af0 100644
--- a/lib/right.php
+++ b/lib/right.php
@@ -45,6 +45,7 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
class Right
{
- const deleteOthersNotice = 'deleteothersnotice';
+ const DELETEOTHERSNOTICE = 'deleteothersnotice';
+ const CONFIGURESITE = 'configuresite';
}
diff --git a/lib/rssaction.php b/lib/rssaction.php
index faf6bec7d..0e84a65e9 100644
--- a/lib/rssaction.php
+++ b/lib/rssaction.php
@@ -386,7 +386,7 @@ class Rss10Action extends Action
return null;
}
- // FIXME: doesn't handle modified profiles, avatars, deleted notices
+ // FIXME: does not handle modified profiles, avatars, deleted notices
return strtotime($this->notices[0]->created);
}
diff --git a/lib/search_engines.php b/lib/search_engines.php
index 69f6ff468..82713235c 100644
--- a/lib/search_engines.php
+++ b/lib/search_engines.php
@@ -119,7 +119,7 @@ class MySQLSearch extends SearchEngine
return true;
} else if ('identica_notices' === $this->table) {
- // Don't show imported notices
+ // Do not show imported notices
$this->target->whereAdd('notice.is_local != ' . Notice::GATEWAY);
if (strtolower($q) != $q) {
diff --git a/lib/subs.php b/lib/subs.php
index 68c89c842..934380b76 100644
--- a/lib/subs.php
+++ b/lib/subs.php
@@ -45,7 +45,7 @@ function subs_subscribe_user($user, $other_nickname)
function subs_subscribe_to($user, $other)
{
if ($user->isSubscribed($other)) {
- return _('Already subscribed!.');
+ return _('Already subscribed!');
}
if ($other->hasBlocked($user)) {
diff --git a/lib/theme.php b/lib/theme.php
index 08e3e8538..c658058ff 100644
--- a/lib/theme.php
+++ b/lib/theme.php
@@ -23,7 +23,7 @@
* @package StatusNet
* @author Evan Prodromou <evan@status.net>
* @author Sarven Capadisli <csarven@status.net>
- * @copyright 2008 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
* @link http://status.net/
*/
@@ -33,62 +33,146 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
}
/**
- * Gets the full path of a file in a theme dir based on its relative name
+ * Class for querying and manipulating a theme
*
- * @param string $relative relative path within the theme directory
- * @param string $theme name of the theme; defaults to current theme
+ * Themes are directories with some expected sub-directories and files
+ * in them. They're found in either local/theme (for locally-installed themes)
+ * or theme/ subdir of installation dir.
*
- * @return string File path to the theme file
+ * This used to be a couple of functions, but for various reasons it's nice
+ * to have a class instead.
+ *
+ * @category Output
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
*/
-function theme_file($relative, $theme=null)
+class Theme
{
- if (empty($theme)) {
- $theme = common_config('site', 'theme');
- }
- $dir = common_config('theme', 'dir');
- if (empty($dir)) {
- $dir = INSTALLDIR.'/theme';
- }
- return $dir.'/'.$theme.'/'.$relative;
-}
+ var $dir = null;
+ var $path = null;
-/**
- * Gets the full URL of a file in a theme dir based on its relative name
- *
- * @param string $relative relative path within the theme directory
- * @param string $theme name of the theme; defaults to current theme
- *
- * @return string URL of the file
- */
+ /**
+ * Constructor
+ *
+ * Determines the proper directory and path for this theme.
+ *
+ * @param string $name Name of the theme; defaults to config value
+ */
-function theme_path($relative, $theme=null)
-{
- if (empty($theme)) {
- $theme = common_config('site', 'theme');
- }
+ function __construct($name=null)
+ {
+ if (empty($name)) {
+ $name = common_config('site', 'theme');
+ }
+
+ // Check to see if it's in the local dir
+
+ $localroot = INSTALLDIR.'/local/theme';
+
+ $fulldir = $localroot.'/'.$name;
+
+ if (file_exists($fulldir) && is_dir($fulldir)) {
+ $this->dir = $fulldir;
+ $this->path = common_path('local/theme/'.$name.'/');
+ return;
+ }
+
+ // Check to see if it's in the distribution dir
- $path = common_config('theme', 'path');
+ $instroot = common_config('theme', 'dir');
- if (empty($path)) {
- $path = common_config('site', 'path') . '/theme/';
+ if (empty($instroot)) {
+ $instroot = INSTALLDIR.'/theme';
+ }
+
+ $fulldir = $instroot.'/'.$name;
+
+ if (file_exists($fulldir) && is_dir($fulldir)) {
+
+ $this->dir = $fulldir;
+
+ $path = common_config('theme', 'path');
+
+ if (empty($path)) {
+ $path = common_config('site', 'path') . '/theme/';
+ }
+
+ if ($path[strlen($path)-1] != '/') {
+ $path .= '/';
+ }
+
+ if ($path[0] != '/') {
+ $path = '/'.$path;
+ }
+
+ $server = common_config('theme', 'server');
+
+ if (empty($server)) {
+ $server = common_config('site', 'server');
+ }
+
+ // XXX: protocol
+
+ $this->path = 'http://'.$server.$path.$name;
+ }
}
- if ($path[strlen($path)-1] != '/') {
- $path .= '/';
+ /**
+ * Gets the full local filename of a file in this theme.
+ *
+ * @param string $relative relative name, like 'logo.png'
+ *
+ * @return string full pathname, like /var/www/mublog/theme/default/logo.png
+ */
+
+ function getFile($relative)
+ {
+ return $this->dir.'/'.$relative;
}
- if ($path[0] != '/') {
- $path = '/'.$path;
+ /**
+ * Gets the full HTTP url of a file in this theme
+ *
+ * @param string $relative relative name, like 'logo.png'
+ *
+ * @return string full URL, like 'http://example.com/theme/default/logo.png'
+ */
+
+ function getPath($relative)
+ {
+ return $this->path.'/'.$relative;
}
- $server = common_config('theme', 'server');
+ /**
+ * Gets the full path of a file in a theme dir based on its relative name
+ *
+ * @param string $relative relative path within the theme directory
+ * @param string $name name of the theme; defaults to current theme
+ *
+ * @return string File path to the theme file
+ */
- if (empty($server)) {
- $server = common_config('site', 'server');
+ static function file($relative, $name=null)
+ {
+ $theme = new Theme($name);
+ return $theme->getFile($relative);
}
- // XXX: protocol
+ /**
+ * Gets the full URL of a file in a theme dir based on its relative name
+ *
+ * @param string $relative relative path within the theme directory
+ * @param string $name name of the theme; defaults to current theme
+ *
+ * @return string URL of the file
+ */
- return 'http://'.$server.$path.$theme.'/'.$relative;
+ static function path($relative, $name=null)
+ {
+ $theme = new Theme($name);
+ return $theme->getPath($relative);
+ }
}
diff --git a/lib/util.php b/lib/util.php
index a4865c46c..b4f5af1af 100644
--- a/lib/util.php
+++ b/lib/util.php
@@ -62,7 +62,7 @@ function common_init_language()
$locale_set = common_init_locale($language);
setlocale(LC_CTYPE, 'C');
- // So we don't have to make people install the gettext locales
+ // So we do not have to make people install the gettext locales
$path = common_config('site','locale_path');
bindtextdomain("statusnet", $path);
bind_textdomain_codeset("statusnet", "UTF-8");
@@ -139,7 +139,7 @@ function common_check_user($nickname, $password)
}
}
}else{
- //no handler indicated the credentials were valid, and we know their not valid because the user isn't in the database
+ //no handler indicated the credentials were valid, and we know their not valid because the user is not in the database
return false;
}
} else {
@@ -396,7 +396,7 @@ function common_current_user()
}
// Logins that are 'remembered' aren't 'real' -- they're subject to
-// cookie-stealing. So, we don't let them do certain things. New reg,
+// cookie-stealing. So, we do not let them do certain things. New reg,
// OpenID, and password logins _are_ real.
function common_real_login($real=true)
@@ -1147,7 +1147,7 @@ function common_accept_to_prefs($accept, $def = '*/*')
$parts = explode(',', $accept);
foreach($parts as $part) {
- // FIXME: doesn't deal with params like 'text/html; level=1'
+ // FIXME: does not deal with params like 'text/html; level=1'
@list($value, $qpart) = explode(';', trim($part));
$match = array();
if(!isset($qpart)) {
@@ -1346,7 +1346,7 @@ function common_error_handler($errno, $errstr, $errfile, $errline, $errcontext)
}
// FIXME: show error page if we're on the Web
- /* Don't execute PHP internal error handler */
+ /* Do not execute PHP internal error handler */
return true;
}
@@ -1448,7 +1448,7 @@ function common_shorten_url($long_url)
}
global $_shorteners;
if (!isset($_shorteners[$svc])) {
- //the user selected service doesn't exist, so default to ur1.ca
+ //the user selected service does not exist, so default to ur1.ca
$svc = 'ur1.ca';
}
if (!isset($_shorteners[$svc])) {
diff --git a/lib/xmloutputter.php b/lib/xmloutputter.php
index 5f06e491d..9d862b2d0 100644
--- a/lib/xmloutputter.php
+++ b/lib/xmloutputter.php
@@ -112,7 +112,7 @@ class XMLOutputter
*
* Utility for outputting an XML element. A convenient wrapper
* for a bunch of longer XMLWriter calls. This is best for
- * when an element doesn't have any sub-elements; if that's the
+ * when an element does not have any sub-elements; if that's the
* case, use elementStart() and elementEnd() instead.
*
* The $content element will be escaped for XML. If you need
diff --git a/lib/xmppqueuehandler.php b/lib/xmppqueuehandler.php
index f28fc9088..7caa078ae 100644
--- a/lib/xmppqueuehandler.php
+++ b/lib/xmppqueuehandler.php
@@ -37,7 +37,7 @@ class XmppQueueHandler extends QueueHandler
function start()
{
- # Low priority; we don't want to receive messages
+ # Low priority; we do not want to receive messages
$this->log(LOG_INFO, "INITIALIZE");
$this->conn = jabber_connect($this->_id.$this->transport());