if (!defined('GNUSOCIAL')) { exit(1); }
-require_once INSTALLDIR.'/lib/noticeform.php';
-require_once INSTALLDIR.'/lib/htmloutputter.php';
-
/**
* Base class for all actions
*
common_config_set('db', 'database', $mirror);
}
- if ($this->prepare($args)) {
+ $status = $this->prepare($args);
+ if ($status) {
$this->handle($args);
+ } else {
+ common_debug('Prepare failed for Action.');
}
+
+ $this->flush();
+
+ Event::handle('EndActionExecute', array($status, $this));
}
/**
$this->checkLogin(); // if not logged in, this redirs/excepts
}
- $this->scoped = Profile::current();
+ $this->updateScopedProfile();
return true;
}
+ function updateScopedProfile() {
+ $this->scoped = Profile::current();
+ return $this->scoped;
+ }
+
+ public function getActionName()
+ {
+ return $this->action;
+ }
+
/**
* Show page, a template method.
*
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='.GNUSOCIAL_VERSION.'" /><![endif]');
foreach (array(6,7) as $ver) {
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='.GNUSOCIAL_VERSION.'" /><![endif]');
}
}
if (file_exists(Theme::file('css/ie.css'))) {
$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='.GNUSOCIAL_VERSION.'" /><![endif]');
}
Event::handle('EndShowUAStyles', array($this));
}
{
if (Event::handle('StartShowScripts', array($this))) {
if (Event::handle('StartShowJQueryScripts', array($this))) {
- if (common_config('site', 'minify')) {
- $this->script('extlib/jquery.min.js');
- $this->script('extlib/jquery.form.min.js');
- $this->script('extlib/jquery-ui/jquery-ui.min.js');
- $this->script('extlib/jquery.cookie.min.js');
- $this->inlineScript('if (typeof window.JSON !== "object") { $.getScript("'.common_path('js/extlib/json2.min.js', StatusNet::isHTTPS()).'"); }');
- $this->script('extlib/jquery.infieldlabel.min.js');
- } else {
- $this->script('extlib/jquery.js');
- $this->script('extlib/jquery.form.js');
- $this->script('extlib/jquery-ui/jquery-ui.js');
- $this->script('extlib/jquery.cookie.js');
- $this->inlineScript('if (typeof window.JSON !== "object") { $.getScript("'.common_path('js/extlib/json2.js', StatusNet::isHTTPS()).'"); }');
- $this->script('extlib/jquery.infieldlabel.js');
- }
+ $this->script('extlib/jquery.js');
+ $this->script('extlib/jquery.form.js');
+ $this->script('extlib/jquery-ui/jquery-ui.js');
+ $this->script('extlib/jquery.cookie.js');
+ $this->inlineScript('if (typeof window.JSON !== "object") { $.getScript("'.common_path('js/extlib/json2.js', StatusNet::isHTTPS()).'"); }');
+ $this->script('extlib/jquery.infieldlabel.js');
Event::handle('EndShowJQueryScripts', array($this));
}
- if (Event::handle('StartShowStatusNetScripts', array($this)) &&
- Event::handle('StartShowLaconicaScripts', array($this))) {
- if (common_config('site', 'minify')) {
- $this->script('util.min.js');
- } else {
- $this->script('util.js');
- $this->script('xbImportNode.js');
- $this->script('geometa.js');
- }
+ if (Event::handle('StartShowStatusNetScripts', array($this))) {
+ $this->script('util.js');
+ $this->script('xbImportNode.js');
+ $this->script('geometa.js');
+
// This route isn't available in single-user mode.
// Not sure why, but it causes errors here.
$this->inlineScript('var _peopletagAC = "' .
$this->inlineScript('if (window.top !== window.self) { document.write = ""; window.top.location = window.self.location; setTimeout(function () { document.body.innerHTML = ""; }, 1); window.self.onload = function () { document.body.innerHTML = ""; }; }');
}
Event::handle('EndShowStatusNetScripts', array($this));
- Event::handle('EndShowLaconicaScripts', array($this));
}
Event::handle('EndShowScripts', array($this));
}
function showNoticeForm()
{
// TRANS: Tab on the notice form.
- $tabs = array('status' => _m('TAB','Status'));
+ $tabs = array('status' => array('title' => _m('TAB','Status'),
+ 'href' => common_local_url('newnotice')));
$this->elementStart('div', 'input_forms');
$this->elementStart('ul', array('class' => 'nav',
'id' => 'input_form_nav'));
- foreach ($tabs as $tag => $title) {
+ foreach ($tabs as $tag => $data) {
+ $tag = htmlspecialchars($tag);
$attrs = array('id' => 'input_form_nav_'.$tag,
'class' => 'input_form_nav_tab');
$this->elementStart('li', $attrs);
$this->element('a',
- array('href' => 'javascript:SN.U.switchInputFormTab("'.$tag.'")'),
- $title);
+ array('onclick' => 'return SN.U.switchInputFormTab("'.$tag.'");',
+ 'href' => $data['href']),
+ $data['title']);
$this->elementEnd('li');
}
$form->show();
$this->elementEnd('div');
- foreach ($tabs as $tag => $title) {
+ foreach ($tabs as $tag => $data) {
$attrs = array('class' => 'input_form',
'id' => 'input_form_'.$tag);
*/
function showLicenses()
{
- $this->showStatusNetLicense();
+ $this->showGNUsocialLicense();
$this->showContentLicense();
}
/**
- * Show StatusNet license.
+ * Show GNU social license.
*
* @return nothing
*/
- function showStatusNetLicense()
+ function showGNUsocialLicense()
{
if (common_config('site', 'broughtby')) {
- // TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is set.
+ // TRANS: First sentence of the GNU social site license. Used if 'broughtby' is set.
// TRANS: Text between [] is a link description, text between () is the link itself.
// TRANS: Make sure there is no whitespace between "]" and "(".
// TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
$instr = _('**%%site.name%%** is a social network, courtesy of [%%site.broughtby%%](%%site.broughtbyurl%%).');
} else {
- // TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
+ // TRANS: First sentence of the GNU social site license. Used if 'broughtby' is not set.
$instr = _('**%%site.name%%** is a social network.');
}
$instr .= ' ';
- // TRANS: Second sentence of the StatusNet site license. Mentions the StatusNet source code license.
+ // TRANS: Second sentence of the GNU social site license. Mentions the GNU social source code license.
// TRANS: Make sure there is no whitespace between "]" and "(".
- // TRANS: Text between [] is a link description, text between () is the link itself.
- // TRANS: %s is the version of StatusNet that is being used.
- $instr .= sprintf(_('It runs on [GNU social](http://www.gnu.org/software/social/), version %s, available under the [GNU Affero General Public License](http://www.fsf.org/licensing/licenses/agpl-3.0.html).'), STATUSNET_VERSION);
+ // TRANS: [%1$s](%2$s) is a link description followed by the link itself
+ // TRANS: %3$s is the version of GNU social that is being used.
+ $instr .= sprintf(_('It runs on [%1$s](%2$s), version %3$s, available under the [GNU Affero General Public License](http://www.fsf.org/licensing/licenses/agpl-3.0.html).'), GNUSOCIAL_ENGINE, GNUSOCIAL_ENGINE_URL, GNUSOCIAL_VERSION);
$output = common_markup_to_html($instr);
$this->raw($output);
// do it
*/
function int($key, $defValue=null, $maxValue=null, $minValue=null)
{
- $arg = strtolower($this->trimmed($key));
+ $arg = intval($this->arg($key));
- if (is_null($arg) || !is_integer($arg)) {
+ if (!is_numeric($this->arg($key)) || $arg != $this->arg($key)) {
return $defValue;
}