Merge branch '0.8.x' into deleteuser
This commit is contained in:
commit
b3b3af9a2e
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -2,6 +2,7 @@ avatar/*
|
|||
background/*
|
||||
files/*
|
||||
file/*
|
||||
local/*
|
||||
_darcs/*
|
||||
logs/*
|
||||
config.php
|
||||
|
@ -23,4 +24,4 @@ config-*.php
|
|||
good-config.php
|
||||
lac08.log
|
||||
php.log
|
||||
config.php.*
|
||||
|
||||
|
|
20
EVENTS.txt
20
EVENTS.txt
|
@ -20,10 +20,16 @@ StartShowStyles: Showing Style links; good place to add UA style resets
|
|||
EndShowStyles: End showing Style links; good place to add custom styles
|
||||
- $action: the current action
|
||||
|
||||
StartShowLaconicaStyles: Showing Laconica Style links
|
||||
StartShowStatusNetStyles: Showing StatusNet Style links
|
||||
- $action: the current action
|
||||
|
||||
EndShowLaconicaStyles: End showing Laconica Style links; good place to add handheld or JavaScript dependant styles
|
||||
EndShowStatusNetStyles: End showing StatusNet Style links; good place to add handheld or JavaScript dependant styles
|
||||
- $action: the current action
|
||||
|
||||
StartShowLaconicaStyles: backwards compatibility; deprecated
|
||||
- $action: the current action
|
||||
|
||||
EndShowLaconicaStyles: backwards compatibility; deprecated
|
||||
- $action: the current action
|
||||
|
||||
StartShowUAStyles: Showing custom UA Style links
|
||||
|
@ -45,10 +51,16 @@ StartShowJQueryScripts: Showing JQuery script links (use this to link to e.g. Go
|
|||
EndShowJQueryScripts: End showing JQuery script links
|
||||
- $action: the current action
|
||||
|
||||
StartShowLaconicaScripts: Showing Laconica script links (use this to link to a CDN or something)
|
||||
StartShowStatusNetScripts: Showing StatusNet script links (use this to link to a CDN or something)
|
||||
- $action: the current action
|
||||
|
||||
EndShowLaconicaScripts: End showing Laconica script links
|
||||
EndShowStatusNetScripts: End showing StatusNet script links
|
||||
- $action: the current action
|
||||
|
||||
StartShowLaconicaScripts: backwards compatibility; deprecated
|
||||
- $action: the current action
|
||||
|
||||
EndShowLaconicaScripts: backwards compatibility; deprecated
|
||||
- $action: the current action
|
||||
|
||||
StartShowSections: Start the list of sections in the sidebar
|
||||
|
|
485
README
485
README
|
@ -2,41 +2,47 @@
|
|||
README
|
||||
------
|
||||
|
||||
Laconica 0.8.0 ("Shiny Happy People")
|
||||
15 July 2009
|
||||
StatusNet 0.8.1 ("Second Guessing")
|
||||
26 Aug 2009
|
||||
|
||||
This is the README file for Laconica, the Open Source microblogging
|
||||
platform. It includes installation instructions, descriptions of
|
||||
options you can set, warnings, tips, and general info for
|
||||
administrators. Information on using Laconica can be found in the
|
||||
This is the README file for StatusNet (formerly Laconica), the Open
|
||||
Source microblogging platform. It includes installation instructions,
|
||||
descriptions of options you can set, warnings, tips, and general info
|
||||
for administrators. Information on using StatusNet can be found in the
|
||||
"doc" subdirectory or in the "help" section on-line.
|
||||
|
||||
About
|
||||
=====
|
||||
|
||||
Laconica (pronounced "luh-KAWN-ih-kuh") is a Free and Open Source
|
||||
microblogging platform. It helps people in a community, company or
|
||||
group to exchange short (140 character) messages over the Web. Users
|
||||
can choose which people to "follow" and receive only their friends' or
|
||||
colleagues' status messages. It provides a similar service to sites
|
||||
like Twitter, Jaiku and Plurk.
|
||||
StatusNet (formerly Laconica) is a Free and Open Source microblogging
|
||||
platform. It helps people in a community, company or group to exchange
|
||||
short (140 character) messages over the Web. Users can choose which
|
||||
people to "follow" and receive only their friends' or colleagues'
|
||||
status messages. It provides a similar service to sites like Twitter,
|
||||
Jaiku, Yammer, and Plurk.
|
||||
|
||||
With a little work, status messages can be sent to mobile phones,
|
||||
instant messenger programs (GTalk/Jabber), and specially-designed
|
||||
desktop clients that support the Twitter API.
|
||||
|
||||
Laconica supports an open standard called OpenMicroBlogging
|
||||
StatusNet supports an open standard called OpenMicroBlogging
|
||||
<http://openmicroblogging.org/> that lets users on different Web sites
|
||||
or in different companies subscribe to each others' notices. It
|
||||
enables a distributed social network spread all across the Web.
|
||||
|
||||
Laconica was originally developed for the Open Software Service,
|
||||
StatusNet was originally developed for the Open Software Service,
|
||||
Identi.ca <http://identi.ca/>. It is shared with you in hope that you
|
||||
too make an Open Software Service available to your users. To learn
|
||||
more, please see the Open Software Service Definition 1.1:
|
||||
|
||||
http://www.opendefinition.org/ossd
|
||||
|
||||
StatusNet, Inc. <http://status.net/> also offers this software as a
|
||||
Web service, requiring no installation on your part. The software run
|
||||
on status.net is identical to the software available for download, so
|
||||
you can move back and forth between a hosted version or a version
|
||||
installed on your own servers.
|
||||
|
||||
License
|
||||
=======
|
||||
|
||||
|
@ -56,11 +62,11 @@ License along with this program, in the file "COPYING". If not, see
|
|||
|
||||
IMPORTANT NOTE: The GNU Affero General Public License (AGPL) has
|
||||
*different requirements* from the "regular" GPL. In particular, if
|
||||
you make modifications to the Laconica source code on your server,
|
||||
you make modifications to the StatusNet source code on your server,
|
||||
you *MUST MAKE AVAILABLE* the modified version of the source code
|
||||
to your users under the same license. This is a legal requirement
|
||||
of using the software, and if you do not wish to share your
|
||||
modifications, *YOU MAY NOT INSTALL LACONICA*.
|
||||
modifications, *YOU MAY NOT INSTALL STATUSNET*.
|
||||
|
||||
Additional library software has been made available in the 'extlib'
|
||||
directory. All of it is Free Software and can be distributed under
|
||||
|
@ -71,62 +77,49 @@ for additional terms.
|
|||
New this version
|
||||
================
|
||||
|
||||
This is a major feature release since version 0.7.4, released May 31
|
||||
2009. Notable changes this version:
|
||||
This is a minor feature and bugfix release since version 0.8.0,
|
||||
released Jul 15 2009. Notable changes this version:
|
||||
|
||||
- Support for a hosted service (status network). Multiple sites can
|
||||
share the same codebase but use different databases.
|
||||
- OEmbed. Links to pages that support OEmbed (http://www.oembed.com/)
|
||||
become popup links, and the media are shown in a special lightbox.
|
||||
- File attachments. Users can attach files of the size and type approved
|
||||
by an administrator, and a shortened link will be included in the
|
||||
notice.
|
||||
- Related notices are organized into conversations, with each reply a
|
||||
branch in a tree. Conversations have pages and are linked to from each
|
||||
notice in the conversation.
|
||||
- User designs. Users can specify colours and backgrounds
|
||||
for their profile pages and other "personal" pages.
|
||||
- Group designs. Group administrators can specify similar designs for
|
||||
group profiles and related pages.
|
||||
- Site designs. Site authors can specify a design (background and
|
||||
colors) for the site.
|
||||
- New themes. Five new themes are added to the base release; these show
|
||||
off the flexibility of Laconica's theming system.
|
||||
- Statistics. Public sites will periodically send usage statistics,
|
||||
configuration options, and dependency information to Laconica dev site.
|
||||
This will help us understand how the software is used and plan future
|
||||
versions of the software.
|
||||
- Additional hooks. The hooks and plugins system introduced in 0.7.x was
|
||||
expanded with additional points of access.
|
||||
- Facebook Connect. A new plugin allows logging in with Facebook Connect
|
||||
(http://developers.facebook.com/connect.php).
|
||||
- A session handler. A new optional session handler class to manage PHP
|
||||
sessions reliably and quickly for large sites.
|
||||
- STOMP queuing. Queue management for offline daemons has been
|
||||
abstracted with three concrete instances. A new interface that should
|
||||
work with STOMP servers like ActiveMQ and RabbitMQ is available, which
|
||||
should make things scale better.
|
||||
- Group block. Group admins can block users from joining or posting to
|
||||
a group.
|
||||
- Group aliases. Groups can be referred to with aliases, additional
|
||||
names. For example, "!yul" and "!montreal" can be the same group.
|
||||
- Bidirectional Twitter bridge. Users can read the tweets their Twitter
|
||||
friends post on Twitter.
|
||||
- Adaptation of WordPress.com Terms of Service (http://en.wordpress.com/tos/)
|
||||
as default TOS for Laconica sites.
|
||||
- Better command-line handling for scripts, including standard options
|
||||
and ability to set hostname and path from the command line.
|
||||
- An experimental plugin to use Meteor (http://www.meteorserver.org/)
|
||||
for "real-time" updates.
|
||||
- A new framework for "real-time" updates, making it easier to develop
|
||||
plugins for different browser-based update modes.
|
||||
- RSS 2.0 and Atom feeds for groups.
|
||||
- RSS 2.0 and Atom feeds for tags.
|
||||
- Attachments can be sent by email.
|
||||
- Attachments are encoded as enclosures in RSS 2.0 and Atom.
|
||||
- Notices with attachments display in Facebook as media inline.
|
||||
|
||||
- Many, many bug fixes.
|
||||
- Laconica has been renamed StatusNet. With a few minor compatibility
|
||||
exceptions, all references to "Laconica" in code, documentation
|
||||
and comments were changed to "StatusNet".
|
||||
- A new plugin to support "infinite scroll".
|
||||
- A new plugin to support reCaptcha <http://recaptcha.net>.
|
||||
- Better logging of server errors.
|
||||
- Add an Openid-only mode for authentication.
|
||||
- 'lite' parameter for some Twitter API methods.
|
||||
- A new plugin to auto-complete nicknames for @-replies.
|
||||
- Configuration options to disable OpenID, SMS, Twitter, post-by-email, and IM.
|
||||
- Support for lighttpd <http://lighttpd.org/> using 404-based
|
||||
rewrites.
|
||||
- Support for using Twitter's OAuth authentication as a client.
|
||||
- First version of the groups API.
|
||||
- Can configure a site-wide design, including background image and
|
||||
colors.
|
||||
- Improved algorithm for replies and conversations, making
|
||||
conversation trees more accurate and useful.
|
||||
- Add a script to create a simulation database for testing/debugging.
|
||||
- Sanitize HTML for OEmbed.
|
||||
- Improved queue management for DB-based queuing.
|
||||
- More complete URL detection.
|
||||
- Hashtags now support full Unicode character set.
|
||||
- Notice inboxes are now garbage-collected on a regular basis
|
||||
at notice-write time.
|
||||
- PiwikAnalyticsPlugin updated for latest Piwik interface.
|
||||
- Attachment and notice pages can be embedded with OEmbed
|
||||
<http://www.oembed.com>.
|
||||
- Failed authentication is logged.
|
||||
- PostgreSQL schema and support brought up-to-date with 0.8.x features.
|
||||
- The installer works with PostgreSQL as well as MySQL.
|
||||
- RSS 1.0 feeds use HTTP Basic authentication in private mode.
|
||||
- Many, many bug fixes, particularly with performance.
|
||||
- Better (=working) garbage collection for old sessions.
|
||||
- Better (=working) search queries.
|
||||
- Some cleanup of HTML output.
|
||||
- Better error handling when updating Facebook.
|
||||
- Considerably better performance when using replication for API
|
||||
calls.
|
||||
- Initial unit tests.
|
||||
|
||||
Prerequisites
|
||||
=============
|
||||
|
@ -137,7 +130,7 @@ run correctly.
|
|||
- PHP 5.2.3+. It may be possible to run this software on earlier
|
||||
versions of PHP, but many of the functions used are only available
|
||||
in PHP 5.2 or above.
|
||||
- MySQL 5.x. The Laconica database is stored, by default, in a MySQL
|
||||
- MySQL 5.x. The StatusNet database is stored, by default, in a MySQL
|
||||
server. It has been primarily tested on 5.x servers, although it may
|
||||
be possible to install on earlier (or later!) versions. The server
|
||||
*must* support the MyISAM storage engine -- the default for most
|
||||
|
@ -153,6 +146,7 @@ Your PHP installation must include the following PHP extensions:
|
|||
- GD. For scaling down avatar images.
|
||||
- mbstring. For handling Unicode (UTF-8) encoded strings.
|
||||
- gettext. For multiple languages. Default on many PHP installs.
|
||||
- tidy. Used to clean up HTML/URLs for the URL shortener to consume.
|
||||
|
||||
For some functionality, you will also need the following extensions:
|
||||
|
||||
|
@ -206,7 +200,7 @@ and the URLs are listed here for your convenience.
|
|||
as of this writing the version of this library that is available in
|
||||
the extlib directory is *significantly different* from the upstream
|
||||
version (patches have been submitted). Upgrading to the upstream
|
||||
version may render your Laconica site unable to send or receive XMPP
|
||||
version may render your StatusNet site unable to send or receive XMPP
|
||||
messages.
|
||||
- Facebook library. Used for the Facebook application.
|
||||
- PEAR Services_oEmbed. Used for some multimedia integration.
|
||||
|
@ -215,7 +209,7 @@ and the URLs are listed here for your convenience.
|
|||
- PEAR Net_URL2 is an oEmbed dependency.
|
||||
- Console_GetOpt for parsing command-line options.
|
||||
|
||||
A design goal of Laconica is that the basic Web functionality should
|
||||
A design goal of StatusNet is that the basic Web functionality should
|
||||
work on even the most restrictive commercial hosting services.
|
||||
However, additional functionality, such as receiving messages by
|
||||
Jabber/GTalk, require that you be able to run long-running processes
|
||||
|
@ -225,15 +219,15 @@ that you be able to install a mail filter in your mail server.
|
|||
Installation
|
||||
============
|
||||
|
||||
Installing the basic Laconica Web component is relatively easy,
|
||||
Installing the basic StatusNet Web component is relatively easy,
|
||||
especially if you've previously installed PHP/MySQL packages.
|
||||
|
||||
1. Unpack the tarball you downloaded on your Web server. Usually a
|
||||
command like this will work:
|
||||
|
||||
tar zxf laconica-0.8.0.tar.gz
|
||||
tar zxf statusnet-0.8.1.tar.gz
|
||||
|
||||
...which will make a laconica-0.8.0 subdirectory in your current
|
||||
...which will make a statusnet-0.8.1 subdirectory in your current
|
||||
directory. (If you don't have shell access on your Web server, you
|
||||
may have to unpack the tarball on your local computer and FTP the
|
||||
files to the server.)
|
||||
|
@ -241,11 +235,11 @@ especially if you've previously installed PHP/MySQL packages.
|
|||
2. Move the tarball to a directory of your choosing in your Web root
|
||||
directory. Usually something like this will work:
|
||||
|
||||
mv laconica-0.8.0 /var/www/mublog
|
||||
mv statusnet-0.8.1 /var/www/mublog
|
||||
|
||||
This will make your Laconica instance available in the mublog path of
|
||||
This will make your StatusNet instance available in the mublog path of
|
||||
your server, like "http://example.net/mublog". "microblog" or
|
||||
"laconica" might also be good path names. If you know how to
|
||||
"statusnet" might also be good path names. If you know how to
|
||||
configure virtual hosts on your web server, you can try setting up
|
||||
"http://micro.example.net/" or the like.
|
||||
|
||||
|
@ -276,9 +270,9 @@ especially if you've previously installed PHP/MySQL packages.
|
|||
5. Create a database to hold your microblog data. Something like this
|
||||
should work:
|
||||
|
||||
mysqladmin -u "username" --password="password" create laconica
|
||||
mysqladmin -u "username" --password="password" create statusnet
|
||||
|
||||
Note that Laconica must have its own database; you can't share the
|
||||
Note that StatusNet must have its own database; you can't share the
|
||||
database with another program. You can name it whatever you want,
|
||||
though.
|
||||
|
||||
|
@ -286,11 +280,11 @@ especially if you've previously installed PHP/MySQL packages.
|
|||
a tool like PHPAdmin to create a database. Check your hosting
|
||||
service's documentation for how to create a new MySQL database.)
|
||||
|
||||
6. Create a new database account that Laconica will use to access the
|
||||
6. Create a new database account that StatusNet will use to access the
|
||||
database. If you have shell access, this will probably work from the
|
||||
MySQL shell:
|
||||
|
||||
GRANT ALL on laconica.*
|
||||
GRANT ALL on statusnet.*
|
||||
TO 'lacuser'@'localhost'
|
||||
IDENTIFIED BY 'lacpassword';
|
||||
|
||||
|
@ -298,7 +292,7 @@ especially if you've previously installed PHP/MySQL packages.
|
|||
username and password. You may want to test logging in to MySQL as
|
||||
this new user.
|
||||
|
||||
7. In a browser, navigate to the Laconica install script; something like:
|
||||
7. In a browser, navigate to the StatusNet install script; something like:
|
||||
|
||||
http://yourserver.example.com/mublog/install.php
|
||||
|
||||
|
@ -316,7 +310,7 @@ especially if you've previously installed PHP/MySQL packages.
|
|||
Fancy URLs
|
||||
----------
|
||||
|
||||
By default, Laconica will use URLs that include the main PHP program's
|
||||
By default, StatusNet will use URLs that include the main PHP program's
|
||||
name in them. For example, a user's home profile might be
|
||||
found at:
|
||||
|
||||
|
@ -336,7 +330,7 @@ fancy URLs, you must either have Apache 2.x with .htaccess enabled and
|
|||
mod_redirect enabled, -OR- know how to configure "url redirection" in
|
||||
your server.
|
||||
|
||||
1. Copy the htaccess.sample file to .htaccess in your Laconica
|
||||
1. Copy the htaccess.sample file to .htaccess in your StatusNet
|
||||
directory. Note: if you have control of your server's httpd.conf or
|
||||
similar configuration files, it can greatly improve performance to
|
||||
import the .htaccess file into your conf file instead. If you're
|
||||
|
@ -344,8 +338,8 @@ your server.
|
|||
just leaving the .htaccess file.
|
||||
|
||||
2. Change the "RewriteBase" in the new .htaccess file to be the URL path
|
||||
to your Laconica installation on your server. Typically this will
|
||||
be the path to your Laconica directory relative to your Web root.
|
||||
to your StatusNet installation on your server. Typically this will
|
||||
be the path to your StatusNet directory relative to your Web root.
|
||||
|
||||
3. Add or uncomment or change a line in your config.php file so it says:
|
||||
|
||||
|
@ -380,7 +374,7 @@ to start and stop the sphinx search daemon.
|
|||
SMS
|
||||
---
|
||||
|
||||
Laconica supports a cheap-and-dirty system for sending update messages
|
||||
StatusNet supports a cheap-and-dirty system for sending update messages
|
||||
to mobile phones and for receiving updates from the mobile. Instead of
|
||||
sending through the SMS network itself, which is costly and requires
|
||||
buy-in from the wireless carriers, it simply piggybacks on the email
|
||||
|
@ -395,10 +389,10 @@ converted to a notice and stored in the DB.
|
|||
For this to work, there *must* be a domain or sub-domain for which all
|
||||
(or most) incoming email can pass through the incoming mail filter.
|
||||
|
||||
1. Run the SQL script carrier.sql in your Laconica database. This will
|
||||
1. Run the SQL script carrier.sql in your StatusNet database. This will
|
||||
usually work:
|
||||
|
||||
mysql -u "lacuser" --password="lacpassword" laconica < db/carrier.sql
|
||||
mysql -u "lacuser" --password="lacpassword" statusnet < db/carrier.sql
|
||||
|
||||
This will populate your database with a list of wireless carriers
|
||||
that support email SMS gateways.
|
||||
|
@ -412,7 +406,7 @@ For this to work, there *must* be a domain or sub-domain for which all
|
|||
|
||||
2. Edit /etc/aliases on your mail server and add the following line:
|
||||
|
||||
*: /path/to/laconica/scripts/maildaemon.php
|
||||
*: /path/to/statusnet/scripts/maildaemon.php
|
||||
|
||||
3. Run whatever code you need to to update your aliases database. For
|
||||
many mail servers (Postfix, Exim, Sendmail), this should work:
|
||||
|
@ -428,8 +422,8 @@ For this to work, there *must* be a domain or sub-domain for which all
|
|||
|
||||
At this point, post-by-email and post-by-SMS-gateway should work. Note
|
||||
that if your mail server is on a different computer from your email
|
||||
server, you'll need to have a full installation of Laconica, a working
|
||||
config.php, and access to the Laconica database from the mail server.
|
||||
server, you'll need to have a full installation of StatusNet, a working
|
||||
config.php, and access to the StatusNet database from the mail server.
|
||||
|
||||
XMPP
|
||||
----
|
||||
|
@ -449,7 +443,7 @@ well.
|
|||
similar. Alternately, your "update JID" can be registered on a
|
||||
publicly-available XMPP service, like jabber.org or GTalk.
|
||||
|
||||
Laconica will not register the JID with your chosen XMPP server;
|
||||
StatusNet will not register the JID with your chosen XMPP server;
|
||||
you need to do this manually, with an XMPP client like Gajim,
|
||||
Telepathy, or Pidgin.im.
|
||||
|
||||
|
@ -465,7 +459,7 @@ can really slow down your site; it may cause posting to timeout.
|
|||
|
||||
NOTE: stream_select(), a crucial function for network programming, is
|
||||
broken on PHP 5.2.x less than 5.2.6 on amd64-based servers. We don't
|
||||
work around this bug in Laconica; current recommendation is to move
|
||||
work around this bug in StatusNet; current recommendation is to move
|
||||
off of amd64 to another server.
|
||||
|
||||
Public feed
|
||||
|
@ -488,7 +482,7 @@ consider setting up queues and daemons.
|
|||
Queues and daemons
|
||||
------------------
|
||||
|
||||
Some activities that Laconica needs to do, like broadcast OMB, SMS,
|
||||
Some activities that StatusNet needs to do, like broadcast OMB, SMS,
|
||||
and XMPP messages, can be 'queued' and done by off-line bots instead.
|
||||
For this to work, you must be able to run long-running offline
|
||||
processes, either on your main Web server or on another server you
|
||||
|
@ -499,7 +493,7 @@ server is probably a good idea for high-volume sites.
|
|||
1. You'll need the "CLI" (command-line interface) version of PHP
|
||||
installed on whatever server you use.
|
||||
|
||||
2. If you're using a separate server for queues, install Laconica
|
||||
2. If you're using a separate server for queues, install StatusNet
|
||||
somewhere on the server. You don't need to worry about the
|
||||
.htaccess file, but make sure that your config.php file is close
|
||||
to, or identical to, your Web server's version.
|
||||
|
@ -516,7 +510,7 @@ server is probably a good idea for high-volume sites.
|
|||
|
||||
4. On the queues server, run the command scripts/startdaemons.sh. It
|
||||
needs as a parameter the install path; if you run it from the
|
||||
Laconica dir, "." should suffice.
|
||||
StatusNet dir, "." should suffice.
|
||||
|
||||
This will run eight (for now) queue handlers:
|
||||
|
||||
|
@ -548,39 +542,67 @@ All the daemons write their process IDs (pids) to /var/run/ by
|
|||
default. This can be useful for starting, stopping, and monitoring the
|
||||
daemons.
|
||||
|
||||
With version 0.8.0, it's now possible to use a STOMP server instead of
|
||||
Since version 0.8.0, it's now possible to use a STOMP server instead of
|
||||
our kind of hacky home-grown DB-based queue solution. See the "queues"
|
||||
config section below for how to configure to use STOMP. As of this
|
||||
writing, the software has been tested with ActiveMQ (
|
||||
|
||||
Twitter Friends Syncing
|
||||
-----------------------
|
||||
Twitter Bridge
|
||||
--------------
|
||||
|
||||
As of Laconica 0.6.3, users may set a flag in their settings ("Subscribe
|
||||
to my Twitter friends here" under the Twitter tab) to have Laconica
|
||||
attempt to locate and subscribe to "friends" (people they "follow") on
|
||||
Twitter who also have accounts on your Laconica system, and who have
|
||||
previously set up a link for automatically posting notices to Twitter.
|
||||
* OAuth
|
||||
|
||||
Optionally, there is a script (./scripts/synctwitterfriends.php), meant
|
||||
to be run periodically from a job scheduler (e.g.: cron under Unix), to
|
||||
look for new additions to users' friends lists. Note that the friends
|
||||
syncing only subscribes users to each other, it does not unsubscribe
|
||||
users when they stop following each other on Twitter.
|
||||
As of 0.8.1, OAuth is used to to access protected resources on Twitter
|
||||
instead of HTTP Basic Auth. To use Twitter bridging you will need
|
||||
to register your instance of StatusNet as an application on Twitter
|
||||
(http://twitter.com/apps), and update the following variables in your
|
||||
config.php with the consumer key and secret Twitter generates for you:
|
||||
|
||||
Sample cron job:
|
||||
$config['twitter']['consumer_key'] = 'YOURKEY';
|
||||
$config['twitter']['consumer_secret'] = 'YOURSECRET';
|
||||
|
||||
# Update Twitter friends subscriptions every half hour
|
||||
0,30 * * * * /path/to/php /path/to/laconica/scripts/synctwitterfriends.php>&/dev/null
|
||||
When registering your application with Twitter set the type to "Browser"
|
||||
and your Callback URL to:
|
||||
|
||||
http://example.org/mublog/twitter/authorization
|
||||
|
||||
The default access type should be, "Read & Write".
|
||||
|
||||
* Importing statuses from Twitter
|
||||
|
||||
To allow your users to import their friends' Twitter statuses, you will
|
||||
need to enable the bidirectional Twitter bridge in config.php:
|
||||
|
||||
$config['twitterbridge']['enabled'] = true;
|
||||
|
||||
and run the TwitterStatusFetcher daemon (scripts/twitterstatusfetcher.php).
|
||||
Additionally, you will want to set the integration source variable,
|
||||
which will keep notices posted to Twitter via StatusNet from looping
|
||||
back. The integration source should be set to the name of your
|
||||
application, exactly as you specified it on the settings page for your
|
||||
StatusNet application on Twitter, e.g.:
|
||||
|
||||
$config['integration']['source'] = 'YourApp';
|
||||
|
||||
* Twitter Friends Syncing
|
||||
|
||||
Users may set a flag in their settings ("Subscribe to my Twitter friends
|
||||
here" under the Twitter tab) to have StatusNet attempt to locate and
|
||||
subscribe to "friends" (people they "follow") on Twitter who also have
|
||||
accounts on your StatusNet system, and who have previously set up a link
|
||||
for automatically posting notices to Twitter.
|
||||
|
||||
As of 0.8.0, this is no longer accomplished via a cron job. Instead you
|
||||
must run the SyncTwitterFriends daemon (scripts/synctwitterfreinds.php).
|
||||
|
||||
Built-in Facebook Application
|
||||
-----------------------------
|
||||
|
||||
Laconica's Facebook application allows your users to automatically
|
||||
StatusNet's Facebook application allows your users to automatically
|
||||
update their Facebook statuses with their latest notices, invite
|
||||
their friends to use the app (and thus your site), view their notice
|
||||
timelines, and post notices -- all from within Facebook. The application
|
||||
is built into Laconica and runs on your host. For automatic Facebook
|
||||
is built into StatusNet and runs on your host. For automatic Facebook
|
||||
status updating to work you will need to enable queuing and run the
|
||||
facebookqueuehandler.php daemon (see the "Queues and daemons" section
|
||||
above).
|
||||
|
@ -601,13 +623,13 @@ key and secret, e.g.:
|
|||
|
||||
In Facebook's application editor, specify the following URLs for your app:
|
||||
|
||||
- Callback URL: http://example.net/mublog/facebook/
|
||||
- Post-Remove URL: http://example.net/mublog/facebook/remove
|
||||
- Canvas Callback URL: http://example.net/mublog/facebook/
|
||||
- Post-Remove Callback URL: http://example.net/mublog/facebook/remove
|
||||
- Post-Add Redirect URL: http://apps.facebook.com/yourapp/
|
||||
- Canvas URL: http://apps.facebook.com/yourapp/
|
||||
- Canvas Page URL: http://apps.facebook.com/yourapp/
|
||||
|
||||
(Replace 'example.net' with your host's URL, 'mublog' with the path
|
||||
to your Laconica installation, and 'yourapp' with the name of the
|
||||
to your StatusNet installation, and 'yourapp' with the name of the
|
||||
Facebook application you created.)
|
||||
|
||||
Additionally, Choose "Web" for Application type in the Advanced tab.
|
||||
|
@ -616,9 +638,9 @@ In the "Canvas setting" section, choose the "FBML" for Render Method,
|
|||
Everything else can be left with default values.
|
||||
|
||||
*For more detailed instructions please see the installation guide on the
|
||||
Laconica wiki:
|
||||
StatusNet wiki:
|
||||
|
||||
http://laconi.ca/trac/wiki/FacebookApplication
|
||||
http://status.net/trac/wiki/FacebookApplication
|
||||
|
||||
Sitemaps
|
||||
--------
|
||||
|
@ -626,11 +648,11 @@ Sitemaps
|
|||
Sitemap files <http://sitemaps.org/> are a very nice way of telling
|
||||
search engines and other interested bots what's available on your site
|
||||
and what's changed recently. You can generate sitemap files for your
|
||||
Laconica instance.
|
||||
StatusNet instance.
|
||||
|
||||
1. Choose your sitemap URL layout. Laconica creates a number of
|
||||
1. Choose your sitemap URL layout. StatusNet creates a number of
|
||||
sitemap XML files for different parts of your site. You may want to
|
||||
put these in a sub-directory of your Laconica directory to avoid
|
||||
put these in a sub-directory of your StatusNet directory to avoid
|
||||
clutter. The sitemap index file tells the search engines and other
|
||||
bots where to find all the sitemap files; it *must* be in the main
|
||||
installation directory or higher. Both types of file must be
|
||||
|
@ -660,7 +682,7 @@ to these resources.
|
|||
Themes
|
||||
------
|
||||
|
||||
There are two themes shipped with this version of Laconica: "identica",
|
||||
There are two themes shipped with this version of StatusNet: "identica",
|
||||
which is what the Identi.ca site uses, and "default", which is a good
|
||||
basis for other sites.
|
||||
|
||||
|
@ -691,28 +713,28 @@ default-avatar-mini.png: Ditto ditto, but 24x24. For subscriptions
|
|||
You may want to start by copying the files from the default theme to
|
||||
your own directory.
|
||||
|
||||
NOTE: the HTML generated by Laconica changed *radically* between
|
||||
NOTE: the HTML generated by StatusNet changed *radically* between
|
||||
version 0.6.x and 0.7.x. Older themes will need signification
|
||||
modification to use the new output format.
|
||||
|
||||
Translation
|
||||
-----------
|
||||
|
||||
Translations in Laconica use the gettext system <http://www.gnu.org/software/gettext/>.
|
||||
Translations in StatusNet use the gettext system <http://www.gnu.org/software/gettext/>.
|
||||
Theoretically, you can add your own sub-directory to the locale/
|
||||
subdirectory to add a new language to your system. You'll need to
|
||||
compile the ".po" files into ".mo" files, however.
|
||||
|
||||
Contributions of translation information to Laconica are very easy:
|
||||
you can use the Web interface at http://laconi.ca/pootle/ to add one
|
||||
Contributions of translation information to StatusNet are very easy:
|
||||
you can use the Web interface at http://status.net/pootle/ to add one
|
||||
or a few or lots of new translations -- or even new languages. You can
|
||||
also download more up-to-date .po files there, if you so desire.
|
||||
|
||||
Backups
|
||||
-------
|
||||
|
||||
There is no built-in system for doing backups in Laconica. You can make
|
||||
backups of a working Laconica system by backing up the database and
|
||||
There is no built-in system for doing backups in StatusNet. You can make
|
||||
backups of a working StatusNet system by backing up the database and
|
||||
the Web directory. To backup the database use mysqldump <http://ur1.ca/7xo>
|
||||
and to backup the Web directory, try tar.
|
||||
|
||||
|
@ -736,20 +758,20 @@ to users on a remote site. (Or not... it's not well tested.) The
|
|||
Upgrading
|
||||
=========
|
||||
|
||||
IMPORTANT NOTE: Laconica 0.7.4 introduced a fix for some
|
||||
IMPORTANT NOTE: StatusNet 0.7.4 introduced a fix for some
|
||||
incorrectly-stored international characters ("UTF-8"). For new
|
||||
installations, it will now store non-ASCII characters correctly.
|
||||
However, older installations will have the incorrect storage, and will
|
||||
consequently show up "wrong" in browsers. See below for how to deal
|
||||
with this situation.
|
||||
|
||||
If you've been using Laconica 0.7, 0.6, 0.5 or lower, or if you've
|
||||
If you've been using StatusNet 0.7, 0.6, 0.5 or lower, or if you've
|
||||
been tracking the "git" version of the software, you will probably
|
||||
want to upgrade and keep your existing data. There is no automated
|
||||
upgrade procedure in Laconica 0.8.0. Try these step-by-step
|
||||
upgrade procedure in StatusNet 0.8.1. Try these step-by-step
|
||||
instructions; read to the end first before trying them.
|
||||
|
||||
0. Download Laconica and set up all the prerequisites as if you were
|
||||
0. Download StatusNet and set up all the prerequisites as if you were
|
||||
doing a new install.
|
||||
1. Make backups of both your database and your Web directory. UNDER NO
|
||||
CIRCUMSTANCES should you try to do an upgrade without a known-good
|
||||
|
@ -766,14 +788,17 @@ instructions; read to the end first before trying them.
|
|||
maildaemon.php file, and running something like "newaliases".
|
||||
5. Once all writing processes to your site are turned off, make a
|
||||
final backup of the Web directory and database.
|
||||
6. Move your Laconica directory to a backup spot, like "mublog.bak".
|
||||
7. Unpack your Laconica 0.8.0 tarball and move it to "mublog" or
|
||||
6. Move your StatusNet directory to a backup spot, like "mublog.bak".
|
||||
7. Unpack your StatusNet 0.8.1 tarball and move it to "mublog" or
|
||||
wherever your code used to be.
|
||||
8. Copy the config.php file and avatar directory from your old
|
||||
directory to your new directory.
|
||||
9. Copy htaccess.sample to .htaccess in the new directory. Change the
|
||||
RewriteBase to use the correct path.
|
||||
10. Rebuild the database. NOTE: this step is destructive and cannot be
|
||||
10. Rebuild the database. (You can safely skip this step and go to #12
|
||||
if you're upgrading from another 0.8.x version).
|
||||
|
||||
NOTE: this step is destructive and cannot be
|
||||
reversed. YOU CAN EASILY DESTROY YOUR SITE WITH THIS STEP. Don't
|
||||
do it without a known-good backup!
|
||||
|
||||
|
@ -782,14 +807,14 @@ instructions; read to the end first before trying them.
|
|||
|
||||
mysql -u<rootuser> -p<rootpassword> <database> db/074to080.sql
|
||||
|
||||
Otherwise, go to your Laconica directory and AFTER YOU MAKE A
|
||||
Otherwise, go to your StatusNet directory and AFTER YOU MAKE A
|
||||
BACKUP run the rebuilddb.sh script like this:
|
||||
|
||||
./scripts/rebuilddb.sh rootuser rootpassword database db/laconica.sql
|
||||
./scripts/rebuilddb.sh rootuser rootpassword database db/statusnet.sql
|
||||
|
||||
Here, rootuser and rootpassword are the username and password for a
|
||||
user who can drop and create databases as well as tables; typically
|
||||
that's _not_ the user Laconica runs as. Note that rebuilddb.sh drops
|
||||
that's _not_ the user StatusNet runs as. Note that rebuilddb.sh drops
|
||||
your database and rebuilds it; if there is an error you have no
|
||||
database. Make sure you have a backup.
|
||||
For PostgreSQL databases there is an equivalent, rebuilddb_psql.sh,
|
||||
|
@ -806,8 +831,8 @@ the fixup_* scripts in the scripts directories. These will store some
|
|||
precooked data in the DB. All upgraders should check out the inboxes
|
||||
options below.
|
||||
|
||||
NOTE: the database definition file, stoica.ini, has been renamed to
|
||||
laconica.ini (since this is the recommended database name). If you
|
||||
NOTE: the database definition file, laconica.ini, has been renamed to
|
||||
statusnet.ini (since this is the recommended database name). If you
|
||||
have a line in your config.php pointing to the old name, you'll need
|
||||
to update it.
|
||||
|
||||
|
@ -843,13 +868,16 @@ problem.
|
|||
3. When fixup_inboxes is finished, you can set the enabled flag to
|
||||
'true'.
|
||||
|
||||
NOTE: As of version 0.8.1 notice inboxes are automatically trimmed back
|
||||
to ~1000 notices every once in a while.
|
||||
|
||||
NOTE: we will drop support for non-inboxed sites in the 0.9.x version
|
||||
of Laconica. It's time to switch now!
|
||||
of StatusNet. It's time to switch now!
|
||||
|
||||
UTF-8 Database
|
||||
--------------
|
||||
|
||||
Laconica 0.7.4 introduced a fix for some incorrectly-stored
|
||||
StatusNet 0.7.4 introduced a fix for some incorrectly-stored
|
||||
international characters ("UTF-8"). This fix is not
|
||||
backwards-compatible; installations from before 0.7.4 will show
|
||||
non-ASCII characters of old notices incorrectly. This section explains
|
||||
|
@ -872,19 +900,19 @@ what to do.
|
|||
Configuration options
|
||||
=====================
|
||||
|
||||
The main configuration file for Laconica (excepting configurations for
|
||||
dependency software) is config.php in your Laconica directory. If you
|
||||
The main configuration file for StatusNet (excepting configurations for
|
||||
dependency software) is config.php in your StatusNet directory. If you
|
||||
edit any other file in the directory, like lib/common.php (where most
|
||||
of the defaults are defined), you will lose your configuration options
|
||||
in any upgrade, and you will wish that you had been more careful.
|
||||
|
||||
Starting with version 0.7.1, you can put config files in the
|
||||
/etc/laconica/ directory on your server, if it exists. Config files
|
||||
/etc/statusnet/ directory on your server, if it exists. Config files
|
||||
will be included in this order:
|
||||
|
||||
* /etc/laconica/laconica.php - server-wide config
|
||||
* /etc/laconica/<servername>.php - for a virtual host
|
||||
* /etc/laconica/<servername>_<pathname>.php - for a path
|
||||
* /etc/statusnet/statusnet.php - server-wide config
|
||||
* /etc/statusnet/<servername>.php - for a virtual host
|
||||
* /etc/statusnet/<servername>_<pathname>.php - for a path
|
||||
* INSTALLDIR/config.php - for a particular implementation
|
||||
|
||||
Almost all configuration options are made through a two-dimensional
|
||||
|
@ -907,7 +935,7 @@ path: The path part of your site's URLs, like 'mublog' or ''
|
|||
(installed in root).
|
||||
fancy: whether or not your site uses fancy URLs (see Fancy URLs
|
||||
section above). Default is false.
|
||||
logfile: full path to a file for Laconica to save logging
|
||||
logfile: full path to a file for StatusNet to save logging
|
||||
information to. You may want to use this if you don't have
|
||||
access to syslog.
|
||||
logdebug: whether to log additional debug info like backtraces on
|
||||
|
@ -940,6 +968,8 @@ closed: If set to 'true', will disallow registration on your site.
|
|||
the service, *then* set this variable to 'true'.
|
||||
inviteonly: If set to 'true', will only allow registration if the user
|
||||
was invited by an existing user.
|
||||
openidonly: If set to 'true', will only allow registrations and logins
|
||||
through OpenID.
|
||||
private: If set to 'true', anonymous users will be redirected to the
|
||||
'login' page. Also, API methods that normally require no
|
||||
authentication will require it. Note that this does not turn
|
||||
|
@ -964,9 +994,6 @@ sslserver: use an alternate server name for SSL URLs, like
|
|||
shorturllength: Length of URL at which URLs in a message exceeding 140
|
||||
characters will be sent to the user's chosen
|
||||
shortening service.
|
||||
design: a default design (colors and background) for the site.
|
||||
Sub-items are: backgroundcolor, contentcolor, sidebarcolor,
|
||||
textcolor, linkcolor, backgroundimage, disposition.
|
||||
dupelimit: minimum time allowed for one person to say the same thing
|
||||
twice. Default 60s. Anything lower is considered a user
|
||||
or UI error.
|
||||
|
@ -978,14 +1005,14 @@ This section is a reference to the configuration options for
|
|||
DB_DataObject (see <http://ur1.ca/7xp>). The ones that you may want to
|
||||
set are listed below for clarity.
|
||||
|
||||
database: a DSN (Data Source Name) for your Laconica database. This is
|
||||
database: a DSN (Data Source Name) for your StatusNet database. This is
|
||||
in the format 'protocol://username:password@hostname/databasename',
|
||||
where 'protocol' is 'mysql' or 'mysqli' (or possibly 'postgresql', if you
|
||||
really know what you're doing), 'username' is the username,
|
||||
'password' is the password, and etc.
|
||||
ini_yourdbname: if your database is not named 'laconica', you'll need
|
||||
ini_yourdbname: if your database is not named 'statusnet', you'll need
|
||||
to set this to point to the location of the
|
||||
laconica.ini file. Note that the real name of your database
|
||||
statusnet.ini file. Note that the real name of your database
|
||||
should go in there, not literally 'yourdbname'.
|
||||
db_driver: You can try changing this to 'MDB2' to use the other driver
|
||||
type for DB_DataObject, but note that it breaks the OpenID
|
||||
|
@ -1013,11 +1040,11 @@ utf8: whether to talk to the database in UTF-8 mode. This is the default
|
|||
syslog
|
||||
------
|
||||
|
||||
By default, Laconica sites log error messages to the syslog facility.
|
||||
By default, StatusNet sites log error messages to the syslog facility.
|
||||
(You can override this using the 'logfile' parameter described above).
|
||||
|
||||
appname: The name that Laconica uses to log messages. By default it's
|
||||
"laconica", but if you have more than one installation on the
|
||||
appname: The name that StatusNet uses to log messages. By default it's
|
||||
"statusnet", but if you have more than one installation on the
|
||||
server, you may want to change the name for each instance so
|
||||
you can track log messages more easily.
|
||||
priority: level to log at. Currently ignored.
|
||||
|
@ -1076,9 +1103,9 @@ This is for configuring nicknames in the service.
|
|||
|
||||
blacklist: an array of strings for usernames that may not be
|
||||
registered. A default array exists for strings that are
|
||||
used by Laconica (e.g. 'doc', 'main', 'avatar', 'theme')
|
||||
used by StatusNet (e.g. 'doc', 'main', 'avatar', 'theme')
|
||||
but you may want to add others if you have other software
|
||||
installed in a subdirectory of Laconica or if you just
|
||||
installed in a subdirectory of StatusNet or if you just
|
||||
don't want certain words used as usernames.
|
||||
featured: an array of nicknames of 'featured' users of the site.
|
||||
Can be useful to draw attention to well-known users, or
|
||||
|
@ -1151,7 +1178,7 @@ host: some XMPP domains are served by machines with a different
|
|||
hostname. (For example, @gmail.com GTalk users connect to
|
||||
talk.google.com). Set this to the correct hostname if that's the
|
||||
case with your server.
|
||||
encryption: Whether to encrypt the connection between Laconica and the
|
||||
encryption: Whether to encrypt the connection between StatusNet and the
|
||||
XMPP server. Defaults to true, but you can get
|
||||
considerably better performance turning it off if you're
|
||||
connecting to a server on the same machine or on a
|
||||
|
@ -1170,6 +1197,14 @@ For configuring invites.
|
|||
|
||||
enabled: Whether to allow users to send invites. Default true.
|
||||
|
||||
openid
|
||||
------
|
||||
|
||||
For configuring OpenID.
|
||||
|
||||
enabled: Whether to allow users to register and login using OpenID. Default
|
||||
true.
|
||||
|
||||
tag
|
||||
---
|
||||
|
||||
|
@ -1217,7 +1252,7 @@ base: memcached uses key-value pairs to store data. We build long,
|
|||
base of the key is usually a simplified version of the site name
|
||||
(like "Identi.ca" => "identica"), but you can overwrite this if
|
||||
you need to. You can safely ignore it if you only have one
|
||||
Laconica site using your memcached server.
|
||||
StatusNet site using your memcached server.
|
||||
port: Port to connect to; defaults to 11211.
|
||||
|
||||
sphinx
|
||||
|
@ -1231,13 +1266,37 @@ enabled: Set to true to enable. Default false.
|
|||
server: a string with the hostname of the sphinx server.
|
||||
port: an integer with the port number of the sphinx server.
|
||||
|
||||
emailpost
|
||||
---------
|
||||
|
||||
For post-by-email.
|
||||
|
||||
enabled: Whether to enable post-by-email. Defaults to true. You will
|
||||
also need to set up maildaemon.php.
|
||||
|
||||
sms
|
||||
---
|
||||
|
||||
For SMS integration.
|
||||
|
||||
enabled: Whether to enable SMS integration. Defaults to true. Queues
|
||||
should also be enabled.
|
||||
|
||||
twitter
|
||||
-------
|
||||
|
||||
For Twitter integration
|
||||
|
||||
enabled: Whether to enable Twitter integration. Defaults to true.
|
||||
Queues should also be enabled.
|
||||
|
||||
integration
|
||||
-----------
|
||||
|
||||
A catch-all for integration with other systems.
|
||||
|
||||
source: The name to use for the source of posts to Twitter. Defaults
|
||||
to 'laconica', but if you request your own source name from
|
||||
to 'statusnet', but if you request your own source name from
|
||||
Twitter <http://twitter.com/help/request_source>, you can use
|
||||
that here instead. Status updates on Twitter will then have
|
||||
links to your site.
|
||||
|
@ -1294,11 +1353,11 @@ snapshot
|
|||
--------
|
||||
|
||||
The software will, by default, send statistical snapshots about the
|
||||
local installation to a stats server on the laconi.ca Web site. This
|
||||
local installation to a stats server on the status.net Web site. This
|
||||
data is used by the developers to prioritize development decisions. No
|
||||
identifying data about users or organizations is collected. The data
|
||||
is available to the public for review. Participating in this survey
|
||||
helps Laconica developers take your needs into account when updating
|
||||
helps StatusNet developers take your needs into account when updating
|
||||
the software.
|
||||
|
||||
run: string indicating when to run the statistics. Values can be 'web'
|
||||
|
@ -1309,7 +1368,7 @@ frequency: if run value is 'web', how often to report statistics.
|
|||
Measured in Web hits; depends on how active your site is.
|
||||
Default is 10000 -- that is, one report every 10000 Web hits,
|
||||
on average.
|
||||
reporturl: URL to post statistics to. Defaults to Laconica developers'
|
||||
reporturl: URL to post statistics to. Defaults to StatusNet developers'
|
||||
report system, but if they go evil or disappear you may
|
||||
need to update this to another value. Note: if you
|
||||
don't want to report stats, it's much better to
|
||||
|
@ -1432,10 +1491,24 @@ notify third-party servers of updates.
|
|||
notify: an array of URLs for ping endpoints. Default is the empty
|
||||
array (no notification).
|
||||
|
||||
design
|
||||
------
|
||||
|
||||
Default design (colors and background) for the site. Actual appearance
|
||||
depends on the theme. Null values mean to use the theme defaults.
|
||||
|
||||
backgroundcolor: Hex color of the site background.
|
||||
contentcolor: Hex color of the content area background.
|
||||
sidebarcolor: Hex color of the sidebar background.
|
||||
textcolor: Hex color of all non-link text.
|
||||
linkcolor: Hex color of all links.
|
||||
backgroundimage: Image to use for the background.
|
||||
disposition: Flags for whether or not to tile the background image.
|
||||
|
||||
Plugins
|
||||
=======
|
||||
|
||||
Beginning with the 0.7.x branch, Laconica has supported a simple but
|
||||
Beginning with the 0.7.x branch, StatusNet has supported a simple but
|
||||
powerful plugin architecture. Important events in the code are named,
|
||||
like 'StartNoticeSave', and other software can register interest
|
||||
in those events. When the events happen, the other software is called
|
||||
|
@ -1471,7 +1544,7 @@ can enable a plugin with the following line in config.php:
|
|||
|
||||
This will look for and load files named 'ExamplePlugin.php' or
|
||||
'Example/ExamplePlugin.php' either in the plugins/ directory (for
|
||||
plugins that ship with Laconica) or in the local/ directory (for
|
||||
plugins that ship with StatusNet) or in the local/ directory (for
|
||||
plugins you write yourself or that you get from somewhere else) or
|
||||
local/plugins/.
|
||||
|
||||
|
@ -1480,24 +1553,24 @@ Plugins are documented in their own directories.
|
|||
Troubleshooting
|
||||
===============
|
||||
|
||||
The primary output for Laconica is syslog, unless you configured a
|
||||
The primary output for StatusNet is syslog, unless you configured a
|
||||
separate logfile. This is probably the first place to look if you're
|
||||
getting weird behaviour from Laconica.
|
||||
getting weird behaviour from StatusNet.
|
||||
|
||||
If you're tracking the unstable version of Laconica in the git
|
||||
If you're tracking the unstable version of StatusNet in the git
|
||||
repository (see below), and you get a compilation error ("unexpected
|
||||
T_STRING") in the browser, check to see that you don't have any
|
||||
conflicts in your code.
|
||||
|
||||
If you upgraded to Laconica 0.7.4 without reading the "Notice inboxes"
|
||||
section above, and all your users' 'Personal' tabs are empty, read the
|
||||
"Notice inboxes" section above.
|
||||
If you upgraded to StatusNet 0.8.1 without reading the "Notice
|
||||
inboxes" section above, and all your users' 'Personal' tabs are empty,
|
||||
read the "Notice inboxes" section above.
|
||||
|
||||
Myths
|
||||
=====
|
||||
|
||||
These are some myths you may see on the Web about Laconica.
|
||||
Documentation from the core team about Laconica has been pretty
|
||||
These are some myths you may see on the Web about StatusNet.
|
||||
Documentation from the core team about StatusNet has been pretty
|
||||
sparse, so some backtracking and guesswork resulted in some incorrect
|
||||
assumptions.
|
||||
|
||||
|
@ -1509,7 +1582,7 @@ assumptions.
|
|||
|
||||
- "Edit dataobject.ini with the following settings..." dataobject.ini
|
||||
is a development file for the DB_DataObject framework and is not
|
||||
used by the running software. It was removed from the Laconica
|
||||
used by the running software. It was removed from the StatusNet
|
||||
distribution because its presence was confusing. Do not bother
|
||||
configuring dataobject.ini, and do not put your database username
|
||||
and password into the file on a production Web server; unscrupulous
|
||||
|
@ -1519,45 +1592,55 @@ Unstable version
|
|||
================
|
||||
|
||||
If you're adventurous or impatient, you may want to install the
|
||||
development version of Laconica. To get it, use the git version
|
||||
development version of StatusNet. To get it, use the git version
|
||||
control tool <http://git-scm.com/> like so:
|
||||
|
||||
git clone http://laconi.ca/software/laconica.git
|
||||
git clone git@gitorious.org:statusnet/mainline.git
|
||||
|
||||
This is the version of the software that runs on Identi.ca and the
|
||||
status.net hosted service. Using it is a mixed bag. On the positive
|
||||
side, it usually includes the latest security and bug fix patches. On
|
||||
the downside, it may also include changes that require admin
|
||||
intervention (like running a script or even raw SQL!) that may not be
|
||||
documented yet. It may be a good idea to test this version before
|
||||
installing it on your production machines.
|
||||
|
||||
To keep it up-to-date, use 'git pull'. Watch for conflicts!
|
||||
|
||||
Further information
|
||||
===================
|
||||
|
||||
There are several ways to get more information about Laconica.
|
||||
There are several ways to get more information about StatusNet.
|
||||
|
||||
* There is a mailing list for Laconica developers and admins at
|
||||
http://mail.laconi.ca/mailman/listinfo/laconica-dev
|
||||
* The #laconica IRC channel on freenode.net <http://www.freenode.net/>.
|
||||
* The Laconica wiki, http://laconi.ca/trac/
|
||||
* There is a mailing list for StatusNet developers and admins at
|
||||
http://mail.status.net/mailman/listinfo/statusnet-dev
|
||||
* The #statusnet IRC channel on freenode.net <http://www.freenode.net/>.
|
||||
* The StatusNet wiki, http://status.net/wiki/
|
||||
* The StatusNet blog, http://status.net/blog/
|
||||
* The StatusNet status update, <http://status.status.net/status> (!)
|
||||
|
||||
Feedback
|
||||
========
|
||||
|
||||
* Microblogging messages to http://identi.ca/evan are very welcome.
|
||||
* Laconica's Trac server has a bug tracker for any defects you may find,
|
||||
or ideas for making things better. http://laconi.ca/trac/
|
||||
* e-mail to evan@identi.ca will usually be read and responded to very
|
||||
* StatusNet's Trac server has a bug tracker for any defects you may find,
|
||||
or ideas for making things better. http://status.net/trac/
|
||||
* e-mail to evan@status.net will usually be read and responded to very
|
||||
quickly, unless the question is really hard.
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
The following is an incomplete list of developers who've worked on
|
||||
Laconi.ca. Apologies for any oversight; please let evan@identi.ca know
|
||||
StatusNet. Apologies for any oversight; please let evan@status.net know
|
||||
if anyone's been overlooked in error.
|
||||
|
||||
* Evan Prodromou, founder and lead developer, Control Yourself, Inc.
|
||||
* Zach Copley, Control Yourself, Inc.
|
||||
* Earle Martin, Control Yourself, Inc.
|
||||
* Marie-Claude Doyon, designer, Control Yourself, Inc.
|
||||
* Sarven Capadisli, Control Yourself, Inc.
|
||||
* Robin Millette, Control Yourself, Inc.
|
||||
* Evan Prodromou, founder and lead developer, StatusNet, Inc.
|
||||
* Zach Copley, StatusNet, Inc.
|
||||
* Earle Martin, StatusNet, Inc.
|
||||
* Marie-Claude Doyon, designer, StatusNet, Inc.
|
||||
* Sarven Capadisli, StatusNet, Inc.
|
||||
* Robin Millette, StatusNet, Inc.
|
||||
* Ciaran Gultnieks
|
||||
* Michael Landers
|
||||
* Ori Avtalion
|
||||
|
@ -1589,6 +1672,6 @@ if anyone's been overlooked in error.
|
|||
* Craig Andrews
|
||||
|
||||
Thanks also to the developers of our upstream library code and to the
|
||||
thousands of people who have tried out Identi.ca, installed Laconi.ca,
|
||||
thousands of people who have tried out Identi.ca, installed StatusNet,
|
||||
told their friends, and built the Open Microblogging network to what
|
||||
it is today.
|
||||
|
|
|
@ -5,14 +5,14 @@
|
|||
* PHP version 5
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -28,7 +28,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -38,11 +38,11 @@ require_once INSTALLDIR.'/lib/omb.php';
|
|||
* Access token class.
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
class AccesstokenAction extends Action
|
||||
{
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
require_once INSTALLDIR.'/lib/personalgroupnav.php';
|
||||
require_once INSTALLDIR.'/lib/noticelist.php';
|
||||
|
@ -25,11 +25,31 @@ require_once INSTALLDIR.'/lib/feedlist.php';
|
|||
|
||||
class AllAction extends ProfileAction
|
||||
{
|
||||
var $notice;
|
||||
|
||||
function isReadOnly($args)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
function prepare($args)
|
||||
{
|
||||
parent::prepare($args);
|
||||
$cur = common_current_user();
|
||||
|
||||
if (!empty($cur) && $cur->id == $this->user->id) {
|
||||
$this->notice = $this->user->noticeInbox(($this->page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1);
|
||||
} else {
|
||||
$this->notice = $this->user->noticesWithFriends(($this->page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1);
|
||||
}
|
||||
|
||||
if($this->page > 1 && $this->notice->N == 0){
|
||||
$this->serverError(_('No such page'),$code=404);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function handle($args)
|
||||
{
|
||||
parent::handle($args);
|
||||
|
@ -88,7 +108,9 @@ class AllAction extends ProfileAction
|
|||
}
|
||||
}
|
||||
else {
|
||||
$message .= sprintf(_('Why not [register an account](%%%%action.register%%%%) and then nudge %s or post a notice to his or her attention.'), $this->user->nickname);
|
||||
$message .= sprintf(_('Why not [register an account](%%%%action.%s%%%%) and then nudge %s or post a notice to his or her attention.'),
|
||||
(!common_config('site','openidonly')) ? 'register' : 'openidlogin',
|
||||
$this->user->nickname);
|
||||
}
|
||||
|
||||
$this->elementStart('div', 'guide');
|
||||
|
@ -98,15 +120,7 @@ class AllAction extends ProfileAction
|
|||
|
||||
function showContent()
|
||||
{
|
||||
$cur = common_current_user();
|
||||
|
||||
if (!empty($cur) && $cur->id == $this->user->id) {
|
||||
$notice = $this->user->noticeInbox(($this->page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1);
|
||||
} else {
|
||||
$notice = $this->user->noticesWithFriends(($this->page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1);
|
||||
}
|
||||
|
||||
$nl = new NoticeList($notice, $this);
|
||||
$nl = new NoticeList($this->notice, $this);
|
||||
|
||||
$cnt = $nl->show();
|
||||
|
||||
|
|
|
@ -6,14 +6,14 @@
|
|||
* PHP version 5
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -29,7 +29,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -41,11 +41,11 @@ require_once INSTALLDIR.'/lib/rssaction.php';
|
|||
* Formatting of RSS handled by Rss10Action
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
class AllrssAction extends Rss10Action
|
||||
{
|
||||
|
@ -115,8 +115,8 @@ class AllrssAction extends Rss10Action
|
|||
'link' => common_local_url('all',
|
||||
array('nickname' =>
|
||||
$user->nickname)),
|
||||
'description' => sprintf(_('Feed for friends of %s'),
|
||||
$user->nickname));
|
||||
'description' => sprintf(_('Updates from %1$s and friends on %2$s!'),
|
||||
$user->nickname, common_config('site', 'name')));
|
||||
return $c;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
class ApiAction extends Action
|
||||
{
|
||||
|
@ -27,6 +27,8 @@ class ApiAction extends Action
|
|||
var $api_arg;
|
||||
var $api_method;
|
||||
var $api_action;
|
||||
var $auth_user;
|
||||
var $auth_pw;
|
||||
|
||||
function handle($args)
|
||||
{
|
||||
|
@ -35,6 +37,7 @@ class ApiAction extends Action
|
|||
$this->api_action = $this->arg('apiaction');
|
||||
$method = $this->arg('method');
|
||||
$argument = $this->arg('argument');
|
||||
$this->basic_auth_process_header();
|
||||
|
||||
if (isset($argument)) {
|
||||
$cmdext = explode('.', $argument);
|
||||
|
@ -50,16 +53,16 @@ class ApiAction extends Action
|
|||
}
|
||||
|
||||
if ($this->requires_auth()) {
|
||||
if (!isset($_SERVER['PHP_AUTH_USER'])) {
|
||||
if (!isset($this->auth_user)) {
|
||||
|
||||
# This header makes basic auth go
|
||||
header('WWW-Authenticate: Basic realm="Laconica API"');
|
||||
header('WWW-Authenticate: Basic realm="StatusNet API"');
|
||||
|
||||
# If the user hits cancel -- bam!
|
||||
$this->show_basic_auth_error();
|
||||
} else {
|
||||
$nickname = $_SERVER['PHP_AUTH_USER'];
|
||||
$password = $_SERVER['PHP_AUTH_PW'];
|
||||
$nickname = $this->auth_user;
|
||||
$password = $this->auth_pw;
|
||||
$user = common_check_user($nickname, $password);
|
||||
|
||||
if ($user) {
|
||||
|
@ -76,8 +79,8 @@ class ApiAction extends Action
|
|||
} else {
|
||||
|
||||
// Caller might give us a username even if not required
|
||||
if (isset($_SERVER['PHP_AUTH_USER'])) {
|
||||
$user = User::staticGet('nickname', $_SERVER['PHP_AUTH_USER']);
|
||||
if (isset($this->auth_user)) {
|
||||
$user = User::staticGet('nickname', $this->auth_user);
|
||||
if ($user) {
|
||||
$this->user = $user;
|
||||
}
|
||||
|
@ -125,29 +128,36 @@ class ApiAction extends Action
|
|||
'users/show',
|
||||
'help/test',
|
||||
'help/downtime_schedule',
|
||||
'laconica/version',
|
||||
'laconica/config',
|
||||
'laconica/wadl',
|
||||
'statusnet/version',
|
||||
'statusnet/config',
|
||||
'statusnet/wadl',
|
||||
'tags/timeline',
|
||||
'oembed/oembed',
|
||||
'groups/show',
|
||||
'groups/timeline',
|
||||
'groups/list_all',
|
||||
'groups/membership',
|
||||
'groups/is_member',
|
||||
'groups/timeline');
|
||||
|
||||
static $bareauth = array('statuses/user_timeline',
|
||||
'statuses/friends_timeline',
|
||||
'statuses/home_timeline',
|
||||
'statuses/friends',
|
||||
'statuses/replies',
|
||||
'statuses/mentions',
|
||||
'statuses/followers',
|
||||
'favorites/favorites',
|
||||
'friendships/show');
|
||||
'friendships/show',
|
||||
'groups/list_groups');
|
||||
|
||||
$fullname = "$this->api_action/$this->api_method";
|
||||
|
||||
// If the site is "private", all API methods except laconica/config
|
||||
// If the site is "private", all API methods except statusnet/config
|
||||
// need authentication
|
||||
|
||||
if (common_config('site', 'private')) {
|
||||
return $fullname != 'laconica/config' || false;
|
||||
return $fullname != 'statusnet/config' || false;
|
||||
}
|
||||
|
||||
// bareauth: only needs auth if without an argument or query param specifying user
|
||||
|
@ -197,6 +207,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()
|
||||
{
|
||||
header('HTTP/1.1 401 Unauthorized');
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Show notice attachments
|
||||
*
|
||||
|
@ -20,14 +20,14 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Personal
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -37,10 +37,10 @@ require_once INSTALLDIR.'/lib/attachmentlist.php';
|
|||
* Show notice attachments
|
||||
*
|
||||
* @category Personal
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class AttachmentAction extends Action
|
||||
|
@ -103,18 +103,18 @@ class AttachmentAction extends Action
|
|||
$this->element('link',array('rel'=>'alternate',
|
||||
'type'=>'application/json+oembed',
|
||||
'href'=>common_local_url(
|
||||
'api',
|
||||
array('apiaction'=>'oembed','method'=>'oembed.json'),
|
||||
array('url'=>
|
||||
'oembed',
|
||||
array(),
|
||||
array('format'=>'json', 'url'=>
|
||||
common_local_url('attachment',
|
||||
array('attachment' => $this->attachment->id)))),
|
||||
'title'=>'oEmbed'),null);
|
||||
$this->element('link',array('rel'=>'alternate',
|
||||
'type'=>'text/xml+oembed',
|
||||
'href'=>common_local_url(
|
||||
'api',
|
||||
array('apiaction'=>'oembed','method'=>'oembed.xml'),
|
||||
array('url'=>
|
||||
'oembed',
|
||||
array(),
|
||||
array('format'=>'xml','url'=>
|
||||
common_local_url('attachment',
|
||||
array('attachment' => $this->attachment->id)))),
|
||||
'title'=>'oEmbed'),null);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Show notice attachments
|
||||
*
|
||||
|
@ -20,14 +20,14 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Personal
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -37,10 +37,10 @@ require_once INSTALLDIR.'/actions/attachment.php';
|
|||
* Show notice attachments
|
||||
*
|
||||
* @category Personal
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class Attachment_ajaxAction extends AttachmentAction
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Show notice attachments
|
||||
*
|
||||
|
@ -20,14 +20,14 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Personal
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -37,10 +37,10 @@ require_once INSTALLDIR.'/actions/attachment.php';
|
|||
* Show notice attachments
|
||||
*
|
||||
* @category Personal
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class Attachment_thumbnailAction extends AttachmentAction
|
||||
|
|
|
@ -5,14 +5,14 @@
|
|||
* PHP version 5
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -28,7 +28,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -36,11 +36,11 @@ if (!defined('LACONICA')) {
|
|||
* Retrieve user avatar by nickname action class.
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
class AvatarbynicknameAction extends Action
|
||||
{
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Upload an avatar
|
||||
*
|
||||
|
@ -20,15 +20,15 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Settings
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Zach Copley <zach@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -42,12 +42,12 @@ define('MAX_ORIGINAL', 480);
|
|||
* We use jCrop plugin for jQuery to crop the image after upload.
|
||||
*
|
||||
* @category Settings
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Zach Copley <zach@controlyourself.ca>
|
||||
* @author Sarven Capadisli <csarven@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@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
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class AvatarsettingsAction extends AccountSettingsAction
|
||||
|
@ -362,13 +362,13 @@ class AvatarsettingsAction extends AccountSettingsAction
|
|||
$profile = $user->getProfile();
|
||||
|
||||
$avatar = $profile->getOriginalAvatar();
|
||||
$avatar->delete();
|
||||
if($avatar) $avatar->delete();
|
||||
$avatar = $profile->getAvatar(AVATAR_PROFILE_SIZE);
|
||||
$avatar->delete();
|
||||
if($avatar) $avatar->delete();
|
||||
$avatar = $profile->getAvatar(AVATAR_STREAM_SIZE);
|
||||
$avatar->delete();
|
||||
if($avatar) $avatar->delete();
|
||||
$avatar = $profile->getAvatar(AVATAR_MINI_SIZE);
|
||||
$avatar->delete();
|
||||
if($avatar) $avatar->delete();
|
||||
|
||||
$this->showForm(_('Avatar deleted.'), true);
|
||||
}
|
||||
|
@ -382,13 +382,7 @@ class AvatarsettingsAction extends AccountSettingsAction
|
|||
function showStylesheets()
|
||||
{
|
||||
parent::showStylesheets();
|
||||
$jcropStyle =
|
||||
common_path('theme/base/css/jquery.Jcrop.css?version='.LACONICA_VERSION);
|
||||
|
||||
$this->element('link', array('rel' => 'stylesheet',
|
||||
'type' => 'text/css',
|
||||
'href' => $jcropStyle,
|
||||
'media' => 'screen, projection, tv'));
|
||||
$this->cssLink('css/jquery.Jcrop.css','base','screen, projection, tv');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -402,13 +396,10 @@ class AvatarsettingsAction extends AccountSettingsAction
|
|||
parent::showScripts();
|
||||
|
||||
if ($this->mode == 'crop') {
|
||||
$jcropPack = common_path('js/jcrop/jquery.Jcrop.pack.js');
|
||||
$jcropGo = common_path('js/jcrop/jquery.Jcrop.go.js');
|
||||
|
||||
$this->element('script', array('type' => 'text/javascript',
|
||||
'src' => $jcropPack));
|
||||
$this->element('script', array('type' => 'text/javascript',
|
||||
'src' => $jcropGo));
|
||||
$this->script('js/jcrop/jquery.Jcrop.min.js');
|
||||
$this->script('js/jcrop/jquery.Jcrop.go.js');
|
||||
}
|
||||
|
||||
$this->autofocus('avatarfile');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,14 +5,14 @@
|
|||
* PHP version 5
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -28,7 +28,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -36,11 +36,11 @@ if (!defined('LACONICA')) {
|
|||
* Block a user action class.
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
class BlockAction extends Action
|
||||
{
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* List of group members
|
||||
*
|
||||
|
@ -20,14 +20,14 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Group
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -35,10 +35,10 @@ if (!defined('LACONICA')) {
|
|||
* List of profiles blocked from this group
|
||||
*
|
||||
* @category Group
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class BlockedfromgroupAction extends GroupDesignAction
|
||||
|
@ -190,11 +190,11 @@ class GroupBlockListItem extends ProfileListItem
|
|||
* Form for unblocking a user from a group
|
||||
*
|
||||
* @category Form
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Sarven Capadisli <csarven@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @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
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* @see UnblockForm
|
||||
*/
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Confirm an address
|
||||
*
|
||||
|
@ -20,14 +20,14 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Confirm
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -39,10 +39,10 @@ if (!defined('LACONICA')) {
|
|||
* accepts those codes.
|
||||
*
|
||||
* @category Confirm
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class ConfirmaddressAction extends Action
|
||||
|
@ -67,7 +67,11 @@ class ConfirmaddressAction extends Action
|
|||
parent::handle($args);
|
||||
if (!common_logged_in()) {
|
||||
common_set_returnto($this->selfUrl());
|
||||
common_redirect(common_local_url('login'));
|
||||
if (!common_config('site', 'openidonly')) {
|
||||
common_redirect(common_local_url('login'));
|
||||
} else {
|
||||
common_redirect(common_local_url('openidlogin'));
|
||||
}
|
||||
return;
|
||||
}
|
||||
$code = $this->trimmed('code');
|
||||
|
|
|
@ -5,13 +5,13 @@
|
|||
* PHP version 5
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -27,7 +27,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -40,10 +40,10 @@ require_once INSTALLDIR.'/lib/noticelist.php';
|
|||
* Conversation tree in the browser
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class ConversationAction extends Action
|
||||
|
@ -129,10 +129,10 @@ class ConversationAction extends Action
|
|||
* The widget class for displaying a hierarchical list of notices.
|
||||
*
|
||||
* @category Widget
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class ConversationTree extends NoticeList
|
||||
|
@ -167,6 +167,8 @@ class ConversationTree extends NoticeList
|
|||
|
||||
function _buildTree()
|
||||
{
|
||||
$cnt = 0;
|
||||
|
||||
$this->tree = array();
|
||||
$this->table = array();
|
||||
|
||||
|
@ -248,10 +250,10 @@ class ConversationTree extends NoticeList
|
|||
* Special class of NoticeListItem for use inside conversation trees.
|
||||
*
|
||||
* @category Widget
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class ConversationTreeItem extends NoticeListItem
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Class for deleting a notice
|
||||
*
|
||||
|
@ -20,15 +20,15 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Personal
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Sarven Capadisli <csarven@controlyourself.ca>
|
||||
* @copyright 2008 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Sarven Capadisli <csarven@status.net>
|
||||
* @copyright 2008 StatusNet, Inc.
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
|
|
@ -6,14 +6,14 @@
|
|||
* PHP version 5
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -29,7 +29,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -39,11 +39,11 @@ require_once INSTALLDIR.'/lib/favorform.php';
|
|||
* Disfavor class.
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
class DisfavorAction extends Action
|
||||
{
|
||||
|
|
|
@ -6,14 +6,14 @@
|
|||
* PHP version 5
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -29,7 +29,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -37,11 +37,11 @@ if (!defined('LACONICA')) {
|
|||
* Documentation class.
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
class DocAction extends Action
|
||||
{
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Edit an existing group
|
||||
*
|
||||
|
@ -20,16 +20,16 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Group
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Sarven Capadisli <csarven@controlyourself.ca>
|
||||
* @author Zach Copley <zach@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Sarven Capadisli <csarven@status.net>
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -39,11 +39,11 @@ if (!defined('LACONICA')) {
|
|||
* This is the form for adding a new group
|
||||
*
|
||||
* @category Group
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Zach Copley <zach@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class EditgroupAction extends GroupDesignAction
|
||||
|
@ -160,6 +160,12 @@ class EditgroupAction extends GroupDesignAction
|
|||
}
|
||||
}
|
||||
|
||||
function showScripts()
|
||||
{
|
||||
parent::showScripts();
|
||||
$this->autofocus('nickname');
|
||||
}
|
||||
|
||||
function trySave()
|
||||
{
|
||||
$cur = common_current_user();
|
||||
|
@ -244,7 +250,6 @@ class EditgroupAction extends GroupDesignAction
|
|||
$this->group->homepage = $homepage;
|
||||
$this->group->description = $description;
|
||||
$this->group->location = $location;
|
||||
$this->group->created = common_sql_now();
|
||||
|
||||
$result = $this->group->update($orig);
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Settings for email
|
||||
*
|
||||
|
@ -20,15 +20,15 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Settings
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Zach Copley <zach@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -38,11 +38,11 @@ require_once INSTALLDIR.'/lib/accountsettingsaction.php';
|
|||
* Settings for email
|
||||
*
|
||||
* @category Settings
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Zach Copley <zach@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* @see Widget
|
||||
*/
|
||||
|
@ -71,6 +71,12 @@ class EmailsettingsAction extends AccountSettingsAction
|
|||
return _('Manage how you get email from %%site.name%%.');
|
||||
}
|
||||
|
||||
function showScripts()
|
||||
{
|
||||
parent::showScripts();
|
||||
$this->autofocus('email');
|
||||
}
|
||||
|
||||
/**
|
||||
* Content area of the page
|
||||
*
|
||||
|
@ -122,7 +128,7 @@ class EmailsettingsAction extends AccountSettingsAction
|
|||
}
|
||||
$this->elementEnd('fieldset');
|
||||
|
||||
if ($user->email) {
|
||||
if (common_config('emailpost', 'enabled') && $user->email) {
|
||||
$this->elementStart('fieldset', array('id' => 'settings_email_incoming'));
|
||||
$this->element('legend',_('Incoming email'));
|
||||
if ($user->incomingemail) {
|
||||
|
@ -173,11 +179,13 @@ class EmailsettingsAction extends AccountSettingsAction
|
|||
_('Allow friends to nudge me and send me an email.'),
|
||||
$user->emailnotifynudge);
|
||||
$this->elementEnd('li');
|
||||
$this->elementStart('li');
|
||||
$this->checkbox('emailpost',
|
||||
_('I want to post notices by email.'),
|
||||
$user->emailpost);
|
||||
$this->elementEnd('li');
|
||||
if (common_config('emailpost', 'enabled')) {
|
||||
$this->elementStart('li');
|
||||
$this->checkbox('emailpost',
|
||||
_('I want to post notices by email.'),
|
||||
$user->emailpost);
|
||||
$this->elementEnd('li');
|
||||
}
|
||||
$this->elementStart('li');
|
||||
$this->checkbox('emailmicroid',
|
||||
_('Publish a MicroID for my email address.'),
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
require_once INSTALLDIR.'/lib/facebookaction.php';
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
require_once(INSTALLDIR.'/lib/facebookaction.php');
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
require_once INSTALLDIR.'/lib/facebookaction.php';
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
require_once INSTALLDIR.'/lib/facebookaction.php';
|
||||
|
||||
|
|
|
@ -6,14 +6,14 @@
|
|||
* PHP version 5
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -29,7 +29,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -40,11 +40,11 @@ require_once INSTALLDIR.'/lib/disfavorform.php';
|
|||
* Favor class.
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
class FavorAction extends Action
|
||||
{
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* List of popular notices
|
||||
*
|
||||
|
@ -20,15 +20,15 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Public
|
||||
* @package Laconica
|
||||
* @author Zach Copley <zach@controlyourself.ca>
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -42,11 +42,11 @@ require_once INSTALLDIR.'/lib/noticelist.php';
|
|||
* is measured by
|
||||
*
|
||||
* @category Personal
|
||||
* @package Laconica
|
||||
* @author Zach Copley <zach@controlyourself.ca>
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class FavoritedAction extends Action
|
||||
|
@ -153,7 +153,8 @@ class FavoritedAction extends Action
|
|||
$message .= _('Be the first to add a notice to your favorites by clicking the fave button next to any notice you like.');
|
||||
}
|
||||
else {
|
||||
$message .= _('Why not [register an account](%%action.register%%) and be the first to add a notice to your favorites!');
|
||||
$message .= sprintf(_('Why not [register an account](%%%%action.%s%%%%) and be the first to add a notice to your favorites!'),
|
||||
(!common_config('site','openidonly')) ? 'register' : 'openidlogin');
|
||||
}
|
||||
|
||||
$this->elementStart('div', 'guide');
|
||||
|
|
|
@ -6,14 +6,14 @@
|
|||
* PHP version 5
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -29,7 +29,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -41,12 +41,12 @@ require_once INSTALLDIR.'/lib/rssaction.php';
|
|||
* Formatting of RSS handled by Rss10Action
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @author Zach Copley <zach@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
class FavoritesrssAction extends Rss10Action
|
||||
{
|
||||
|
@ -111,8 +111,8 @@ class FavoritesrssAction extends Rss10Action
|
|||
'link' => common_local_url('showfavorites',
|
||||
array('nickname' =>
|
||||
$user->nickname)),
|
||||
'description' => sprintf(_('Feed of favorite notices of %s'),
|
||||
$user->nickname));
|
||||
'description' => sprintf(_('Updates favored by %1$s on %2$s!'),
|
||||
$user->nickname, common_config('site', 'name')));
|
||||
return $c;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* List of featured users
|
||||
*
|
||||
|
@ -20,15 +20,15 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Public
|
||||
* @package Laconica
|
||||
* @author Zach Copley <zach@controlyourself.ca>
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -39,11 +39,11 @@ require_once INSTALLDIR.'/lib/publicgroupnav.php';
|
|||
* List of featured users
|
||||
*
|
||||
* @category Public
|
||||
* @package Laconica
|
||||
* @author Zach Copley <zach@controlyourself.ca>
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class FeaturedAction extends Action
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
require_once(INSTALLDIR.'/actions/shownotice.php');
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Complete adding an OpenID
|
||||
*
|
||||
|
@ -20,14 +20,14 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Settings
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -39,10 +39,10 @@ require_once INSTALLDIR.'/lib/openid.php';
|
|||
* Handle the return from an OpenID verification
|
||||
*
|
||||
* @category Settings
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class FinishaddopenidAction extends Action
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
require_once(INSTALLDIR.'/lib/openid.php');
|
||||
|
||||
|
@ -30,7 +30,9 @@ class FinishopenidloginAction extends Action
|
|||
function handle($args)
|
||||
{
|
||||
parent::handle($args);
|
||||
if (common_is_real_login()) {
|
||||
if (!common_config('openid', 'enabled')) {
|
||||
common_redirect(common_local_url('login'));
|
||||
} else if (common_is_real_login()) {
|
||||
$this->clientError(_('Already logged in.'));
|
||||
} else if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
||||
$token = $this->trimmed('token');
|
||||
|
@ -217,7 +219,7 @@ class FinishopenidloginAction extends Action
|
|||
|
||||
if (!Validate::string($nickname, array('min_length' => 1,
|
||||
'max_length' => 64,
|
||||
'format' => VALIDATE_NUM . VALIDATE_ALPHA_LOWER))) {
|
||||
'format' => NICKNAME_FMT))) {
|
||||
$this->showForm(_('Nickname must have only lowercase letters and numbers and no spaces.'));
|
||||
return;
|
||||
}
|
||||
|
@ -389,7 +391,7 @@ class FinishopenidloginAction extends Action
|
|||
{
|
||||
if (!Validate::string($str, array('min_length' => 1,
|
||||
'max_length' => 64,
|
||||
'format' => VALIDATE_NUM . VALIDATE_ALPHA_LOWER))) {
|
||||
'format' => NICKNAME_FMT))) {
|
||||
return false;
|
||||
}
|
||||
if (!User::allowed_nickname($str)) {
|
||||
|
@ -410,7 +412,7 @@ class FinishopenidloginAction extends Action
|
|||
}
|
||||
}
|
||||
|
||||
# We try to use an OpenID URL as a legal Laconica user name in this order
|
||||
# We try to use an OpenID URL as a legal StatusNet user name in this order
|
||||
# 1. Plain hostname, like http://evanp.myopenid.com/
|
||||
# 2. One element in path, like http://profile.typekey.com/EvanProdromou/
|
||||
# or http://getopenid.com/evanprodromou
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
require_once(INSTALLDIR.'/lib/omb.php');
|
||||
|
||||
|
@ -284,7 +284,7 @@ class FinishremotesubscribeAction extends Action
|
|||
$fetcher = Auth_Yadis_Yadis::getHTTPFetcher();
|
||||
$result = $fetcher->post($req->get_normalized_http_url(),
|
||||
$req->to_postdata(),
|
||||
array('User-Agent: Laconica/' . LACONICA_VERSION));
|
||||
array('User-Agent: StatusNet/' . STATUSNET_VERSION));
|
||||
|
||||
common_debug('got result: "'.print_r($result,true).'"', __FILE__);
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
define('LISTENER', 1);
|
||||
define('LISTENEE', -1);
|
||||
|
@ -146,8 +146,10 @@ class FoafAction extends Action
|
|||
while ($sub->fetch()) {
|
||||
if ($sub->token) {
|
||||
$other = Remote_profile::staticGet('id', $sub->subscriber);
|
||||
$profile = Profile::staticGet('id', $sub->subscriber);
|
||||
} else {
|
||||
$other = User::staticGet('id', $sub->subscriber);
|
||||
$profile = Profile::staticGet('id', $sub->subscriber);
|
||||
}
|
||||
if (!$other) {
|
||||
common_debug('Got a bad subscription: '.print_r($sub,true));
|
||||
|
@ -158,12 +160,15 @@ class FoafAction extends Action
|
|||
} else {
|
||||
$person[$other->uri] = array(LISTENER,
|
||||
$other->id,
|
||||
$other->nickname,
|
||||
$profile->nickname,
|
||||
(empty($sub->token)) ? 'User' : 'Remote_profile');
|
||||
}
|
||||
$other->free();
|
||||
$other = null;
|
||||
unset($other);
|
||||
$profile->free();
|
||||
$profile = null;
|
||||
unset($profile);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -254,8 +259,10 @@ class FoafAction extends Action
|
|||
while ($sub->fetch()) {
|
||||
if (!empty($sub->token)) {
|
||||
$other = Remote_profile::staticGet('id', $sub->subscribed);
|
||||
$profile = Profile::staticGet('id', $sub->subscribed);
|
||||
} else {
|
||||
$other = User::staticGet('id', $sub->subscribed);
|
||||
$profile = Profile::staticGet('id', $sub->subscribed);
|
||||
}
|
||||
if (empty($other)) {
|
||||
common_debug('Got a bad subscription: '.print_r($sub,true));
|
||||
|
@ -264,11 +271,14 @@ class FoafAction extends Action
|
|||
$this->element('sioc:follows', array('rdf:resource' => $other->uri.'#acct'));
|
||||
$person[$other->uri] = array(LISTENEE,
|
||||
$other->id,
|
||||
$other->nickname,
|
||||
$profile->nickname,
|
||||
(empty($sub->token)) ? 'User' : 'Remote_profile');
|
||||
$other->free();
|
||||
$other = null;
|
||||
unset($other);
|
||||
$profile->free();
|
||||
$profile = null;
|
||||
unset($profile);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -5,13 +5,13 @@
|
|||
* PHP version 5
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -27,7 +27,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -35,10 +35,10 @@ if (!defined('LACONICA')) {
|
|||
* Block a user from a group
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class GroupblockAction extends Action
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Permalink for group
|
||||
*
|
||||
|
@ -20,15 +20,15 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Group
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Sarven Capadisli <csarven@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Sarven Capadisli <csarven@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -42,10 +42,10 @@ require_once INSTALLDIR.'/lib/feedlist.php';
|
|||
* an URL with the ID in it as the permanent identifier.
|
||||
*
|
||||
* @category Group
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class GroupbyidAction extends Action
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Change user password
|
||||
*
|
||||
|
@ -20,15 +20,15 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Settings
|
||||
* @package Laconica
|
||||
* @author Sarven Capadisli <csarven@controlyourself.ca>
|
||||
* @author Zach Copley <zach@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Sarven Capadisli <csarven@status.net>
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -40,11 +40,11 @@ require_once INSTALLDIR . '/lib/designsettings.php';
|
|||
* Saves a design for a given group
|
||||
*
|
||||
* @category Settings
|
||||
* @package Laconica
|
||||
* @author Zach Copley <zach@controlyourself.ca>
|
||||
* @author Sarven Capadisli <csarven@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @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
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class GroupDesignSettingsAction extends DesignSettingsAction
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Upload an avatar
|
||||
*
|
||||
|
@ -20,15 +20,15 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Settings
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Zach Copley <zach@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -42,12 +42,12 @@ define('MAX_ORIGINAL', 480);
|
|||
* We use jCrop plugin for jQuery to crop the image after upload.
|
||||
*
|
||||
* @category Settings
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Zach Copley <zach@controlyourself.ca>
|
||||
* @author Sarven Capadisli <csarven@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@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
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class GrouplogoAction extends GroupDesignAction
|
||||
|
@ -428,13 +428,7 @@ class GrouplogoAction extends GroupDesignAction
|
|||
function showStylesheets()
|
||||
{
|
||||
parent::showStylesheets();
|
||||
$jcropStyle =
|
||||
common_path('theme/base/css/jquery.Jcrop.css?version='.LACONICA_VERSION);
|
||||
|
||||
$this->element('link', array('rel' => 'stylesheet',
|
||||
'type' => 'text/css',
|
||||
'href' => $jcropStyle,
|
||||
'media' => 'screen, projection, tv'));
|
||||
$this->cssLink('css/jquery.Jcrop.css','base','screen, projection, tv');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -448,14 +442,11 @@ class GrouplogoAction extends GroupDesignAction
|
|||
parent::showScripts();
|
||||
|
||||
if ($this->mode == 'crop') {
|
||||
$jcropPack = common_path('js/jcrop/jquery.Jcrop.pack.js');
|
||||
$jcropGo = common_path('js/jcrop/jquery.Jcrop.go.js');
|
||||
|
||||
$this->element('script', array('type' => 'text/javascript',
|
||||
'src' => $jcropPack));
|
||||
$this->element('script', array('type' => 'text/javascript',
|
||||
'src' => $jcropGo));
|
||||
$this->script('js/jcrop/jquery.Jcrop.min.js');
|
||||
$this->script('js/jcrop/jquery.Jcrop.go.js');
|
||||
}
|
||||
|
||||
$this->autofocus('avatarfile');
|
||||
}
|
||||
|
||||
function showLocalNav()
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* List of group members
|
||||
*
|
||||
|
@ -20,14 +20,14 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Group
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -38,10 +38,10 @@ require_once INSTALLDIR.'/lib/publicgroupnav.php';
|
|||
* List of group members
|
||||
*
|
||||
* @category Group
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class GroupmembersAction extends GroupDesignAction
|
||||
|
@ -220,11 +220,11 @@ class GroupMemberListItem extends ProfileListItem
|
|||
* Form for blocking a user from a group
|
||||
*
|
||||
* @category Form
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Sarven Capadisli <csarven@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @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
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* @see BlockForm
|
||||
*/
|
||||
|
@ -348,11 +348,11 @@ class GroupBlockForm extends Form
|
|||
* Form for making a user an admin for a group
|
||||
*
|
||||
* @category Form
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Sarven Capadisli <csarven@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @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
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class MakeAdminForm extends Form
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Group main page
|
||||
*
|
||||
|
@ -20,15 +20,15 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Group
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Sarven Capadisli <csarven@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Sarven Capadisli <csarven@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -40,10 +40,10 @@ define('MEMBERS_PER_SECTION', 27);
|
|||
* Group RSS feed
|
||||
*
|
||||
* @category Group
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class groupRssAction extends Rss10Action
|
||||
|
@ -132,9 +132,10 @@ class groupRssAction extends Rss10Action
|
|||
$c = array('url' => common_local_url('grouprss',
|
||||
array('nickname' =>
|
||||
$group->nickname)),
|
||||
'title' => $group->nickname,
|
||||
'title' => sprintf(_('%s timeline'), $group->nickname),
|
||||
'link' => common_local_url('showgroup', array('nickname' => $group->nickname)),
|
||||
'description' => sprintf(_('Microblog by %s group'), $group->nickname));
|
||||
'description' => sprintf(_('Updates from members of %1$s on %2$s!'),
|
||||
$group->nickname, common_config('site', 'name')));
|
||||
return $c;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Latest groups information
|
||||
*
|
||||
|
@ -20,15 +20,15 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Personal
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Sarven Capadisli <csarven@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Sarven Capadisli <csarven@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -40,10 +40,10 @@ require_once INSTALLDIR.'/lib/grouplist.php';
|
|||
* Show the latest groups on the site
|
||||
*
|
||||
* @category Personal
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class GroupsAction extends Action
|
||||
|
|
|
@ -5,14 +5,14 @@
|
|||
* PHP version 5
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -28,7 +28,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -39,11 +39,11 @@ if (!defined('LACONICA')) {
|
|||
* Group search action class.
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
class GroupsearchAction extends SearchAction
|
||||
{
|
||||
|
@ -82,7 +82,8 @@ class GroupsearchAction extends SearchAction
|
|||
$message = _('If you can\'t find the group you\'re looking for, you can [create it](%%action.newgroup%%) yourself.');
|
||||
}
|
||||
else {
|
||||
$message = _('Why not [register an account](%%action.register%%) and [create the group](%%action.newgroup%%) yourself!');
|
||||
$message = sprintf(_('Why not [register an account](%%%%action.%s%%%%) and [create the group](%%%%action.newgroup%%%%) yourself!'),
|
||||
(!common_config('site','openidonly')) ? 'register' : 'openidlogin');
|
||||
}
|
||||
$this->elementStart('div', 'guide');
|
||||
$this->raw(common_markup_to_html($message));
|
||||
|
@ -90,6 +91,12 @@ class GroupsearchAction extends SearchAction
|
|||
$user_group->free();
|
||||
}
|
||||
}
|
||||
|
||||
function showScripts()
|
||||
{
|
||||
parent::showScripts();
|
||||
$this->autofocus('q');
|
||||
}
|
||||
}
|
||||
|
||||
class GroupSearchResults extends GroupList
|
||||
|
|
|
@ -5,13 +5,13 @@
|
|||
* PHP version 5
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -27,7 +27,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -35,10 +35,10 @@ if (!defined('LACONICA')) {
|
|||
* Unlock a user from a group
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class GroupunblockAction extends Action
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Settings for Jabber/XMPP integration
|
||||
*
|
||||
|
@ -20,14 +20,14 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Settings
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -38,10 +38,10 @@ require_once INSTALLDIR.'/lib/jabber.php';
|
|||
* Settings for Jabber/XMPP integration
|
||||
*
|
||||
* @category Settings
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* @see SettingsAction
|
||||
*/
|
||||
|
@ -84,6 +84,12 @@ class ImsettingsAction extends ConnectSettingsAction
|
|||
|
||||
function showContent()
|
||||
{
|
||||
if (!common_config('xmpp', 'enabled')) {
|
||||
$this->element('div', array('class' => 'error'),
|
||||
_('IM is not available.'));
|
||||
return;
|
||||
}
|
||||
|
||||
$user = common_current_user();
|
||||
$this->elementStart('form', array('method' => 'post',
|
||||
'id' => 'form_settings_im',
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* action handler for message inbox
|
||||
*
|
||||
|
@ -20,14 +20,14 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Message
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @copyright 2008 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @copyright 2008 StatusNet, Inc.
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -37,10 +37,10 @@ require_once INSTALLDIR.'/lib/mailbox.php';
|
|||
* action handler for message inbox
|
||||
*
|
||||
* @category Message
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
* @see MailboxAction
|
||||
*/
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
class InviteAction extends CurrentUserDesignAction
|
||||
{
|
||||
|
@ -98,6 +98,12 @@ class InviteAction extends CurrentUserDesignAction
|
|||
$this->showPage();
|
||||
}
|
||||
|
||||
function showScripts()
|
||||
{
|
||||
parent::showScripts();
|
||||
$this->autofocus('addresses');
|
||||
}
|
||||
|
||||
function title()
|
||||
{
|
||||
if ($this->mode == 'sent') {
|
||||
|
@ -216,7 +222,7 @@ class InviteAction extends CurrentUserDesignAction
|
|||
$recipients = array($email);
|
||||
|
||||
$headers['From'] = mail_notify_from();
|
||||
$headers['To'] = $email;
|
||||
$headers['To'] = trim($email);
|
||||
$headers['Subject'] = sprintf(_('%1$s has invited you to join them on %2$s'), $bestname, $sitename);
|
||||
|
||||
$body = sprintf(_("%1\$s has invited you to join them on %2\$s (%3\$s).\n\n".
|
||||
|
@ -235,7 +241,7 @@ class InviteAction extends CurrentUserDesignAction
|
|||
common_root_url(),
|
||||
$personal,
|
||||
common_local_url('showstream', array('nickname' => $user->nickname)),
|
||||
common_local_url('register', array('code' => $invite->code)));
|
||||
common_local_url((!common_config('site', 'openidonly')) ? 'register' : 'openidlogin', array('code' => $invite->code)));
|
||||
|
||||
mail_send($recipients, $headers, $body);
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Join a group
|
||||
*
|
||||
|
@ -20,14 +20,14 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Group
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -38,10 +38,10 @@ if (!defined('LACONICA')) {
|
|||
* for users.
|
||||
*
|
||||
* @category Group
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class JoingroupAction extends Action
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Leave a group
|
||||
*
|
||||
|
@ -20,14 +20,14 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Group
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -38,10 +38,10 @@ if (!defined('LACONICA')) {
|
|||
* for users.
|
||||
*
|
||||
* @category Group
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class LeavegroupAction extends Action
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Login form
|
||||
*
|
||||
|
@ -20,14 +20,15 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Login
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Sarven Capadisli <csarven@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -35,10 +36,11 @@ if (!defined('LACONICA')) {
|
|||
* Login form
|
||||
*
|
||||
* @category Personal
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @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
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class LoginAction extends Action
|
||||
|
@ -65,6 +67,8 @@ class LoginAction extends Action
|
|||
*
|
||||
* Switches on request method; either shows the form or handles its input.
|
||||
*
|
||||
* Checks if only OpenID is allowed and redirects to openidlogin if so.
|
||||
*
|
||||
* @param array $args $_REQUEST data
|
||||
*
|
||||
* @return void
|
||||
|
@ -73,7 +77,9 @@ class LoginAction extends Action
|
|||
function handle($args)
|
||||
{
|
||||
parent::handle($args);
|
||||
if (common_is_real_login()) {
|
||||
if (common_config('site', 'openidonly')) {
|
||||
common_redirect(common_local_url('openidlogin'));
|
||||
} else if (common_is_real_login()) {
|
||||
$this->clientError(_('Already logged in.'));
|
||||
} else if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
||||
$this->checkLogin();
|
||||
|
@ -158,6 +164,12 @@ class LoginAction extends Action
|
|||
$this->showPage();
|
||||
}
|
||||
|
||||
function showScripts()
|
||||
{
|
||||
parent::showScripts();
|
||||
$this->autofocus('nickname');
|
||||
}
|
||||
|
||||
/**
|
||||
* Title of the page
|
||||
*
|
||||
|
@ -247,11 +259,15 @@ class LoginAction extends Action
|
|||
return _('For security reasons, please re-enter your ' .
|
||||
'user name and password ' .
|
||||
'before changing your settings.');
|
||||
} else {
|
||||
} else if (common_config('openid', 'enabled')) {
|
||||
return _('Login with your username and password. ' .
|
||||
'Don\'t have a username yet? ' .
|
||||
'[Register](%%action.register%%) a new account, or ' .
|
||||
'try [OpenID](%%action.openidlogin%%). ');
|
||||
} else {
|
||||
return _('Login with your username and password. ' .
|
||||
'Don\'t have a username yet? ' .
|
||||
'[Register](%%action.register%%) a new account.');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -5,14 +5,14 @@
|
|||
* PHP version 5
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -28,7 +28,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -38,11 +38,11 @@ require_once INSTALLDIR.'/lib/openid.php';
|
|||
* Logout action class.
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
class LogoutAction extends Action
|
||||
{
|
||||
|
|
|
@ -5,13 +5,13 @@
|
|||
* PHP version 5
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -27,7 +27,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -35,10 +35,10 @@ if (!defined('LACONICA')) {
|
|||
* Make another user an admin of a group
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class MakeadminAction extends Action
|
||||
|
|
|
@ -5,14 +5,14 @@
|
|||
* PHP version 5
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -28,7 +28,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -36,11 +36,11 @@ if (!defined('LACONICA')) {
|
|||
* Microsummary action class.
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
class MicrosummaryAction extends Action
|
||||
{
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Add a new group
|
||||
*
|
||||
|
@ -20,15 +20,15 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Group
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Sarven Capadisli <csarven@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Sarven Capadisli <csarven@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -38,10 +38,10 @@ if (!defined('LACONICA')) {
|
|||
* This is the form for adding a new group
|
||||
*
|
||||
* @category Group
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class NewgroupAction extends Action
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Handler for posting new messages
|
||||
*
|
||||
|
@ -20,16 +20,16 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Personal
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Zach Copley <zach@controlyourself.ca>
|
||||
* @author Sarven Capadisli <csarven@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @author Sarven Capadisli <csarven@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -37,12 +37,12 @@ if (!defined('LACONICA')) {
|
|||
* Action for posting new direct messages
|
||||
*
|
||||
* @category Personal
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Zach Copley <zach@controlyourself.ca>
|
||||
* @author Sarven Capadisli <csarven@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@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
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class NewmessageAction extends Action
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Handler for posting new notices
|
||||
*
|
||||
|
@ -20,16 +20,16 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Personal
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Zach Copley <zach@controlyourself.ca>
|
||||
* @author Sarven Capadisli <csarven@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @author Sarven Capadisli <csarven@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -39,12 +39,12 @@ require_once INSTALLDIR.'/lib/noticelist.php';
|
|||
* Action for posting new notices
|
||||
*
|
||||
* @category Personal
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Zach Copley <zach@controlyourself.ca>
|
||||
* @author Sarven Capadisli <csarven@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@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
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class NewnoticeAction extends Action
|
||||
|
@ -91,8 +91,8 @@ class NewnoticeAction extends Action
|
|||
// is losts when size is exceeded
|
||||
if (empty($_POST) && $_SERVER['CONTENT_LENGTH']) {
|
||||
$this->clientError(sprintf(_('The server was unable to handle ' .
|
||||
'that much POST data (%s bytes) due to its current configuration.'),
|
||||
$_SERVER['CONTENT_LENGTH']));
|
||||
'that much POST data (%s bytes) due to its current configuration.'),
|
||||
$_SERVER['CONTENT_LENGTH']));
|
||||
}
|
||||
parent::handle($args);
|
||||
|
||||
|
@ -130,7 +130,7 @@ class NewnoticeAction extends Action
|
|||
$hint = '';
|
||||
}
|
||||
$this->clientError(sprintf(
|
||||
_('%s is not a supported filetype on this server.'), $filetype) . $hint);
|
||||
_('%s is not a supported filetype on this server.'), $filetype) . $hint);
|
||||
}
|
||||
|
||||
function isRespectsQuota($user) {
|
||||
|
@ -190,37 +190,37 @@ class NewnoticeAction extends Action
|
|||
|
||||
if (isset($_FILES['attach']['error'])) {
|
||||
switch ($_FILES['attach']['error']) {
|
||||
case UPLOAD_ERR_NO_FILE:
|
||||
// no file uploaded, nothing to do
|
||||
break;
|
||||
case UPLOAD_ERR_NO_FILE:
|
||||
// no file uploaded, nothing to do
|
||||
break;
|
||||
|
||||
case UPLOAD_ERR_OK:
|
||||
$mimetype = $this->getUploadedFileType();
|
||||
if (!$this->isRespectsQuota($user)) {
|
||||
die('clientError() should trigger an exception before reaching here.');
|
||||
}
|
||||
break;
|
||||
case UPLOAD_ERR_OK:
|
||||
$mimetype = $this->getUploadedFileType();
|
||||
if (!$this->isRespectsQuota($user)) {
|
||||
die('clientError() should trigger an exception before reaching here.');
|
||||
}
|
||||
break;
|
||||
|
||||
case UPLOAD_ERR_INI_SIZE:
|
||||
$this->clientError(_('The uploaded file exceeds the upload_max_filesize directive in php.ini.'));
|
||||
case UPLOAD_ERR_INI_SIZE:
|
||||
$this->clientError(_('The uploaded file exceeds the upload_max_filesize directive in php.ini.'));
|
||||
|
||||
case UPLOAD_ERR_FORM_SIZE:
|
||||
$this->clientError(_('The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.'));
|
||||
case UPLOAD_ERR_FORM_SIZE:
|
||||
$this->clientError(_('The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.'));
|
||||
|
||||
case UPLOAD_ERR_PARTIAL:
|
||||
$this->clientError(_('The uploaded file was only partially uploaded.'));
|
||||
case UPLOAD_ERR_PARTIAL:
|
||||
$this->clientError(_('The uploaded file was only partially uploaded.'));
|
||||
|
||||
case UPLOAD_ERR_NO_TMP_DIR:
|
||||
$this->clientError(_('Missing a temporary folder.'));
|
||||
case UPLOAD_ERR_NO_TMP_DIR:
|
||||
$this->clientError(_('Missing a temporary folder.'));
|
||||
|
||||
case UPLOAD_ERR_CANT_WRITE:
|
||||
$this->clientError(_('Failed to write file to disk.'));
|
||||
case UPLOAD_ERR_CANT_WRITE:
|
||||
$this->clientError(_('Failed to write file to disk.'));
|
||||
|
||||
case UPLOAD_ERR_EXTENSION:
|
||||
$this->clientError(_('File upload stopped by extension.'));
|
||||
case UPLOAD_ERR_EXTENSION:
|
||||
$this->clientError(_('File upload stopped by extension.'));
|
||||
|
||||
default:
|
||||
die('Should never reach here.');
|
||||
default:
|
||||
die('Should never reach here.');
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -233,7 +233,7 @@ class NewnoticeAction extends Action
|
|||
$fileRecord = $this->storeFile($filename, $mimetype);
|
||||
|
||||
$fileurl = common_local_url('attachment',
|
||||
array('attachment' => $fileRecord->id));
|
||||
array('attachment' => $fileRecord->id));
|
||||
|
||||
// not sure this is necessary -- Zach
|
||||
$this->maybeAddRedir($fileRecord->id, $fileurl);
|
||||
|
@ -367,7 +367,7 @@ class NewnoticeAction extends Action
|
|||
File_to_post::processNew($filerec->id, $notice->id);
|
||||
|
||||
$this->maybeAddRedir($filerec->id,
|
||||
common_local_url('file', array('notice' => $notice->id)));
|
||||
common_local_url('file', array('notice' => $notice->id)));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -431,13 +431,14 @@ class NewnoticeAction extends Action
|
|||
$content = $this->trimmed('status_textarea');
|
||||
if (!$content) {
|
||||
$replyto = $this->trimmed('replyto');
|
||||
$inreplyto = $this->trimmed('inreplyto');
|
||||
$profile = Profile::staticGet('nickname', $replyto);
|
||||
if ($profile) {
|
||||
$content = '@' . $profile->nickname . ' ';
|
||||
}
|
||||
}
|
||||
|
||||
$notice_form = new NoticeForm($this, '', $content);
|
||||
$notice_form = new NoticeForm($this, '', $content, null, $inreplyto);
|
||||
$notice_form->show();
|
||||
}
|
||||
|
||||
|
|
|
@ -5,15 +5,15 @@
|
|||
* PHP version 5
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @author Sarven Capadisli <csarven@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @author Sarven Capadisli <csarven@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -29,7 +29,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -39,11 +39,11 @@ require_once INSTALLDIR.'/lib/searchaction.php';
|
|||
* Notice search action class.
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
* @todo common parent for people and content search?
|
||||
*/
|
||||
class NoticesearchAction extends SearchAction
|
||||
|
@ -121,7 +121,9 @@ class NoticesearchAction extends SearchAction
|
|||
$message = sprintf(_('Be the first to [post on this topic](%%%%action.newnotice%%%%?status_textarea=%s)!'), urlencode($q));
|
||||
}
|
||||
else {
|
||||
$message = sprintf(_('Why not [register an account](%%%%action.register%%%%) and be the first to [post on this topic](%%%%action.newnotice%%%%?status_textarea=%s)!'), urlencode($q));
|
||||
$message = sprintf(_('Why not [register an account](%%%%action.%s%%%%) and be the first to [post on this topic](%%%%action.newnotice%%%%?status_textarea=%s)!'),
|
||||
(!common_config('site','openidonly')) ? 'register' : 'openidlogin',
|
||||
urlencode($q));
|
||||
}
|
||||
|
||||
$this->elementStart('div', 'guide');
|
||||
|
@ -135,6 +137,12 @@ class NoticesearchAction extends SearchAction
|
|||
$this->pagination($page > 1, $cnt > NOTICES_PER_PAGE,
|
||||
$page, 'noticesearch', array('q' => $q));
|
||||
}
|
||||
|
||||
function showScripts()
|
||||
{
|
||||
parent::showScripts();
|
||||
$this->autofocus('q');
|
||||
}
|
||||
}
|
||||
|
||||
class SearchNoticeList extends NoticeList {
|
||||
|
@ -190,7 +198,7 @@ class SearchNoticeListItem extends NoticeListItem {
|
|||
$result = preg_replace($pattern, '<strong>\\1</strong>', $text);
|
||||
|
||||
/* Remove highlighting from inside links, loop incase multiple highlights in links */
|
||||
$pattern = '/(href="[^"]*)<strong>('.$options.')<\/strong>([^"]*")/iU';
|
||||
$pattern = '/(\w+="[^"]*)<strong>('.$options.')<\/strong>([^"]*")/iU';
|
||||
do {
|
||||
$result = preg_replace($pattern, '\\1\\2\\3', $result, -1, $count);
|
||||
} while ($count);
|
||||
|
|
|
@ -5,14 +5,14 @@
|
|||
* PHP version 5
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -28,7 +28,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -40,11 +40,11 @@ require_once INSTALLDIR.'/lib/rssaction.php';
|
|||
* Formatting of RSS handled by Rss10Action
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
class NoticesearchrssAction extends Rss10Action
|
||||
{
|
||||
|
@ -86,9 +86,10 @@ class NoticesearchrssAction extends Rss10Action
|
|||
{
|
||||
$q = $this->trimmed('q');
|
||||
$c = array('url' => common_local_url('noticesearchrss', array('q' => $q)),
|
||||
'title' => common_config('site', 'name') . sprintf(_(' Search Stream for "%s"'), $q),
|
||||
'title' => sprintf(_('Updates with "%s"'), $q),
|
||||
'link' => common_local_url('noticesearch', array('q' => $q)),
|
||||
'description' => sprintf(_('All updates matching search term "%s"'), $q));
|
||||
'description' => sprintf(_('Updates matching search term "%1$s" on %2$s!'),
|
||||
$q, common_config('site', 'name')));
|
||||
return $c;
|
||||
}
|
||||
|
||||
|
|
|
@ -6,14 +6,14 @@
|
|||
* PHP version 5
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -29,7 +29,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -39,12 +39,12 @@ require_once INSTALLDIR.'/lib/mail.php';
|
|||
* Nudge a user action class.
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @author Sarven Capadisli <csarven@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @author Sarven Capadisli <csarven@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
class NudgeAction extends Action
|
||||
{
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Laconica-only extensions to the Twitter-like API
|
||||
* StatusNet-only extensions to the Twitter-like API
|
||||
*
|
||||
* PHP version 5
|
||||
*
|
||||
|
@ -20,43 +20,37 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Twitter
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @copyright 2008 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @copyright 2008 StatusNet, Inc.
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
require_once INSTALLDIR.'/lib/twitterapi.php';
|
||||
|
||||
/**
|
||||
* Oembed provider implementation
|
||||
*
|
||||
* This class handles all /main/oembed(.xml|.json)/ requests.
|
||||
*
|
||||
* @category oEmbed
|
||||
* @package Laconica
|
||||
* @package StatusNet
|
||||
* @author Craig Andrews <candrews@integralblue.com>
|
||||
* @copyright 2008 Control Yourself, Inc.
|
||||
* @copyright 2008 StatusNet, Inc.
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class TwitapioembedAction extends TwitterapiAction
|
||||
class OembedAction extends Action
|
||||
{
|
||||
|
||||
function oembed($args, $apidata)
|
||||
function handle($args)
|
||||
{
|
||||
parent::handle($args);
|
||||
|
||||
common_debug("in oembed api action");
|
||||
|
||||
$this->auth_user = $apidata['user'];
|
||||
|
||||
$url = $args['url'];
|
||||
if( substr(strtolower($url),0,strlen(common_root_url())) == strtolower(common_root_url()) ){
|
||||
$path = substr($url,strlen(common_root_url()));
|
||||
|
@ -131,8 +125,7 @@ class TwitapioembedAction extends TwitterapiAction
|
|||
default:
|
||||
$this->serverError(_("$path not supported for oembed requests"), 501);
|
||||
}
|
||||
|
||||
switch($apidata['content-type']){
|
||||
switch($args['format']){
|
||||
case 'xml':
|
||||
$this->init_document('xml');
|
||||
$this->elementStart('oembed');
|
||||
|
@ -151,12 +144,11 @@ class TwitapioembedAction extends TwitterapiAction
|
|||
if($oembed['thumbnail_url']) $this->element('thumbnail_url',null,$oembed['thumbnail_url']);
|
||||
if($oembed['thumbnail_width']) $this->element('thumbnail_width',null,$oembed['thumbnail_width']);
|
||||
if($oembed['thumbnail_height']) $this->element('thumbnail_height',null,$oembed['thumbnail_height']);
|
||||
|
||||
|
||||
$this->elementEnd('oembed');
|
||||
$this->end_document('xml');
|
||||
break;
|
||||
case 'json':
|
||||
case 'json': case '':
|
||||
$this->init_document('json');
|
||||
print(json_encode($oembed));
|
||||
$this->end_document('json');
|
||||
|
@ -164,10 +156,51 @@ class TwitapioembedAction extends TwitterapiAction
|
|||
default:
|
||||
$this->serverError(_('content type ' . $apidata['content-type'] . ' not supported'), 501);
|
||||
}
|
||||
|
||||
}else{
|
||||
$this->serverError(_('Only ' . common_root_url() . ' urls over plain http please'), 404);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function init_document($type)
|
||||
{
|
||||
switch ($type) {
|
||||
case 'xml':
|
||||
header('Content-Type: application/xml; charset=utf-8');
|
||||
$this->startXML();
|
||||
break;
|
||||
case 'json':
|
||||
header('Content-Type: application/json; charset=utf-8');
|
||||
|
||||
// Check for JSONP callback
|
||||
$callback = $this->arg('callback');
|
||||
if ($callback) {
|
||||
print $callback . '(';
|
||||
}
|
||||
break;
|
||||
default:
|
||||
$this->serverError(_('Not a supported data format.'), 501);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
function end_document($type='xml')
|
||||
{
|
||||
switch ($type) {
|
||||
case 'xml':
|
||||
$this->endXML();
|
||||
break;
|
||||
case 'json':
|
||||
// Check for JSONP callback
|
||||
$callback = $this->arg('callback');
|
||||
if ($callback) {
|
||||
print ')';
|
||||
}
|
||||
break;
|
||||
default:
|
||||
$this->serverError(_('Not a supported data format.'), 501);
|
||||
break;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
require_once(INSTALLDIR.'/lib/openid.php');
|
||||
|
||||
|
@ -26,7 +26,9 @@ class OpenidloginAction extends Action
|
|||
function handle($args)
|
||||
{
|
||||
parent::handle($args);
|
||||
if (common_is_real_login()) {
|
||||
if (!common_config('openid', 'enabled')) {
|
||||
common_redirect(common_local_url('login'));
|
||||
} else if (common_is_real_login()) {
|
||||
$this->clientError(_('Already logged in.'));
|
||||
} else if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
||||
$openid_url = $this->trimmed('openid_url');
|
||||
|
@ -84,6 +86,12 @@ class OpenidloginAction extends Action
|
|||
}
|
||||
}
|
||||
|
||||
function showScripts()
|
||||
{
|
||||
parent::showScripts();
|
||||
$this->autofocus('openid_url');
|
||||
}
|
||||
|
||||
function title()
|
||||
{
|
||||
return _('OpenID Login');
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Settings for OpenID
|
||||
*
|
||||
|
@ -20,14 +20,14 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Settings
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -40,10 +40,10 @@ require_once INSTALLDIR.'/lib/openid.php';
|
|||
* Lets users add, edit and delete OpenIDs from their account
|
||||
*
|
||||
* @category Settings
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class OpenidsettingsAction extends AccountSettingsAction
|
||||
|
@ -72,6 +72,12 @@ class OpenidsettingsAction extends AccountSettingsAction
|
|||
' Manage your associated OpenIDs from here.');
|
||||
}
|
||||
|
||||
function showScripts()
|
||||
{
|
||||
parent::showScripts();
|
||||
$this->autofocus('openid_url');
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for OpenID management
|
||||
*
|
||||
|
@ -82,6 +88,12 @@ class OpenidsettingsAction extends AccountSettingsAction
|
|||
|
||||
function showContent()
|
||||
{
|
||||
if (!common_config('openid', 'enabled')) {
|
||||
$this->element('div', array('class' => 'error'),
|
||||
_('OpenID is not available.'));
|
||||
return;
|
||||
}
|
||||
|
||||
$user = common_current_user();
|
||||
|
||||
$this->elementStart('form', array('method' => 'post',
|
||||
|
|
|
@ -6,14 +6,14 @@
|
|||
* PHP version 5
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -29,7 +29,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -39,11 +39,11 @@ if (!defined('LACONICA')) {
|
|||
* Formatting of RSS handled by Rss10Action
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
class OpensearchAction extends Action
|
||||
{
|
||||
|
@ -66,7 +66,7 @@ class OpensearchAction extends Action
|
|||
$type = 'noticesearch';
|
||||
$short_name = _('Notice Search');
|
||||
}
|
||||
header('Content-Type: text/html');
|
||||
header('Content-Type: application/opensearchdescription+xml');
|
||||
$this->startXML();
|
||||
$this->elementStart('OpenSearchDescription', array('xmlns' => 'http://a9.com/-/spec/opensearch/1.1/'));
|
||||
$short_name = common_config('site', 'name').' '.$short_name;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Miscellaneous settings
|
||||
*
|
||||
|
@ -20,15 +20,15 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Settings
|
||||
* @package Laconica
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -40,11 +40,11 @@ require_once INSTALLDIR.'/lib/accountsettingsaction.php';
|
|||
* Currently this just manages URL shortening.
|
||||
*
|
||||
* @category Settings
|
||||
* @package Laconica
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @author Zach Copley <zach@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class OthersettingsAction extends AccountSettingsAction
|
||||
|
@ -71,6 +71,12 @@ class OthersettingsAction extends AccountSettingsAction
|
|||
return _('Manage various other options.');
|
||||
}
|
||||
|
||||
function showScripts()
|
||||
{
|
||||
parent::showScripts();
|
||||
$this->autofocus('urlshorteningservice');
|
||||
}
|
||||
|
||||
/**
|
||||
* Content area of the page
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* action handler for message inbox
|
||||
*
|
||||
|
@ -20,14 +20,14 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Message
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @copyright 2008 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @copyright 2008 StatusNet, Inc.
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -37,10 +37,10 @@ require_once INSTALLDIR.'/lib/mailbox.php';
|
|||
* action handler for message outbox
|
||||
*
|
||||
* @category Message
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
* @see MailboxAction
|
||||
*/
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Change user password
|
||||
*
|
||||
|
@ -20,15 +20,15 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Settings
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Zach Copley <zach@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -38,11 +38,11 @@ require_once INSTALLDIR.'/lib/accountsettingsaction.php';
|
|||
* Change password
|
||||
*
|
||||
* @category Settings
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Zach Copley <zach@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class PasswordsettingsAction extends AccountSettingsAction
|
||||
|
@ -69,6 +69,12 @@ class PasswordsettingsAction extends AccountSettingsAction
|
|||
return _('Change your password.');
|
||||
}
|
||||
|
||||
function showScripts()
|
||||
{
|
||||
parent::showScripts();
|
||||
$this->autofocus('oldpassword');
|
||||
}
|
||||
|
||||
/**
|
||||
* Content area of the page
|
||||
*
|
||||
|
|
|
@ -5,14 +5,14 @@
|
|||
* PHP version 5
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -28,7 +28,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -39,11 +39,11 @@ require_once INSTALLDIR.'/lib/profilelist.php';
|
|||
* People search action class.
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
class PeoplesearchAction extends SearchAction
|
||||
{
|
||||
|
@ -85,6 +85,12 @@ class PeoplesearchAction extends SearchAction
|
|||
$profile->free();
|
||||
}
|
||||
}
|
||||
|
||||
function showScripts()
|
||||
{
|
||||
parent::showScripts();
|
||||
$this->autofocus('q');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -93,11 +99,11 @@ class PeoplesearchAction extends SearchAction
|
|||
* Derivative of ProfileList with specialization for highlighting search terms.
|
||||
*
|
||||
* @category Widget
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* @see PeoplesearchAction
|
||||
*/
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Action for showing profiles self-tagged with a given tag
|
||||
*
|
||||
|
@ -20,15 +20,15 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Zach Copley <zach@controlyourself.ca>
|
||||
* @copyright 2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @copyright 2009 StatusNet, Inc.
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -38,11 +38,11 @@ require_once INSTALLDIR.'/lib/profilelist.php';
|
|||
* This class outputs a paginated list of profiles self-tagged with a given tag
|
||||
*
|
||||
* @category Output
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Zach Copley <zach@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* @see Action
|
||||
*/
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
require_once(INSTALLDIR.'/lib/omb.php');
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Change profile settings
|
||||
*
|
||||
|
@ -20,15 +20,16 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Settings
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Zach Copley <zach@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @author Sarven Capadisli <csarven@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -38,11 +39,12 @@ require_once INSTALLDIR.'/lib/accountsettingsaction.php';
|
|||
* Change profile settings
|
||||
*
|
||||
* @category Settings
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Zach Copley <zach@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@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
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class ProfilesettingsAction extends AccountSettingsAction
|
||||
|
@ -70,6 +72,12 @@ class ProfilesettingsAction extends AccountSettingsAction
|
|||
'so people know more about you.');
|
||||
}
|
||||
|
||||
function showScripts()
|
||||
{
|
||||
parent::showScripts();
|
||||
$this->autofocus('nickname');
|
||||
}
|
||||
|
||||
/**
|
||||
* Content area of the page
|
||||
*
|
||||
|
@ -189,7 +197,7 @@ class ProfilesettingsAction extends AccountSettingsAction
|
|||
// Some validation
|
||||
if (!Validate::string($nickname, array('min_length' => 1,
|
||||
'max_length' => 64,
|
||||
'format' => VALIDATE_NUM . VALIDATE_ALPHA_LOWER))) {
|
||||
'format' => NICKNAME_FMT))) {
|
||||
$this->showForm(_('Nickname must have only lowercase letters and numbers and no spaces.'));
|
||||
return;
|
||||
} else if (!User::allowed_nickname($nickname)) {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Action for displaying the public stream
|
||||
*
|
||||
|
@ -20,14 +20,14 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Public
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -43,10 +43,10 @@ define('MAX_PUBLIC_PAGE', 100);
|
|||
* Action for displaying the public stream
|
||||
*
|
||||
* @category Public
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* @see PublicrssAction
|
||||
* @see PublicxrdsAction
|
||||
|
@ -59,6 +59,7 @@ class PublicAction extends Action
|
|||
*/
|
||||
|
||||
var $page = null;
|
||||
var $notice;
|
||||
|
||||
function isReadOnly($args)
|
||||
{
|
||||
|
@ -84,6 +85,18 @@ class PublicAction extends Action
|
|||
|
||||
common_set_returnto($this->selfUrl());
|
||||
|
||||
$this->notice = Notice::publicStream(($this->page-1)*NOTICES_PER_PAGE,
|
||||
NOTICES_PER_PAGE + 1);
|
||||
|
||||
if (!$this->notice) {
|
||||
$this->serverError(_('Could not retrieve public stream.'));
|
||||
return;
|
||||
}
|
||||
|
||||
if($this->page > 1 && $this->notice->N == 0){
|
||||
$this->serverError(_('No such page'),$code=404);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -183,7 +196,8 @@ class PublicAction extends Action
|
|||
}
|
||||
else {
|
||||
if (! (common_config('site','closed') || common_config('site','inviteonly'))) {
|
||||
$message .= _('Why not [register an account](%%action.register%%) and be the first to post!');
|
||||
$message .= sprintf(_('Why not [register an account](%%%%action.%s%%%%) and be the first to post!'),
|
||||
(!common_config('site','openidonly')) ? 'register' : 'openidlogin');
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -203,15 +217,7 @@ class PublicAction extends Action
|
|||
|
||||
function showContent()
|
||||
{
|
||||
$notice = Notice::publicStream(($this->page-1)*NOTICES_PER_PAGE,
|
||||
NOTICES_PER_PAGE + 1);
|
||||
|
||||
if (!$notice) {
|
||||
$this->serverError(_('Could not retrieve public stream.'));
|
||||
return;
|
||||
}
|
||||
|
||||
$nl = new NoticeList($notice, $this);
|
||||
$nl = new NoticeList($this->notice, $this);
|
||||
|
||||
$cnt = $nl->show();
|
||||
|
||||
|
@ -229,7 +235,7 @@ class PublicAction extends Action
|
|||
// $top->show();
|
||||
$pop = new PopularNoticeSection($this);
|
||||
$pop->show();
|
||||
$gbp = new GroupsByPostsSection($this);
|
||||
$gbp = new GroupsByMembersSection($this);
|
||||
$gbp->show();
|
||||
$feat = new FeaturedUsersSection($this);
|
||||
$feat->show();
|
||||
|
@ -238,12 +244,14 @@ class PublicAction extends Action
|
|||
function showAnonymousMessage()
|
||||
{
|
||||
if (! (common_config('site','closed') || common_config('site','inviteonly'))) {
|
||||
$m = _('This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
|
||||
'based on the Free Software [Laconica](http://laconi.ca/) tool. ' .
|
||||
'[Join now](%%action.register%%) to share notices about yourself with friends, family, and colleagues! ([Read more](%%doc.help%%))');
|
||||
$m = sprintf(_('This is %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
|
||||
'based on the Free Software [StatusNet](http://status.net/) tool. ' .
|
||||
'[Join now](%%%%action.%s%%%%) to share notices about yourself with friends, family, and colleagues! ' .
|
||||
'([Read more](%%%%doc.help%%%%))'),
|
||||
(!common_config('site','openidonly')) ? 'register' : 'openidlogin');
|
||||
} else {
|
||||
$m = _('This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
|
||||
'based on the Free Software [Laconica](http://laconi.ca/) tool.');
|
||||
'based on the Free Software [StatusNet](http://status.net/) tool.');
|
||||
}
|
||||
$this->elementStart('div', array('id' => 'anon_notice'));
|
||||
$this->raw(common_markup_to_html($m));
|
||||
|
|
|
@ -6,14 +6,14 @@
|
|||
* PHP version 5
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -29,7 +29,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -41,11 +41,11 @@ require_once INSTALLDIR.'/lib/rssaction.php';
|
|||
* Formatting of RSS handled by Rss10Action
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
class PublicrssAction extends Rss10Action
|
||||
{
|
||||
|
@ -86,9 +86,9 @@ class PublicrssAction extends Rss10Action
|
|||
{
|
||||
$c = array(
|
||||
'url' => common_local_url('publicrss')
|
||||
, 'title' => sprintf(_('%s Public Stream'), common_config('site', 'name'))
|
||||
, 'title' => sprintf(_('%s public timeline'), common_config('site', 'name'))
|
||||
, 'link' => common_local_url('public')
|
||||
, 'description' => sprintf(_('All updates for %s'), common_config('site', 'name')));
|
||||
, 'description' => sprintf(_('%s updates from everyone!'), common_config('site', 'name')));
|
||||
return $c;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Public tag cloud for notices
|
||||
*
|
||||
|
@ -20,16 +20,16 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Public
|
||||
* @package Laconica
|
||||
* @package StatusNet
|
||||
* @author Mike Cochrane <mikec@mikenz.geek.nz>
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @copyright 2008 Mike Cochrane
|
||||
* @copyright 2008-2009 Control Yourself, 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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
define('TAGS_PER_PAGE', 100);
|
||||
|
||||
|
@ -37,12 +37,12 @@ define('TAGS_PER_PAGE', 100);
|
|||
* Public tag cloud for notices
|
||||
*
|
||||
* @category Personal
|
||||
* @package Laconica
|
||||
* @package StatusNet
|
||||
* @author Mike Cochrane <mikec@mikenz.geek.nz>
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @copyright 2008 Mike Cochrane
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @link http://laconi.ca/
|
||||
* @copyright 2008-2009 StatusNet, Inc.
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class PublictagcloudAction extends Action
|
||||
|
@ -72,7 +72,8 @@ class PublictagcloudAction extends Action
|
|||
$message .= _('Be the first to post one!');
|
||||
}
|
||||
else {
|
||||
$message .= _('Why not [register an account](%%action.register%%) and be the first to post one!');
|
||||
$message .= sprintf(_('Why not [register an account](%%%%action.%s%%%%) and be the first to post one!'),
|
||||
(!common_config('site','openidonly')) ? 'register' : 'openidlogin');
|
||||
}
|
||||
|
||||
$this->elementStart('div', 'guide');
|
||||
|
|
|
@ -6,14 +6,14 @@
|
|||
* PHP version 5
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -29,7 +29,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -39,11 +39,11 @@ require_once INSTALLDIR.'/lib/openid.php';
|
|||
* Public XRDS for OpenID
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* @todo factor out similarities with XrdsAction
|
||||
*/
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
# You have 24 hours to claim your password
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Register a new user account
|
||||
*
|
||||
|
@ -20,14 +20,14 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Login
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -35,10 +35,10 @@ if (!defined('LACONICA')) {
|
|||
* An action for registering a new user account
|
||||
*
|
||||
* @category Login
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class RegisterAction extends Action
|
||||
|
@ -116,6 +116,8 @@ class RegisterAction extends Action
|
|||
*
|
||||
* Checks if registration is closed and shows an error if so.
|
||||
*
|
||||
* Checks if only OpenID is allowed and redirects to openidlogin if so.
|
||||
*
|
||||
* @param array $args $_REQUEST data
|
||||
*
|
||||
* @return void
|
||||
|
@ -127,6 +129,8 @@ class RegisterAction extends Action
|
|||
|
||||
if (common_config('site', 'closed')) {
|
||||
$this->clientError(_('Registration not allowed.'));
|
||||
} else if (common_config('site', 'openidonly')) {
|
||||
common_redirect(common_local_url('openidlogin'));
|
||||
} else if (common_logged_in()) {
|
||||
$this->clientError(_('Already logged in.'));
|
||||
} else if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
||||
|
@ -136,6 +140,12 @@ class RegisterAction extends Action
|
|||
}
|
||||
}
|
||||
|
||||
function showScripts()
|
||||
{
|
||||
parent::showScripts();
|
||||
$this->autofocus('nickname');
|
||||
}
|
||||
|
||||
/**
|
||||
* Try to register a user
|
||||
*
|
||||
|
@ -325,14 +335,22 @@ class RegisterAction extends Action
|
|||
} else if ($this->error) {
|
||||
$this->element('p', 'error', $this->error);
|
||||
} else {
|
||||
$instr =
|
||||
common_markup_to_html(_('With this form you can create '.
|
||||
' a new account. ' .
|
||||
'You can then post notices and '.
|
||||
'link up to friends and colleagues. '.
|
||||
'(Have an [OpenID](http://openid.net/)? ' .
|
||||
'Try our [OpenID registration]'.
|
||||
'(%%action.openidlogin%%)!)'));
|
||||
if (common_config('openid', 'enabled')) {
|
||||
$instr =
|
||||
common_markup_to_html(_('With this form you can create '.
|
||||
' a new account. ' .
|
||||
'You can then post notices and '.
|
||||
'link up to friends and colleagues. '.
|
||||
'(Have an [OpenID](http://openid.net/)? ' .
|
||||
'Try our [OpenID registration]'.
|
||||
'(%%action.openidlogin%%)!)'));
|
||||
} else {
|
||||
$instr =
|
||||
common_markup_to_html(_('With this form you can create '.
|
||||
' a new account. ' .
|
||||
'You can then post notices and '.
|
||||
'link up to friends and colleagues.'));
|
||||
}
|
||||
|
||||
$this->elementStart('div', 'instructions');
|
||||
$this->raw($instr);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
require_once(INSTALLDIR.'/lib/omb.php');
|
||||
|
||||
|
@ -71,11 +71,13 @@ class RemotesubscribeAction extends Action
|
|||
if ($this->err) {
|
||||
$this->element('div', 'error', $this->err);
|
||||
} else {
|
||||
$inst = _('To subscribe, you can [login](%%action.login%%),' .
|
||||
' or [register](%%action.register%%) a new ' .
|
||||
' account. If you already have an account ' .
|
||||
' on a [compatible microblogging site](%%doc.openmublog%%), ' .
|
||||
' enter your profile URL below.');
|
||||
$inst = sprintf(_('To subscribe, you can [login](%%%%action.%s%%%%),' .
|
||||
' or [register](%%%%action.%s%%%%) a new ' .
|
||||
' account. If you already have an account ' .
|
||||
' on a [compatible microblogging site](%%doc.openmublog%%), ' .
|
||||
' enter your profile URL below.'),
|
||||
(!common_config('site','openidonly')) ? 'login' : 'openidlogin',
|
||||
(!common_config('site','openidonly')) ? 'register' : 'openidlogin');
|
||||
$output = common_markup_to_html($inst);
|
||||
$this->elementStart('div', 'instructions');
|
||||
$this->raw($output);
|
||||
|
@ -321,7 +323,7 @@ class RemotesubscribeAction extends Action
|
|||
|
||||
$result = $fetcher->post($req->get_normalized_http_url(),
|
||||
$req->to_postdata(),
|
||||
array('User-Agent: Laconica/' . LACONICA_VERSION));
|
||||
array('User-Agent: StatusNet/' . STATUSNET_VERSION));
|
||||
if ($result->status != 200) {
|
||||
return null;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* List of replies
|
||||
*
|
||||
|
@ -20,14 +20,14 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Personal
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -39,15 +39,16 @@ require_once INSTALLDIR.'/lib/feedlist.php';
|
|||
* List of replies
|
||||
*
|
||||
* @category Personal
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class RepliesAction extends OwnerDesignAction
|
||||
{
|
||||
var $page = null;
|
||||
var $notice;
|
||||
|
||||
/**
|
||||
* Prepare the object
|
||||
|
@ -84,6 +85,13 @@ class RepliesAction extends OwnerDesignAction
|
|||
|
||||
common_set_returnto($this->selfUrl());
|
||||
|
||||
$this->notice = $this->user->getReplies(($this->page-1) * NOTICES_PER_PAGE,
|
||||
NOTICES_PER_PAGE + 1);
|
||||
|
||||
if($this->page > 1 && $this->notice->N == 0){
|
||||
$this->serverError(_('No such page'),$code=404);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -159,10 +167,7 @@ class RepliesAction extends OwnerDesignAction
|
|||
|
||||
function showContent()
|
||||
{
|
||||
$notice = $this->user->getReplies(($this->page-1) * NOTICES_PER_PAGE,
|
||||
NOTICES_PER_PAGE + 1);
|
||||
|
||||
$nl = new NoticeList($notice, $this);
|
||||
$nl = new NoticeList($this->notice, $this);
|
||||
|
||||
$cnt = $nl->show();
|
||||
if (0 === $cnt) {
|
||||
|
@ -187,7 +192,9 @@ class RepliesAction extends OwnerDesignAction
|
|||
}
|
||||
}
|
||||
else {
|
||||
$message .= sprintf(_('Why not [register an account](%%%%action.register%%%%) and then nudge %s or post a notice to his or her attention.'), $this->user->nickname);
|
||||
$message .= sprintf(_('Why not [register an account](%%%%action.%s%%%%) and then nudge %s or post a notice to his or her attention.'),
|
||||
(!common_config('site','openidonly')) ? 'register' : 'openidlogin',
|
||||
$this->user->nickname);
|
||||
}
|
||||
|
||||
$this->elementStart('div', 'guide');
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
require_once(INSTALLDIR.'/lib/rssaction.php');
|
||||
|
||||
|
@ -68,7 +68,8 @@ class RepliesrssAction extends Rss10Action
|
|||
'link' => common_local_url('replies',
|
||||
array('nickname' =>
|
||||
$user->nickname)),
|
||||
'description' => sprintf(_('Feed for replies to %s'), $user->nickname));
|
||||
'description' => sprintf(_('Replies to %1$s on %2$s!'),
|
||||
$user->nickname, common_config('site', 'name')));
|
||||
return $c;
|
||||
}
|
||||
|
||||
|
|
|
@ -6,14 +6,14 @@
|
|||
* PHP version 5
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -29,7 +29,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -39,11 +39,11 @@ require_once INSTALLDIR.'/lib/omb.php';
|
|||
* Request token action class.
|
||||
*
|
||||
* @category Action
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Robin Millette <millette@controlyourself.ca>
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Robin Millette <millette@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
class RequesttokenAction extends Action
|
||||
{
|
||||
|
@ -72,7 +72,7 @@ class RequesttokenAction extends Action
|
|||
$req = OAuthRequest::from_request('POST', common_local_url('requesttoken'));
|
||||
$server = omb_oauth_server();
|
||||
$token = $server->fetch_request_token($req);
|
||||
print $token;
|
||||
print $token.'&omb_version='.OMB_VERSION_01;
|
||||
} catch (OAuthException $e) {
|
||||
$this->serverError($e->getMessage());
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* List of replies
|
||||
*
|
||||
|
@ -20,14 +20,14 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Personal
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -39,10 +39,10 @@ require_once INSTALLDIR.'/lib/feedlist.php';
|
|||
* List of replies
|
||||
*
|
||||
* @category Personal
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class ShowfavoritesAction extends OwnerDesignAction
|
||||
|
@ -114,6 +114,29 @@ class ShowfavoritesAction extends OwnerDesignAction
|
|||
|
||||
common_set_returnto($this->selfUrl());
|
||||
|
||||
$cur = common_current_user();
|
||||
|
||||
if (!empty($cur) && $cur->id == $this->user->id) {
|
||||
|
||||
// Show imported/gateway notices as well as local if
|
||||
// the user is looking at his own favorites
|
||||
|
||||
$this->notice = $this->user->favoriteNotices(($this->page-1)*NOTICES_PER_PAGE,
|
||||
NOTICES_PER_PAGE + 1, true);
|
||||
} else {
|
||||
$this->notice = $this->user->favoriteNotices(($this->page-1)*NOTICES_PER_PAGE,
|
||||
NOTICES_PER_PAGE + 1, false);
|
||||
}
|
||||
|
||||
if (empty($this->notice)) {
|
||||
$this->serverError(_('Could not retrieve favorite notices.'));
|
||||
return;
|
||||
}
|
||||
|
||||
if($this->page > 1 && $this->notice->N == 0){
|
||||
$this->serverError(_('No such page'),$code=404);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -173,7 +196,9 @@ class ShowfavoritesAction extends OwnerDesignAction
|
|||
}
|
||||
}
|
||||
else {
|
||||
$message = sprintf(_('%s hasn\'t added any notices to his favorites yet. Why not [register an account](%%%%action.register%%%%) and then post something interesting they would add to thier favorites :)'), $this->user->nickname);
|
||||
$message = sprintf(_('%s hasn\'t added any notices to his favorites yet. Why not [register an account](%%%%action.%s%%%%) and then post something interesting they would add to their favorites :)'),
|
||||
$this->user->nickname,
|
||||
(!common_config('site','openidonly')) ? 'register' : 'openidlogin');
|
||||
}
|
||||
|
||||
$this->elementStart('div', 'guide');
|
||||
|
@ -191,26 +216,7 @@ class ShowfavoritesAction extends OwnerDesignAction
|
|||
|
||||
function showContent()
|
||||
{
|
||||
$cur = common_current_user();
|
||||
|
||||
if (!empty($cur) && $cur->id == $this->user->id) {
|
||||
|
||||
// Show imported/gateway notices as well as local if
|
||||
// the user is looking at his own favorites
|
||||
|
||||
$notice = $this->user->favoriteNotices(($this->page-1)*NOTICES_PER_PAGE,
|
||||
NOTICES_PER_PAGE + 1, true);
|
||||
} else {
|
||||
$notice = $this->user->favoriteNotices(($this->page-1)*NOTICES_PER_PAGE,
|
||||
NOTICES_PER_PAGE + 1, false);
|
||||
}
|
||||
|
||||
if (empty($notice)) {
|
||||
$this->serverError(_('Could not retrieve favorite notices.'));
|
||||
return;
|
||||
}
|
||||
|
||||
$nl = new NoticeList($notice, $this);
|
||||
$nl = new NoticeList($this->notice, $this);
|
||||
|
||||
$cnt = $nl->show();
|
||||
if (0 == $cnt) {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Group main page
|
||||
*
|
||||
|
@ -20,15 +20,15 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Group
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Sarven Capadisli <csarven@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Sarven Capadisli <csarven@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -41,10 +41,10 @@ define('MEMBERS_PER_SECTION', 27);
|
|||
* Group main page
|
||||
*
|
||||
* @category Group
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class ShowgroupAction extends GroupDesignAction
|
||||
|
@ -130,8 +130,18 @@ class ShowgroupAction extends GroupDesignAction
|
|||
$this->group = User_group::staticGet('nickname', $nickname);
|
||||
|
||||
if (!$this->group) {
|
||||
$this->clientError(_('No such group'), 404);
|
||||
return false;
|
||||
$alias = Group_alias::staticGet('alias', $nickname);
|
||||
if ($alias) {
|
||||
$args = array('id' => $alias->group_id);
|
||||
if ($this->page != 1) {
|
||||
$args['page'] = $this->page;
|
||||
}
|
||||
common_redirect(common_local_url('groupbyid', $args), 301);
|
||||
return false;
|
||||
} else {
|
||||
$this->clientError(_('No such group'), 404);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
common_set_returnto($this->selfUrl());
|
||||
|
@ -438,13 +448,14 @@ class ShowgroupAction extends GroupDesignAction
|
|||
{
|
||||
if (!(common_config('site','closed') || common_config('site','inviteonly'))) {
|
||||
$m = sprintf(_('**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
|
||||
'based on the Free Software [Laconica](http://laconi.ca/) tool. Its members share ' .
|
||||
'based on the Free Software [StatusNet](http://status.net/) tool. Its members share ' .
|
||||
'short messages about their life and interests. '.
|
||||
'[Join now](%%%%action.register%%%%) to become part of this group and many more! ([Read more](%%%%doc.help%%%%))'),
|
||||
$this->group->nickname);
|
||||
'[Join now](%%%%action.%s%%%%) to become part of this group and many more! ([Read more](%%%%doc.help%%%%))'),
|
||||
$this->group->nickname,
|
||||
(!common_config('site','openidonly')) ? 'register' : 'openidlogin');
|
||||
} else {
|
||||
$m = sprintf(_('**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
|
||||
'based on the Free Software [Laconica](http://laconi.ca/) tool. Its members share ' .
|
||||
'based on the Free Software [StatusNet](http://status.net/) tool. Its members share ' .
|
||||
'short messages about their life and interests. '),
|
||||
$this->group->nickname);
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Show a single message
|
||||
*
|
||||
|
@ -20,13 +20,13 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Personal
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -38,10 +38,10 @@ require_once INSTALLDIR.'/lib/mailbox.php';
|
|||
* // XXX: It is totally weird how this works!
|
||||
*
|
||||
* @category Personal
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class ShowmessageAction extends MailboxAction
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Show a single notice
|
||||
*
|
||||
|
@ -20,14 +20,14 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Personal
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -39,10 +39,10 @@ require_once INSTALLDIR.'/lib/feedlist.php';
|
|||
* Show a single notice
|
||||
*
|
||||
* @category Personal
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class ShownoticeAction extends OwnerDesignAction
|
||||
|
@ -97,8 +97,8 @@ class ShownoticeAction extends OwnerDesignAction
|
|||
|
||||
$this->user = User::staticGet('id', $this->profile->id);
|
||||
|
||||
if (empty($this->user)) {
|
||||
$this->serverError(_('Not a local notice'), 500);
|
||||
if (! $this->notice->is_local) {
|
||||
common_redirect($this->notice->uri);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -190,7 +190,7 @@ class ShownoticeAction extends OwnerDesignAction
|
|||
{
|
||||
parent::handle($args);
|
||||
|
||||
if ($this->notice->is_local == 0) {
|
||||
if ($this->notice->is_local == Notice::REMOTE_OMB) {
|
||||
if (!empty($this->notice->url)) {
|
||||
common_redirect($this->notice->url, 301);
|
||||
} else if (!empty($this->notice->uri) && preg_match('/^https?:/', $this->notice->uri)) {
|
||||
|
@ -278,16 +278,16 @@ class ShownoticeAction extends OwnerDesignAction
|
|||
$this->element('link',array('rel'=>'alternate',
|
||||
'type'=>'application/json+oembed',
|
||||
'href'=>common_local_url(
|
||||
'api',
|
||||
array('apiaction'=>'oembed','method'=>'oembed.json'),
|
||||
array('url'=>$this->notice->uri)),
|
||||
'oembed',
|
||||
array(),
|
||||
array('format'=>'json','url'=>$this->notice->uri)),
|
||||
'title'=>'oEmbed'),null);
|
||||
$this->element('link',array('rel'=>'alternate',
|
||||
'type'=>'text/xml+oembed',
|
||||
'href'=>common_local_url(
|
||||
'api',
|
||||
array('apiaction'=>'oembed','method'=>'oembed.xml'),
|
||||
array('url'=>$this->notice->uri)),
|
||||
'oembed',
|
||||
array(),
|
||||
array('format'=>'xml','url'=>$this->notice->uri)),
|
||||
'title'=>'oEmbed'),null);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* User profile page
|
||||
*
|
||||
|
@ -20,15 +20,15 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Personal
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Sarven Capadisli <csarven@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Sarven Capadisli <csarven@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -48,10 +48,10 @@ require_once INSTALLDIR.'/lib/feedlist.php';
|
|||
* to subscriptions and stuff, etc.
|
||||
*
|
||||
* @category Personal
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class ShowstreamAction extends ProfileAction
|
||||
|
@ -358,7 +358,9 @@ class ShowstreamAction extends ProfileAction
|
|||
}
|
||||
}
|
||||
else {
|
||||
$message .= sprintf(_('Why not [register an account](%%%%action.register%%%%) and then nudge %s or post a notice to his or her attention.'), $this->user->nickname);
|
||||
$message .= sprintf(_('Why not [register an account](%%%%action.%s%%%%) and then nudge %s or post a notice to his or her attention.'),
|
||||
(!common_config('site','openidonly')) ? 'register' : 'openidlogin',
|
||||
$this->user->nickname);
|
||||
}
|
||||
|
||||
$this->elementStart('div', 'guide');
|
||||
|
@ -378,20 +380,27 @@ class ShowstreamAction extends ProfileAction
|
|||
$this->showEmptyListMessage();
|
||||
}
|
||||
|
||||
$args = array('nickname' => $this->user->nickname);
|
||||
if (!empty($this->tag))
|
||||
{
|
||||
$args['tag'] = $this->tag;
|
||||
}
|
||||
$this->pagination($this->page>1, $cnt>NOTICES_PER_PAGE, $this->page,
|
||||
'showstream', array('nickname' => $this->user->nickname));
|
||||
'showstream', $args);
|
||||
}
|
||||
|
||||
function showAnonymousMessage()
|
||||
{
|
||||
if (!(common_config('site','closed') || common_config('site','inviteonly'))) {
|
||||
$m = sprintf(_('**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
|
||||
'based on the Free Software [Laconica](http://laconi.ca/) tool. ' .
|
||||
'[Join now](%%%%action.register%%%%) to follow **%s**\'s notices and many more! ([Read more](%%%%doc.help%%%%))'),
|
||||
$this->user->nickname, $this->user->nickname);
|
||||
'based on the Free Software [StatusNet](http://status.net/) tool. ' .
|
||||
'[Join now](%%%%action.%s%%%%) to follow **%s**\'s notices and many more! ([Read more](%%%%doc.help%%%%))'),
|
||||
$this->user->nickname,
|
||||
(!common_config('site','openidonly')) ? 'register' : 'openidlogin',
|
||||
$this->user->nickname);
|
||||
} else {
|
||||
$m = sprintf(_('**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
|
||||
'based on the Free Software [Laconica](http://laconi.ca/) tool. '),
|
||||
'based on the Free Software [StatusNet](http://status.net/) tool. '),
|
||||
$this->user->nickname, $this->user->nickname);
|
||||
}
|
||||
$this->elementStart('div', array('id' => 'anon_notice'));
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Settings for SMS
|
||||
*
|
||||
|
@ -20,14 +20,14 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Settings
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -37,10 +37,10 @@ require_once INSTALLDIR.'/lib/connectsettingsaction.php';
|
|||
* Settings for SMS
|
||||
*
|
||||
* @category Settings
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*
|
||||
* @see SettingsAction
|
||||
*/
|
||||
|
@ -69,6 +69,12 @@ class SmssettingsAction extends ConnectSettingsAction
|
|||
return _('You can receive SMS messages through email from %%site.name%%.');
|
||||
}
|
||||
|
||||
function showScripts()
|
||||
{
|
||||
parent::showScripts();
|
||||
$this->autofocus('sms');
|
||||
}
|
||||
|
||||
/**
|
||||
* Content area of the page
|
||||
*
|
||||
|
@ -80,6 +86,12 @@ class SmssettingsAction extends ConnectSettingsAction
|
|||
|
||||
function showContent()
|
||||
{
|
||||
if (!common_config('sms', 'enabled')) {
|
||||
$this->element('div', array('class' => 'error'),
|
||||
_('SMS is not available.'));
|
||||
return;
|
||||
}
|
||||
|
||||
$user = common_current_user();
|
||||
|
||||
$this->elementStart('form', array('method' => 'post',
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
class SubeditAction extends Action
|
||||
{
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
class SubscribeAction extends Action
|
||||
{
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* List a user's subscribers
|
||||
*
|
||||
|
@ -20,15 +20,15 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Social
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Sarven Capadisli <csarven@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Sarven Capadisli <csarven@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -36,10 +36,10 @@ if (!defined('LACONICA')) {
|
|||
* List a user's subscribers
|
||||
*
|
||||
* @category Social
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class SubscribersAction extends GalleryAction
|
||||
|
@ -111,7 +111,9 @@ class SubscribersAction extends GalleryAction
|
|||
}
|
||||
}
|
||||
else {
|
||||
$message = sprintf(_('%s has no subscribers. Why not [register an account](%%%%action.register%%%%) and be the first?'), $this->user->nickname);
|
||||
$message = sprintf(_('%s has no subscribers. Why not [register an account](%%%%action.%s%%%%) and be the first?'),
|
||||
$this->user->nickname,
|
||||
(!common_config('site','openidonly')) ? 'register' : 'openidlogin');
|
||||
}
|
||||
|
||||
$this->elementStart('div', 'guide');
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* List of a user's subscriptions
|
||||
*
|
||||
|
@ -20,15 +20,15 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Social
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Sarven Capadisli <csarven@controlyourself.ca>
|
||||
* @copyright 2008-2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Sarven Capadisli <csarven@status.net>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -36,13 +36,13 @@ if (!defined('LACONICA')) {
|
|||
* A list of the user's subscriptions
|
||||
*
|
||||
* @category Social
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @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://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
class SubscriptionsAction extends GalleryAction
|
||||
{
|
||||
|
@ -107,6 +107,12 @@ class SubscriptionsAction extends GalleryAction
|
|||
array('nickname' => $this->user->nickname));
|
||||
}
|
||||
|
||||
function showScripts()
|
||||
{
|
||||
parent::showScripts();
|
||||
$this->autofocus('tag');
|
||||
}
|
||||
|
||||
function showEmptyListMessage()
|
||||
{
|
||||
if (common_logged_in()) {
|
||||
|
@ -174,14 +180,26 @@ class SubscriptionsListItem extends SubscriptionListItem
|
|||
return;
|
||||
}
|
||||
|
||||
if (!common_config('xmpp', 'enabled') && !common_config('sms', 'enabled')) {
|
||||
return;
|
||||
}
|
||||
|
||||
$this->out->elementStart('form', array('id' => 'subedit-' . $this->profile->id,
|
||||
'method' => 'post',
|
||||
'class' => 'form_subscription_edit',
|
||||
'action' => common_local_url('subedit')));
|
||||
$this->out->hidden('token', common_session_token());
|
||||
$this->out->hidden('profile', $this->profile->id);
|
||||
$this->out->checkbox('jabber', _('Jabber'), $sub->jabber);
|
||||
$this->out->checkbox('sms', _('SMS'), $sub->sms);
|
||||
if (common_config('xmpp', 'enabled')) {
|
||||
$this->out->checkbox('jabber', _('Jabber'), $sub->jabber);
|
||||
} else {
|
||||
$this->out->hidden('jabber', $sub->jabber);
|
||||
}
|
||||
if (common_config('sms', 'enabled')) {
|
||||
$this->out->checkbox('sms', _('SMS'), $sub->sms);
|
||||
} else {
|
||||
$this->out->hidden('sms', $sub->sms);
|
||||
}
|
||||
$this->out->submit('save', _('Save'));
|
||||
$this->out->elementEnd('form');
|
||||
return;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
class SupAction extends Action
|
||||
{
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -17,10 +17,13 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
class TagAction extends Action
|
||||
{
|
||||
|
||||
var $notice;
|
||||
|
||||
function prepare($args)
|
||||
{
|
||||
parent::prepare($args);
|
||||
|
@ -42,6 +45,12 @@ class TagAction extends Action
|
|||
|
||||
common_set_returnto($this->selfUrl());
|
||||
|
||||
$this->notice = Notice_tag::getStream($this->tag, (($this->page-1)*NOTICES_PER_PAGE), NOTICES_PER_PAGE + 1);
|
||||
|
||||
if($this->page > 1 && $this->notice->N == 0){
|
||||
$this->serverError(_('No such page'),$code=404);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -94,9 +103,7 @@ class TagAction extends Action
|
|||
|
||||
function showContent()
|
||||
{
|
||||
$notice = Notice_tag::getStream($this->tag, (($this->page-1)*NOTICES_PER_PAGE), NOTICES_PER_PAGE + 1);
|
||||
|
||||
$nl = new NoticeList($notice, $this);
|
||||
$nl = new NoticeList($this->notice, $this);
|
||||
|
||||
$cnt = $nl->show();
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
require_once(INSTALLDIR.'/lib/settingsaction.php');
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
require_once(INSTALLDIR.'/lib/rssaction.php');
|
||||
|
||||
|
@ -61,7 +61,8 @@ class TagrssAction extends Rss10Action
|
|||
$c = array('url' => common_local_url('tagrss', array('tag' => $tagname)),
|
||||
'title' => $tagname,
|
||||
'link' => common_local_url('tagrss', array('tag' => $tagname)),
|
||||
'description' => sprintf(_('Microblog tagged with %s'), $tagname));
|
||||
'description' => sprintf(_('Updates tagged with %1$s on %2$s!'),
|
||||
$tagname, common_config('site', 'name')));
|
||||
return $c;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -207,32 +207,10 @@ class TwitapifavoritesAction extends TwitterapiAction
|
|||
$other = User::staticGet('id', $notice->profile_id);
|
||||
if ($other && $other->id != $user->id) {
|
||||
if ($other->email && $other->emailnotifyfav) {
|
||||
$this->notify_mail($other, $user, $notice);
|
||||
mail_notify_fave($other, $user, $notice);
|
||||
}
|
||||
# XXX: notify by IM
|
||||
# XXX: notify by SMS
|
||||
}
|
||||
}
|
||||
|
||||
function notify_mail($other, $user, $notice)
|
||||
{
|
||||
$profile = $user->getProfile();
|
||||
$bestname = $profile->getBestName();
|
||||
$subject = sprintf(_('%s added your notice as a favorite'), $bestname);
|
||||
$body = sprintf(_("%1\$s just added your notice from %2\$s as one of their favorites.\n\n" .
|
||||
"In case you forgot, you can see the text of your notice here:\n\n" .
|
||||
"%3\$s\n\n" .
|
||||
"You can see the list of %1\$s's favorites here:\n\n" .
|
||||
"%4\$s\n\n" .
|
||||
"Faithfully yours,\n" .
|
||||
"%5\$s\n"),
|
||||
$bestname,
|
||||
common_exact_date($notice->created),
|
||||
common_local_url('shownotice', array('notice' => $notice->id)),
|
||||
common_local_url('showfavorites', array('nickname' => $user->nickname)),
|
||||
common_config('site', 'name'));
|
||||
|
||||
mail_to_user($other, $subject, $body);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, Control Yourself, Inc.
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -99,6 +99,12 @@ class TwitapifriendshipsAction extends TwitterapiAction
|
|||
$other = $this->get_profile($id);
|
||||
$user = $apidata['user']; // Alwyas the auth user
|
||||
|
||||
if ($user->id == $other->id) {
|
||||
$this->clientError(_("You cannot unfollow yourself!"),
|
||||
403, $apidata['content-type']);
|
||||
return;
|
||||
}
|
||||
|
||||
$sub = new Subscription();
|
||||
$sub->subscriber = $user->id;
|
||||
$sub->subscribed = $other->id;
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?php
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Laconica extensions to the Twitter-like API for groups
|
||||
* StatusNet extensions to the Twitter-like API for groups
|
||||
*
|
||||
* PHP version 5
|
||||
*
|
||||
|
@ -20,15 +20,15 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Twitter
|
||||
* @package Laconica
|
||||
* @author Craig Andrews
|
||||
* @author Zach Copley <zach@controlyourself.ca>
|
||||
* @copyright 2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Craig Andrews <candrews@integralblue.com>
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @copyright 2009 StatusNet, Inc.
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) {
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -37,20 +37,143 @@ require_once INSTALLDIR.'/lib/twitterapi.php';
|
|||
/**
|
||||
* Group-specific API methods
|
||||
*
|
||||
* This class handles Laconica group API methods.
|
||||
* This class handles StatusNet group API methods.
|
||||
*
|
||||
* @category Twitter
|
||||
* @package Laconica
|
||||
* @author Craig Andrews
|
||||
* @author Zach Copley <zach@controlyourself.ca>
|
||||
* @copyright 2009 Control Yourself, Inc.
|
||||
* @package StatusNet
|
||||
* @author Craig Andrews <candrews@integralblue.com>
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @copyright 2009 StatusNet, Inc.
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://laconi.ca/
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class TwitapigroupsAction extends TwitterapiAction
|
||||
{
|
||||
|
||||
function list_groups($args, $apidata)
|
||||
{
|
||||
parent::handle($args);
|
||||
|
||||
common_debug("in groups api action");
|
||||
|
||||
$this->auth_user = $apidata['user'];
|
||||
$user = $this->get_user($apidata['api_arg'], $apidata);
|
||||
|
||||
if (empty($user)) {
|
||||
$this->clientError('Not Found', 404, $apidata['content-type']);
|
||||
return;
|
||||
}
|
||||
|
||||
$page = (int)$this->arg('page', 1);
|
||||
$count = (int)$this->arg('count', 20);
|
||||
$max_id = (int)$this->arg('max_id', 0);
|
||||
$since_id = (int)$this->arg('since_id', 0);
|
||||
$since = $this->arg('since');
|
||||
$group = $user->getGroups(($page-1)*$count,
|
||||
$count, $since_id, $max_id, $since);
|
||||
|
||||
$sitename = common_config('site', 'name');
|
||||
$title = sprintf(_("%s's groups"), $user->nickname);
|
||||
$taguribase = common_config('integration', 'taguri');
|
||||
$id = "tag:$taguribase:Groups";
|
||||
$link = common_root_url();
|
||||
$subtitle = sprintf(_("groups %s is a member of on %s"), $user->nickname, $sitename);
|
||||
|
||||
switch($apidata['content-type']) {
|
||||
case 'xml':
|
||||
$this->show_xml_groups($group);
|
||||
break;
|
||||
case 'rss':
|
||||
$this->show_rss_groups($group, $title, $link, $subtitle);
|
||||
break;
|
||||
case 'atom':
|
||||
$selfuri = common_root_url() . 'api/statusnet/groups/list/' . $user->id . '.atom';
|
||||
$this->show_atom_groups($group, $title, $id, $link,
|
||||
$subtitle, $selfuri);
|
||||
break;
|
||||
case 'json':
|
||||
$this->show_json_groups($group);
|
||||
break;
|
||||
default:
|
||||
$this->clientError(_('API method not found!'), $code = 404);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
function list_all($args, $apidata)
|
||||
{
|
||||
parent::handle($args);
|
||||
|
||||
common_debug("in groups api action");
|
||||
|
||||
$page = (int)$this->arg('page', 1);
|
||||
$count = (int)$this->arg('count', 20);
|
||||
$max_id = (int)$this->arg('max_id', 0);
|
||||
$since_id = (int)$this->arg('since_id', 0);
|
||||
$since = $this->arg('since');
|
||||
|
||||
/* TODO:
|
||||
Use the $page, $count, $max_id, $since_id, and $since parameters
|
||||
*/
|
||||
$group = new User_group();
|
||||
$group->orderBy('created DESC');
|
||||
$group->find();
|
||||
|
||||
$sitename = common_config('site', 'name');
|
||||
$title = sprintf(_("%s groups"), $sitename);
|
||||
$taguribase = common_config('integration', 'taguri');
|
||||
$id = "tag:$taguribase:Groups";
|
||||
$link = common_root_url();
|
||||
$subtitle = sprintf(_("groups on %s"), $sitename);
|
||||
|
||||
switch($apidata['content-type']) {
|
||||
case 'xml':
|
||||
$this->show_xml_groups($group);
|
||||
break;
|
||||
case 'rss':
|
||||
$this->show_rss_groups($group, $title, $link, $subtitle);
|
||||
break;
|
||||
case 'atom':
|
||||
$selfuri = common_root_url() . 'api/statusnet/groups/list_all.atom';
|
||||
$this->show_atom_groups($group, $title, $id, $link,
|
||||
$subtitle, $selfuri);
|
||||
break;
|
||||
case 'json':
|
||||
$this->show_json_groups($group);
|
||||
break;
|
||||
default:
|
||||
$this->clientError(_('API method not found!'), $code = 404);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
function show($args, $apidata)
|
||||
{
|
||||
parent::handle($args);
|
||||
|
||||
common_debug("in groups api action");
|
||||
|
||||
$this->auth_user = $apidata['user'];
|
||||
$group = $this->get_group($apidata['api_arg'], $apidata);
|
||||
|
||||
if (empty($group)) {
|
||||
$this->clientError('Not Found', 404, $apidata['content-type']);
|
||||
return;
|
||||
}
|
||||
|
||||
switch($apidata['content-type']) {
|
||||
case 'xml':
|
||||
$this->show_single_xml_group($group);
|
||||
break;
|
||||
case 'json':
|
||||
$this->show_single_json_group($group);
|
||||
break;
|
||||
default:
|
||||
$this->clientError(_('API method not found!'), $code = 404);
|
||||
}
|
||||
}
|
||||
|
||||
function timeline($args, $apidata)
|
||||
{
|
||||
parent::handle($args);
|
||||
|
@ -88,20 +211,19 @@ require_once INSTALLDIR.'/lib/twitterapi.php';
|
|||
$this->show_xml_timeline($notice);
|
||||
break;
|
||||
case 'rss':
|
||||
$this->show_rss_timeline($notice, $title, $link,
|
||||
$subtitle, $suplink);
|
||||
$this->show_rss_timeline($notice, $title, $link, $subtitle);
|
||||
break;
|
||||
case 'atom':
|
||||
if (isset($apidata['api_arg'])) {
|
||||
$selfuri = common_root_url() .
|
||||
'api/laconica/groups/timeline/' .
|
||||
'api/statusnet/groups/timeline/' .
|
||||
$apidata['api_arg'] . '.atom';
|
||||
} else {
|
||||
$selfuri = common_root_url() .
|
||||
'api/laconica/groups/timeline.atom';
|
||||
'api/statusnet/groups/timeline.atom';
|
||||
}
|
||||
$this->show_atom_timeline($notice, $title, $id, $link,
|
||||
$subtitle, $suplink, $selfuri);
|
||||
$subtitle, null, $selfuri);
|
||||
break;
|
||||
case 'json':
|
||||
$this->show_json_timeline($notice);
|
||||
|
@ -111,4 +233,97 @@ require_once INSTALLDIR.'/lib/twitterapi.php';
|
|||
}
|
||||
}
|
||||
|
||||
function membership($args, $apidata)
|
||||
{
|
||||
parent::handle($args);
|
||||
|
||||
common_debug("in groups api action");
|
||||
|
||||
$this->auth_user = $apidata['user'];
|
||||
$group = $this->get_group($apidata['api_arg'], $apidata);
|
||||
|
||||
if (empty($group)) {
|
||||
$this->clientError('Not Found', 404, $apidata['content-type']);
|
||||
return;
|
||||
}
|
||||
|
||||
$sitename = common_config('site', 'name');
|
||||
$title = sprintf(_("Members of %s group"), $group->nickname);
|
||||
$taguribase = common_config('integration', 'taguri');
|
||||
$id = "tag:$taguribase:GroupMembership:".$group->id;
|
||||
$link = common_local_url('showgroup',
|
||||
array('nickname' => $group->nickname));
|
||||
$subtitle = sprintf(_('Members of %1$s on %2$s'),
|
||||
$group->nickname, $sitename);
|
||||
|
||||
$page = (int)$this->arg('page', 1);
|
||||
$count = (int)$this->arg('count', 20);
|
||||
$max_id = (int)$this->arg('max_id', 0);
|
||||
$since_id = (int)$this->arg('since_id', 0);
|
||||
$since = $this->arg('since');
|
||||
|
||||
$member = $group->getMembers(($page-1)*$count,
|
||||
$count, $since_id, $max_id, $since);
|
||||
|
||||
switch($apidata['content-type']) {
|
||||
case 'xml':
|
||||
$this->show_twitter_xml_users($member);
|
||||
break;
|
||||
//TODO implement the RSS and ATOM content types
|
||||
/*case 'rss':
|
||||
$this->show_rss_users($member, $title, $link, $subtitle);
|
||||
break;*/
|
||||
/*case 'atom':
|
||||
if (isset($apidata['api_arg'])) {
|
||||
$selfuri = common_root_url() .
|
||||
'api/statusnet/groups/membership/' .
|
||||
$apidata['api_arg'] . '.atom';
|
||||
} else {
|
||||
$selfuri = common_root_url() .
|
||||
'api/statusnet/groups/membership.atom';
|
||||
}
|
||||
$this->show_atom_users($member, $title, $id, $link,
|
||||
$subtitle, null, $selfuri);
|
||||
break;*/
|
||||
case 'json':
|
||||
$this->show_json_users($member);
|
||||
break;
|
||||
default:
|
||||
$this->clientError(_('API method not found!'), $code = 404);
|
||||
}
|
||||
}
|
||||
|
||||
function is_member($args, $apidata)
|
||||
{
|
||||
parent::handle($args);
|
||||
|
||||
common_debug("in groups api action");
|
||||
|
||||
$this->auth_user = $apidata['user'];
|
||||
$group = User_group::staticGet($args['group_id']);
|
||||
if(! $group){
|
||||
$this->clientError(_('Group not found'), $code = 500);
|
||||
}
|
||||
$user = User::staticGet('id', $args['user_id']);
|
||||
if(! $user){
|
||||
$this->clientError(_('User not found'), $code = 500);
|
||||
}
|
||||
|
||||
$is_member=$user->isMember($group);
|
||||
|
||||
switch($apidata['content-type']) {
|
||||
case 'xml':
|
||||
$this->init_document('xml');
|
||||
$this->element('is_member', null, $is_member);
|
||||
$this->end_document('xml');
|
||||
break;
|
||||
case 'json':
|
||||
$this->init_document('json');
|
||||
$this->show_json_objects(array('is_member'=>$is_member));
|
||||
$this->end_document('json');
|
||||
break;
|
||||
default:
|
||||
$this->clientError(_('API method not found!'), $code = 404);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user