diff --git a/.gitignore b/.gitignore index 5394f5eac5..1cde3a6254 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ avatar/* background/* files/* file/* +local/* _darcs/* logs/* config.php diff --git a/EVENTS.txt b/EVENTS.txt index a79687bae1..121ae175d0 100644 --- a/EVENTS.txt +++ b/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 tyle links; good place to add handheld or JavaScript dependent 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 User-Agent 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 @@ -235,3 +247,10 @@ StartLoadDoc: before loading a help doc (hook this to show your own documentatio EndLoadDoc: after loading a help doc (hook this to modify other documentation) - $title: title of the document - $output: HTML output to show + +StartApiRss: after the rss element is started +- $action: action object being shown + +StartApiAtom: after the element is started +- $action: action object being shown + diff --git a/README b/README index ab25b9f3ff..f3b2528b85 100644 --- a/README +++ b/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 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 . 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. 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 . +- 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 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 + . +- 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,7 +542,7 @@ 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 ( @@ -560,7 +554,7 @@ Twitter Bridge 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 Laconica as an application on Twitter +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: @@ -583,19 +577,19 @@ need to enable the bidirectional Twitter bridge in config.php: 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 Laconica from looping +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 -Laconica application on Twitter, e.g.: +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 Laconica attempt to locate and +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 Laconica system, and who have previously set up a link +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 @@ -604,11 +598,11 @@ 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). @@ -629,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. @@ -644,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 -------- @@ -654,11 +648,11 @@ Sitemaps Sitemap files 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 @@ -688,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. @@ -719,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 . +Translations in StatusNet use the gettext system . 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 and to backup the Web directory, try tar. @@ -764,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 @@ -794,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! @@ -810,14 +807,14 @@ instructions; read to the end first before trying them. mysql -u -p 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, @@ -834,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. @@ -871,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 @@ -900,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/.php - for a virtual host -* /etc/laconica/_.php - for a path +* /etc/statusnet/statusnet.php - server-wide config +* /etc/statusnet/.php - for a virtual host +* /etc/statusnet/_.php - for a path * INSTALLDIR/config.php - for a particular implementation Almost all configuration options are made through a two-dimensional @@ -935,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 @@ -1006,14 +1006,14 @@ This section is a reference to the configuration options for DB_DataObject (see ). 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 @@ -1041,11 +1041,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. @@ -1104,9 +1104,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 @@ -1179,7 +1179,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 @@ -1245,7 +1245,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 @@ -1289,7 +1289,7 @@ 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 , you can use that here instead. Status updates on Twitter will then have links to your site. @@ -1348,11 +1348,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' @@ -1363,7 +1363,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 @@ -1524,7 +1524,7 @@ contentlimit: max length of the plain-text content of a message. 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 @@ -1560,7 +1560,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/. @@ -1569,24 +1569,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. @@ -1598,7 +1598,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 @@ -1608,45 +1608,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 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 . -* 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 . +* The StatusNet wiki, http://status.net/wiki/ +* The StatusNet blog, http://status.net/blog/ +* The StatusNet status update, (!) 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 @@ -1678,6 +1688,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. diff --git a/actions/accesstoken.php b/actions/accesstoken.php index dcd04a1b40..76bd40473a 100644 --- a/actions/accesstoken.php +++ b/actions/accesstoken.php @@ -5,14 +5,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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 . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } @@ -39,11 +39,11 @@ require_once INSTALLDIR.'/lib/omb.php'; * Access token class * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class AccesstokenAction extends Action { diff --git a/actions/all.php b/actions/all.php index 82394922b4..29a19afb6b 100644 --- a/actions/all.php +++ b/actions/all.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/lib/personalgroupnav.php'; require_once INSTALLDIR.'/lib/noticelist.php'; diff --git a/actions/allrss.php b/actions/allrss.php index 260667090b..57efb73f0e 100644 --- a/actions/allrss.php +++ b/actions/allrss.php @@ -6,14 +6,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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 . */ -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 - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class AllrssAction extends Rss10Action { diff --git a/actions/api.php b/actions/api.php index 6d226af7e6..f425a8dcd7 100644 --- a/actions/api.php +++ b/actions/api.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } class ApiAction extends Action { @@ -53,7 +53,7 @@ class ApiAction extends Action if (!isset($_SERVER['PHP_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(); @@ -125,14 +125,16 @@ 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', @@ -147,11 +149,11 @@ class ApiAction extends Action $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 diff --git a/actions/attachment.php b/actions/attachment.php index f42906fd82..6981354d10 100644 --- a/actions/attachment.php +++ b/actions/attachment.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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 + * @package StatusNet + * @author Evan Prodromou * @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 diff --git a/actions/attachment_ajax.php b/actions/attachment_ajax.php index 4caa159f3a..1e07280750 100644 --- a/actions/attachment_ajax.php +++ b/actions/attachment_ajax.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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 + * @package StatusNet + * @author Evan Prodromou * @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 diff --git a/actions/attachment_thumbnail.php b/actions/attachment_thumbnail.php index 248d16e38c..7d0ac97a69 100644 --- a/actions/attachment_thumbnail.php +++ b/actions/attachment_thumbnail.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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 + * @package StatusNet + * @author Evan Prodromou * @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 diff --git a/actions/avatarbynickname.php b/actions/avatarbynickname.php index 3e615261fe..537950792f 100644 --- a/actions/avatarbynickname.php +++ b/actions/avatarbynickname.php @@ -5,14 +5,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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 . */ -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 - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class AvatarbynicknameAction extends Action { diff --git a/actions/avatarsettings.php b/actions/avatarsettings.php index c45514ff60..0bc439ff12 100644 --- a/actions/avatarsettings.php +++ b/actions/avatarsettings.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica - * @author Evan Prodromou - * @author Zach Copley - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Zach Copley + * @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 - * @author Zach Copley - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Zach Copley + * @author Sarven Capadisli * @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 diff --git a/actions/block.php b/actions/block.php index 06f92254e0..408f16434b 100644 --- a/actions/block.php +++ b/actions/block.php @@ -5,14 +5,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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 . */ -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 - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class BlockAction extends Action { diff --git a/actions/blockedfromgroup.php b/actions/blockedfromgroup.php index 5c1eab3542..ca4a711cb7 100644 --- a/actions/blockedfromgroup.php +++ b/actions/blockedfromgroup.php @@ -1,6 +1,6 @@ . * * @category Group - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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 + * @package StatusNet + * @author Evan Prodromou * @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 - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli * @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 */ diff --git a/actions/confirmaddress.php b/actions/confirmaddress.php index 725c1f1e3b..6fd74f3ff7 100644 --- a/actions/confirmaddress.php +++ b/actions/confirmaddress.php @@ -1,6 +1,6 @@ . * * @category Confirm - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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 + * @package StatusNet + * @author Evan Prodromou * @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 diff --git a/actions/conversation.php b/actions/conversation.php index 6b5d8d54d9..900a724ef3 100644 --- a/actions/conversation.php +++ b/actions/conversation.php @@ -5,13 +5,13 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 . */ -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 + * @package StatusNet + * @author Evan Prodromou * @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 + * @package StatusNet + * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class ConversationTree extends NoticeList @@ -250,10 +250,10 @@ class ConversationTree extends NoticeList * Special class of NoticeListItem for use inside conversation trees. * * @category Widget - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class ConversationTreeItem extends NoticeListItem diff --git a/actions/deletenotice.php b/actions/deletenotice.php index e733f9650a..3d040f2fa9 100644 --- a/actions/deletenotice.php +++ b/actions/deletenotice.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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); } diff --git a/actions/disfavor.php b/actions/disfavor.php index 02e01d6e00..6269f1bd25 100644 --- a/actions/disfavor.php +++ b/actions/disfavor.php @@ -6,14 +6,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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 . */ -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 - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class DisfavorAction extends Action { diff --git a/actions/doc.php b/actions/doc.php index 6f3a87e489..836f039d32 100644 --- a/actions/doc.php +++ b/actions/doc.php @@ -6,14 +6,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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 . */ -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 - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class DocAction extends Action { diff --git a/actions/editgroup.php b/actions/editgroup.php index aeeea2b63c..c92ca6ec65 100644 --- a/actions/editgroup.php +++ b/actions/editgroup.php @@ -1,6 +1,6 @@ . * * @category Group - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @author Zach Copley - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @author Zach Copley + * @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 - * @author Zach Copley + * @package StatusNet + * @author Evan Prodromou + * @author Zach Copley * @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 diff --git a/actions/emailsettings.php b/actions/emailsettings.php index cdd0928299..af528a892e 100644 --- a/actions/emailsettings.php +++ b/actions/emailsettings.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica - * @author Evan Prodromou - * @author Zach Copley - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Zach Copley + * @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 - * @author Zach Copley + * @package StatusNet + * @author Evan Prodromou + * @author Zach Copley * @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 */ diff --git a/actions/facebookhome.php b/actions/facebookhome.php index 6d8d0745d7..70f2052053 100644 --- a/actions/facebookhome.php +++ b/actions/facebookhome.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/lib/facebookaction.php'; diff --git a/actions/facebookinvite.php b/actions/facebookinvite.php index f43d04e27f..6dfc9d6881 100644 --- a/actions/facebookinvite.php +++ b/actions/facebookinvite.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/facebooklogin.php b/actions/facebooklogin.php index aa86cfbc0c..8ac2477ab4 100644 --- a/actions/facebooklogin.php +++ b/actions/facebooklogin.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/lib/facebookaction.php'); diff --git a/actions/facebookremove.php b/actions/facebookremove.php index 9ca7a77a84..ae231c0fb3 100644 --- a/actions/facebookremove.php +++ b/actions/facebookremove.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/lib/facebookaction.php'; diff --git a/actions/facebooksettings.php b/actions/facebooksettings.php index c3b364743a..84bdde9101 100644 --- a/actions/facebooksettings.php +++ b/actions/facebooksettings.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/lib/facebookaction.php'; diff --git a/actions/favor.php b/actions/favor.php index fe51e34a27..2aeb1da613 100644 --- a/actions/favor.php +++ b/actions/favor.php @@ -6,14 +6,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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 . */ -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 - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class FavorAction extends Action { diff --git a/actions/favorited.php b/actions/favorited.php index 156c7a7009..150b67b0b0 100644 --- a/actions/favorited.php +++ b/actions/favorited.php @@ -1,6 +1,6 @@ . * * @category Public - * @package Laconica - * @author Zach Copley - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Zach Copley + * @author Evan Prodromou + * @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 - * @author Evan Prodromou + * @package StatusNet + * @author Zach Copley + * @author Evan Prodromou * @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 diff --git a/actions/favoritesrss.php b/actions/favoritesrss.php index 5dc09e5e8a..2d5ce98541 100644 --- a/actions/favoritesrss.php +++ b/actions/favoritesrss.php @@ -6,14 +6,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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 . */ -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 - * @author Robin Millette - * @author Zach Copley + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette + * @author Zach Copley * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class FavoritesrssAction extends Rss10Action { diff --git a/actions/featured.php b/actions/featured.php index 04365687d7..39bf09d8f0 100644 --- a/actions/featured.php +++ b/actions/featured.php @@ -1,6 +1,6 @@ . * * @category Public - * @package Laconica - * @author Zach Copley - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Zach Copley + * @author Evan Prodromou + * @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 - * @author Evan Prodromou + * @package StatusNet + * @author Zach Copley + * @author Evan Prodromou * @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 diff --git a/actions/file.php b/actions/file.php index 8310e48df1..10c59a9612 100644 --- a/actions/file.php +++ b/actions/file.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/actions/shownotice.php'); diff --git a/actions/finishremotesubscribe.php b/actions/finishremotesubscribe.php index da563cb290..44abbfceb7 100644 --- a/actions/finishremotesubscribe.php +++ b/actions/finishremotesubscribe.php @@ -5,14 +5,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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,9 +28,7 @@ * along with this program. If not, see . **/ -if (!defined('LACONICA')) { - exit(1); -} +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/extlib/libomb/service_consumer.php'; require_once INSTALLDIR.'/lib/omb.php'; @@ -145,4 +143,67 @@ class FinishremotesubscribeAction extends Action $user->nickname)), 303); } + + function add_avatar($profile, $url) + { + $temp_filename = tempnam(sys_get_temp_dir(), 'listener_avatar'); + copy($url, $temp_filename); + $imagefile = new ImageFile($profile->id, $temp_filename); + $filename = Avatar::filename($profile->id, + image_type_to_extension($imagefile->type), + null, + common_timestamp()); + rename($temp_filename, Avatar::path($filename)); + return $profile->setOriginal($filename); + } + + function access_token($omb) + { + + common_debug('starting request for access token', __FILE__); + + $con = omb_oauth_consumer(); + $tok = new OAuthToken($omb['token'], $omb['secret']); + + common_debug('using request token "'.$tok.'"', __FILE__); + + $url = $omb['access_token_url']; + + common_debug('using access token url "'.$url.'"', __FILE__); + + # XXX: Is this the right thing to do? Strip off GET params and make them + # POST params? Seems wrong to me. + + $parsed = parse_url($url); + $params = array(); + parse_str($parsed['query'], $params); + + $req = OAuthRequest::from_consumer_and_token($con, $tok, "POST", $url, $params); + + $req->set_parameter('omb_version', OMB_VERSION_01); + + # XXX: test to see if endpoint accepts this signature method + + $req->sign_request(omb_hmac_sha1(), $con, $tok); + + # We re-use this tool's fetcher, since it's pretty good + + common_debug('posting to access token url "'.$req->get_normalized_http_url().'"', __FILE__); + common_debug('posting request data "'.$req->to_postdata().'"', __FILE__); + + $fetcher = Auth_Yadis_Yadis::getHTTPFetcher(); + $result = $fetcher->post($req->get_normalized_http_url(), + $req->to_postdata(), + array('User-Agent: StatusNet/' . STATUSNET_VERSION)); + + common_debug('got result: "'.print_r($result,true).'"', __FILE__); + + if ($result->status != 200) { + return null; + } + + parse_str($result->body, $return); + + return array($return['oauth_token'], $return['oauth_token_secret']); + } } diff --git a/actions/foaf.php b/actions/foaf.php index b481b24377..356393304e 100644 --- a/actions/foaf.php +++ b/actions/foaf.php @@ -1,7 +1,7 @@ . */ -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); } } diff --git a/actions/groupblock.php b/actions/groupblock.php index ce2c6c1442..979a56a81d 100644 --- a/actions/groupblock.php +++ b/actions/groupblock.php @@ -5,13 +5,13 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 . */ -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 + * @package StatusNet + * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class GroupblockAction extends Action diff --git a/actions/groupbyid.php b/actions/groupbyid.php index 7d327d56cc..52cfaddfc3 100644 --- a/actions/groupbyid.php +++ b/actions/groupbyid.php @@ -1,6 +1,6 @@ . * * @category Group - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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 + * @package StatusNet + * @author Evan Prodromou * @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 diff --git a/actions/groupdesignsettings.php b/actions/groupdesignsettings.php index bb01243c6e..cd86e3b051 100644 --- a/actions/groupdesignsettings.php +++ b/actions/groupdesignsettings.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica - * @author Sarven Capadisli - * @author Zach Copley - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Sarven Capadisli + * @author Zach Copley + * @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 - * @author Sarven Capadisli + * @package StatusNet + * @author Zach Copley + * @author Sarven Capadisli * @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 diff --git a/actions/grouplogo.php b/actions/grouplogo.php index 87c68e2a21..c6f376915e 100644 --- a/actions/grouplogo.php +++ b/actions/grouplogo.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica - * @author Evan Prodromou - * @author Zach Copley - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Zach Copley + * @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 - * @author Zach Copley - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Zach Copley + * @author Sarven Capadisli * @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 diff --git a/actions/groupmembers.php b/actions/groupmembers.php index 14256526a0..dcbdd37597 100644 --- a/actions/groupmembers.php +++ b/actions/groupmembers.php @@ -1,6 +1,6 @@ . * * @category Group - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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 + * @package StatusNet + * @author Evan Prodromou * @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 - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli * @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 - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli * @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 diff --git a/actions/grouprss.php b/actions/grouprss.php index e1e2d20185..70c1ded488 100644 --- a/actions/grouprss.php +++ b/actions/grouprss.php @@ -1,6 +1,6 @@ . * * @category Group - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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 + * @package StatusNet + * @author Evan Prodromou * @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 diff --git a/actions/groups.php b/actions/groups.php index 3d62843ed6..10a1d5964d 100644 --- a/actions/groups.php +++ b/actions/groups.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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 + * @package StatusNet + * @author Evan Prodromou * @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 diff --git a/actions/groupsearch.php b/actions/groupsearch.php index c50466ce62..ee4167552a 100644 --- a/actions/groupsearch.php +++ b/actions/groupsearch.php @@ -5,14 +5,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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 . */ -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 - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class GroupsearchAction extends SearchAction { diff --git a/actions/groupunblock.php b/actions/groupunblock.php index 6beb463528..dd6b15c26c 100644 --- a/actions/groupunblock.php +++ b/actions/groupunblock.php @@ -5,13 +5,13 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 . */ -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 + * @package StatusNet + * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class GroupunblockAction extends Action diff --git a/actions/imsettings.php b/actions/imsettings.php index 70a6f37d4f..f57933b43f 100644 --- a/actions/imsettings.php +++ b/actions/imsettings.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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 + * @package StatusNet + * @author Evan Prodromou * @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 */ diff --git a/actions/inbox.php b/actions/inbox.php index f14ba631fd..6cb7f9e157 100644 --- a/actions/inbox.php +++ b/actions/inbox.php @@ -1,6 +1,6 @@ . * * @category Message - * @package Laconica - * @author Evan Prodromou - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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 + * @package StatusNet + * @author Evan Prodromou * @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 */ diff --git a/actions/invite.php b/actions/invite.php index 26c951ed22..9f9368701c 100644 --- a/actions/invite.php +++ b/actions/invite.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } class InviteAction extends CurrentUserDesignAction { diff --git a/actions/joingroup.php b/actions/joingroup.php index 0e4f96eaf5..0209dd43fd 100644 --- a/actions/joingroup.php +++ b/actions/joingroup.php @@ -1,6 +1,6 @@ . * * @category Group - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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 + * @package StatusNet + * @author Evan Prodromou * @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 diff --git a/actions/leavegroup.php b/actions/leavegroup.php index 215ccd9017..60b22e147d 100644 --- a/actions/leavegroup.php +++ b/actions/leavegroup.php @@ -1,6 +1,6 @@ . * * @category Group - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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 + * @package StatusNet + * @author Evan Prodromou * @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 diff --git a/actions/login.php b/actions/login.php index f5a658bf50..4b00b2f086 100644 --- a/actions/login.php +++ b/actions/login.php @@ -1,6 +1,6 @@ . * * @category Login - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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')) { * Login form * * @category Personal - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 diff --git a/actions/logout.php b/actions/logout.php index cb20a26b54..1e0adae575 100644 --- a/actions/logout.php +++ b/actions/logout.php @@ -5,14 +5,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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 . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } @@ -36,11 +36,11 @@ if (!defined('LACONICA')) { * Logout action class. * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class LogoutAction extends Action { diff --git a/actions/makeadmin.php b/actions/makeadmin.php index 6fc2cf9ab5..2dfddebc27 100644 --- a/actions/makeadmin.php +++ b/actions/makeadmin.php @@ -5,13 +5,13 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 . */ -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 + * @package StatusNet + * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class MakeadminAction extends Action diff --git a/actions/microsummary.php b/actions/microsummary.php index 6884a919a8..5c01a9ce0f 100644 --- a/actions/microsummary.php +++ b/actions/microsummary.php @@ -5,14 +5,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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 . */ -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 - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class MicrosummaryAction extends Action { diff --git a/actions/newgroup.php b/actions/newgroup.php index 71647d8348..a2cf72528b 100644 --- a/actions/newgroup.php +++ b/actions/newgroup.php @@ -1,6 +1,6 @@ . * * @category Group - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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 + * @package StatusNet + * @author Evan Prodromou * @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 diff --git a/actions/newmessage.php b/actions/newmessage.php index cd26e1640b..a0b17fc18a 100644 --- a/actions/newmessage.php +++ b/actions/newmessage.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica - * @author Evan Prodromou - * @author Zach Copley - * @author Sarven Capadisli - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Zach Copley + * @author Sarven Capadisli + * @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 - * @author Zach Copley - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Zach Copley + * @author Sarven Capadisli * @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 diff --git a/actions/newnotice.php b/actions/newnotice.php index 049d7c3229..4c6372c2bb 100644 --- a/actions/newnotice.php +++ b/actions/newnotice.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica - * @author Evan Prodromou - * @author Zach Copley - * @author Sarven Capadisli - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Zach Copley + * @author Sarven Capadisli + * @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 - * @author Zach Copley - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Zach Copley + * @author Sarven Capadisli * @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 diff --git a/actions/noticesearch.php b/actions/noticesearch.php index 49b473d9e9..734e434648 100644 --- a/actions/noticesearch.php +++ b/actions/noticesearch.php @@ -5,15 +5,15 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette + * @author Sarven Capadisli * @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 . */ -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 - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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 diff --git a/actions/noticesearchrss.php b/actions/noticesearchrss.php index 045531c5ac..f59ad79625 100644 --- a/actions/noticesearchrss.php +++ b/actions/noticesearchrss.php @@ -5,14 +5,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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 . */ -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 - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class NoticesearchrssAction extends Rss10Action { diff --git a/actions/nudge.php b/actions/nudge.php index 78c0ee566b..cf5f773e71 100644 --- a/actions/nudge.php +++ b/actions/nudge.php @@ -6,14 +6,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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 . */ -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 - * @author Robin Millette - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette + * @author Sarven Capadisli * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class NudgeAction extends Action { diff --git a/actions/oembed.php b/actions/oembed.php index 3e46a7262f..e287b6ae2a 100644 --- a/actions/oembed.php +++ b/actions/oembed.php @@ -1,8 +1,8 @@ . * * @category Twitter - * @package Laconica - * @author Evan Prodromou - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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,11 +37,11 @@ if (!defined('LACONICA')) { * This class handles all /main/oembed(.xml|.json)/ requests. * * @category oEmbed - * @package Laconica + * @package StatusNet * @author Craig Andrews - * @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 OembedAction extends Action diff --git a/actions/opensearch.php b/actions/opensearch.php index 6044568f11..d5e6698f38 100644 --- a/actions/opensearch.php +++ b/actions/opensearch.php @@ -6,14 +6,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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 . */ -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 - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class OpensearchAction extends Action { diff --git a/actions/othersettings.php b/actions/othersettings.php index 1277f80527..4ccef84125 100644 --- a/actions/othersettings.php +++ b/actions/othersettings.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica - * @author Robin Millette - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Robin Millette + * @author Evan Prodromou + * @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 - * @author Zach Copley + * @package StatusNet + * @author Robin Millette + * @author Zach Copley * @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 @@ -91,19 +91,20 @@ class OthersettingsAction extends AccountSettingsAction $this->elementStart('fieldset'); $this->hidden('token', common_session_token()); - // I18N - - $services = array( - '' => 'None', - 'ur1.ca' => 'ur1.ca (free service)', - '2tu.us' => '2tu.us (free service)', - 'ptiturl.com' => 'ptiturl.com', - 'bit.ly' => 'bit.ly', - 'tinyurl.com' => 'tinyurl.com', - 'is.gd' => 'is.gd', - 'snipr.com' => 'snipr.com', - 'metamark.net' => 'metamark.net' - ); + $services=array(); + global $_shorteners; + if($_shorteners){ + foreach($_shorteners as $name=>$value) + { + $services[$name]=$name; + if($value['info']['freeService']){ + // I18N + $services[$name].=' (free service)'; + } + } + } + asort($services); + $services['']='None'; $this->elementStart('ul', 'form_data'); $this->elementStart('li'); diff --git a/actions/outbox.php b/actions/outbox.php index a875e9ad95..537fad3ef4 100644 --- a/actions/outbox.php +++ b/actions/outbox.php @@ -1,6 +1,6 @@ . * * @category Message - * @package Laconica - * @author Evan Prodromou - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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 + * @package StatusNet + * @author Evan Prodromou * @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 */ diff --git a/actions/passwordsettings.php b/actions/passwordsettings.php index bdce610350..ec842600f6 100644 --- a/actions/passwordsettings.php +++ b/actions/passwordsettings.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica - * @author Evan Prodromou - * @author Zach Copley - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Zach Copley + * @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 - * @author Zach Copley + * @package StatusNet + * @author Evan Prodromou + * @author Zach Copley * @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 diff --git a/actions/peoplesearch.php b/actions/peoplesearch.php index 60ddb6a828..ba0f71e392 100644 --- a/actions/peoplesearch.php +++ b/actions/peoplesearch.php @@ -5,14 +5,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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 . */ -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 - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class PeoplesearchAction extends SearchAction { @@ -93,11 +93,11 @@ class PeoplesearchAction extends SearchAction * Derivative of ProfileList with specialization for highlighting search terms. * * @category Widget - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * @see PeoplesearchAction */ diff --git a/actions/peopletag.php b/actions/peopletag.php index dd3c1c0899..6dbbc92616 100644 --- a/actions/peopletag.php +++ b/actions/peopletag.php @@ -1,6 +1,6 @@ . * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Zach Copley - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Zach Copley + * @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 - * @author Zach Copley + * @package StatusNet + * @author Evan Prodromou + * @author Zach Copley * @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 */ diff --git a/actions/postnotice.php b/actions/postnotice.php index 14152a83d6..c2e1c44cae 100644 --- a/actions/postnotice.php +++ b/actions/postnotice.php @@ -5,14 +5,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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,9 +28,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { - exit(1); -} +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/lib/omb.php'; require_once INSTALLDIR.'/extlib/libomb/service_provider.php'; @@ -39,11 +37,11 @@ require_once INSTALLDIR.'/extlib/libomb/service_provider.php'; * Handler for postnotice action * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class PostnoticeAction extends Action { @@ -95,4 +93,4 @@ class PostnoticeAction extends Action } } } -?> +?> \ No newline at end of file diff --git a/actions/profilesettings.php b/actions/profilesettings.php index f429a2e516..83051c6fd3 100644 --- a/actions/profilesettings.php +++ b/actions/profilesettings.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica - * @author Evan Prodromou - * @author Zach Copley - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Zach Copley + * @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 profile settings * * @category Settings - * @package Laconica - * @author Evan Prodromou - * @author Zach Copley + * @package StatusNet + * @author Evan Prodromou + * @author Zach Copley * @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 diff --git a/actions/public.php b/actions/public.php index 15bedb7119..73fad182a3 100644 --- a/actions/public.php +++ b/actions/public.php @@ -1,6 +1,6 @@ . * * @category Public - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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 + * @package StatusNet + * @author Evan Prodromou * @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 @@ -225,12 +225,13 @@ 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 = _('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.register%%) to share notices about yourself with friends, family, and colleagues! ' . + '([Read more](%%doc.help%%))'); } 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)); diff --git a/actions/publicrss.php b/actions/publicrss.php index 5c08de641d..593888b9f6 100644 --- a/actions/publicrss.php +++ b/actions/publicrss.php @@ -6,14 +6,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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 . */ -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 - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class PublicrssAction extends Rss10Action { diff --git a/actions/publictagcloud.php b/actions/publictagcloud.php index e9f33d58b6..e7f6ee36c7 100644 --- a/actions/publictagcloud.php +++ b/actions/publictagcloud.php @@ -1,6 +1,6 @@ . * * @category Public - * @package Laconica + * @package StatusNet * @author Mike Cochrane - * @author Evan Prodromou + * @author Evan Prodromou * @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 - * @author Evan Prodromou + * @author Evan Prodromou * @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 diff --git a/actions/recoverpassword.php b/actions/recoverpassword.php index 721edea7f4..9776c1fb44 100644 --- a/actions/recoverpassword.php +++ b/actions/recoverpassword.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } # You have 24 hours to claim your password diff --git a/actions/register.php b/actions/register.php index aa295c0978..b40ac266d2 100644 --- a/actions/register.php +++ b/actions/register.php @@ -1,6 +1,6 @@ . * * @category Login - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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 + * @package StatusNet + * @author Evan Prodromou * @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 diff --git a/actions/remotesubscribe.php b/actions/remotesubscribe.php index 353717bebf..aee2a5d8e7 100644 --- a/actions/remotesubscribe.php +++ b/actions/remotesubscribe.php @@ -5,14 +5,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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,9 +28,7 @@ * along with this program. If not, see . **/ -if (!defined('LACONICA')) { - exit(1); -} +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/lib/omb.php'; require_once INSTALLDIR.'/extlib/libomb/service_consumer.php'; @@ -40,11 +38,11 @@ require_once INSTALLDIR.'/extlib/libomb/profile.php'; * Handler for remote subscription * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class RemotesubscribeAction extends Action diff --git a/actions/replies.php b/actions/replies.php index 47e01e2797..6003ad30bd 100644 --- a/actions/replies.php +++ b/actions/replies.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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 + * @package StatusNet + * @author Evan Prodromou * @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 diff --git a/actions/repliesrss.php b/actions/repliesrss.php index 580bb91f7c..c71c9226fb 100644 --- a/actions/repliesrss.php +++ b/actions/repliesrss.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/lib/rssaction.php'); diff --git a/actions/requesttoken.php b/actions/requesttoken.php index 8328962f2d..e095161a7d 100644 --- a/actions/requesttoken.php +++ b/actions/requesttoken.php @@ -6,14 +6,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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 . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } @@ -40,11 +40,11 @@ require_once INSTALLDIR.'/extlib/libomb/service_provider.php'; * Request token action class. * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class RequesttokenAction extends Action { diff --git a/actions/showfavorites.php b/actions/showfavorites.php index 5be9973069..b96d2af37f 100644 --- a/actions/showfavorites.php +++ b/actions/showfavorites.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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 + * @package StatusNet + * @author Evan Prodromou * @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 diff --git a/actions/showgroup.php b/actions/showgroup.php index c3471c195a..ff99497621 100644 --- a/actions/showgroup.php +++ b/actions/showgroup.php @@ -1,6 +1,6 @@ . * * @category Group - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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 + * @package StatusNet + * @author Evan Prodromou * @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 @@ -448,13 +448,13 @@ 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); } 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); } diff --git a/actions/showmessage.php b/actions/showmessage.php index 4fcaadbe83..db757948ba 100644 --- a/actions/showmessage.php +++ b/actions/showmessage.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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 + * @package StatusNet + * @author Evan Prodromou * @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 diff --git a/actions/shownotice.php b/actions/shownotice.php index 82031d90dc..41408c23cc 100644 --- a/actions/shownotice.php +++ b/actions/shownotice.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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 + * @package StatusNet + * @author Evan Prodromou * @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 diff --git a/actions/showstream.php b/actions/showstream.php index cd5d4bb701..2e9679faed 100644 --- a/actions/showstream.php +++ b/actions/showstream.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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 + * @package StatusNet + * @author Evan Prodromou * @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 @@ -386,12 +386,12 @@ class ShowstreamAction extends ProfileAction { 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. ' . + 'based on the Free Software [StatusNet](http://status.net/) tool. ' . '[Join now](%%%%action.register%%%%) to follow **%s**\'s notices and many more! ([Read more](%%%%doc.help%%%%))'), $this->user->nickname, $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')); diff --git a/actions/smssettings.php b/actions/smssettings.php index 33b54abf6a..b956ccebaa 100644 --- a/actions/smssettings.php +++ b/actions/smssettings.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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 + * @package StatusNet + * @author Evan Prodromou * @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 */ diff --git a/actions/subedit.php b/actions/subedit.php index 2e1bf55388..cf6589e504 100644 --- a/actions/subedit.php +++ b/actions/subedit.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } class SubeditAction extends Action { diff --git a/actions/subscribe.php b/actions/subscribe.php index 15b89a3122..4c46806e40 100644 --- a/actions/subscribe.php +++ b/actions/subscribe.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } class SubscribeAction extends Action { diff --git a/actions/subscribers.php b/actions/subscribers.php index 66ac00fb19..df9ec99615 100644 --- a/actions/subscribers.php +++ b/actions/subscribers.php @@ -1,6 +1,6 @@ . * * @category Social - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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 + * @package StatusNet + * @author Evan Prodromou * @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 diff --git a/actions/subscriptions.php b/actions/subscriptions.php index 0724471ff6..b1c6682283 100644 --- a/actions/subscriptions.php +++ b/actions/subscriptions.php @@ -1,6 +1,6 @@ . * * @category Social - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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 + * @package StatusNet + * @author Evan Prodromou * @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 { diff --git a/actions/sup.php b/actions/sup.php index a5b665562f..5daf0a1c1d 100644 --- a/actions/sup.php +++ b/actions/sup.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } class SupAction extends Action { diff --git a/actions/tag.php b/actions/tag.php index 771eb2861e..f0ab30308c 100644 --- a/actions/tag.php +++ b/actions/tag.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } class TagAction extends Action { diff --git a/actions/tagother.php b/actions/tagother.php index 96246f7990..c3f43be8ba 100644 --- a/actions/tagother.php +++ b/actions/tagother.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/lib/settingsaction.php'); diff --git a/actions/tagrss.php b/actions/tagrss.php index c3c03b9cd8..75cbfa274b 100644 --- a/actions/tagrss.php +++ b/actions/tagrss.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/lib/rssaction.php'); diff --git a/actions/twitapiaccount.php b/actions/twitapiaccount.php index f2a7534a29..93c8443c9f 100644 --- a/actions/twitapiaccount.php +++ b/actions/twitapiaccount.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/twitapiblocks.php b/actions/twitapiblocks.php index d8e72efb16..ed17946aef 100644 --- a/actions/twitapiblocks.php +++ b/actions/twitapiblocks.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/twitapidirect_messages.php b/actions/twitapidirect_messages.php index aac7d63b13..08b8f4e9c1 100644 --- a/actions/twitapidirect_messages.php +++ b/actions/twitapidirect_messages.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/twitapifavorites.php b/actions/twitapifavorites.php index 6f93610650..f8943fe2dd 100644 --- a/actions/twitapifavorites.php +++ b/actions/twitapifavorites.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/twitapifriendships.php b/actions/twitapifriendships.php index 5fb55e9ffe..f2ea46910e 100644 --- a/actions/twitapifriendships.php +++ b/actions/twitapifriendships.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/twitapigroups.php b/actions/twitapigroups.php index bebc07fa19..4deb1b764a 100644 --- a/actions/twitapigroups.php +++ b/actions/twitapigroups.php @@ -1,8 +1,8 @@ . * * @category Twitter - * @package Laconica - * @author Craig Andrews - * @author Zach Copley - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Craig Andrews + * @author Zach Copley + * @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,15 +37,15 @@ 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 - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Craig Andrews + * @author Zach Copley + * @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 @@ -88,7 +88,7 @@ require_once INSTALLDIR.'/lib/twitterapi.php'; $this->show_rss_groups($group, $title, $link, $subtitle); break; case 'atom': - $selfuri = common_root_url() . 'api/laconica/groups/list/' . $user->id . '.atom'; + $selfuri = common_root_url() . 'api/statusnet/groups/list/' . $user->id . '.atom'; $this->show_atom_groups($group, $title, $id, $link, $subtitle, $selfuri); break; @@ -135,7 +135,7 @@ require_once INSTALLDIR.'/lib/twitterapi.php'; $this->show_rss_groups($group, $title, $link, $subtitle); break; case 'atom': - $selfuri = common_root_url() . 'api/laconica/groups/list_all.atom'; + $selfuri = common_root_url() . 'api/statusnet/groups/list_all.atom'; $this->show_atom_groups($group, $title, $id, $link, $subtitle, $selfuri); break; @@ -216,11 +216,11 @@ require_once INSTALLDIR.'/lib/twitterapi.php'; 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, null, $selfuri); @@ -233,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); + } + } } diff --git a/actions/twitapihelp.php b/actions/twitapihelp.php index dab2b34f9b..81381620e7 100644 --- a/actions/twitapihelp.php +++ b/actions/twitapihelp.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/twitapinotifications.php b/actions/twitapinotifications.php index 09b11766bb..0653e69ab5 100644 --- a/actions/twitapinotifications.php +++ b/actions/twitapinotifications.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/lib/twitterapi.php'); diff --git a/actions/twitapisearchatom.php b/actions/twitapisearchatom.php index 3678213c3a..2f587d604f 100644 --- a/actions/twitapisearchatom.php +++ b/actions/twitapisearchatom.php @@ -1,6 +1,6 @@ . * * @category Search - * @package Laconica - * @author Zach Copley - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Zach Copley + * @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 @@ require_once INSTALLDIR.'/lib/twitterapi.php'; * RSS10Action. * * @category Search - * @package Laconica - * @author Zach Copley + * @package StatusNet + * @author Zach Copley * @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 TwitterapiAction */ @@ -227,7 +227,7 @@ class TwitapisearchatomAction extends TwitterapiAction $server = common_config('site', 'server'); $sitename = common_config('site', 'name'); - // XXX: Use xmlns:laconica instead? + // XXX: Use xmlns:statusnet instead? $this->elementStart('feed', array('xmlns' => 'http://www.w3.org/2005/Atom', diff --git a/actions/twitapisearchjson.php b/actions/twitapisearchjson.php index 27a717bfc9..c628ee624a 100644 --- a/actions/twitapisearchjson.php +++ b/actions/twitapisearchjson.php @@ -1,6 +1,6 @@ . * * @category Search - * @package Laconica - * @author Zach Copley - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Zach Copley + * @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/jsonsearchresultslist.php'; * Action handler for Twitter-compatible API search * * @category Search - * @package Laconica - * @author Zach Copley + * @package StatusNet + * @author Zach Copley * @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 TwitterapiAction */ diff --git a/actions/twitapistatuses.php b/actions/twitapistatuses.php index 1f3c53beff..ad6654dff5 100644 --- a/actions/twitapistatuses.php +++ b/actions/twitapistatuses.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/twitapilaconica.php b/actions/twitapistatusnet.php similarity index 83% rename from actions/twitapilaconica.php rename to actions/twitapistatusnet.php index 442fdbcef2..490f11dce2 100644 --- a/actions/twitapilaconica.php +++ b/actions/twitapistatusnet.php @@ -1,8 +1,8 @@ . * * @category Twitter - * @package Laconica - * @author Evan Prodromou - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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'; /** - * Laconica-specific API methods + * StatusNet-specific API methods * - * This class handles all /laconica/ API methods. + * This class handles all /statusnet/ API methods. * * @category Twitter - * @package Laconica - * @author Evan Prodromou - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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 TwitapilaconicaAction extends TwitterapiAction +class TwitapistatusnetAction extends TwitterapiAction { /** * A version stamp for the API * - * Returns a version number for this version of Laconica, which + * Returns a version number for this version of StatusNet, which * should make things a bit easier for upgrades. - * URL: http://identi.ca/api/laconica/version.(xml|json) + * URL: http://identi.ca/api/statusnet/version.(xml|json) * Formats: xml, json * * @param array $args Web arguments @@ -70,12 +70,12 @@ class TwitapilaconicaAction extends TwitterapiAction switch ($apidata['content-type']) { case 'xml': $this->init_document('xml'); - $this->element('version', null, LACONICA_VERSION); + $this->element('version', null, STATUSNET_VERSION); $this->end_document('xml'); break; case 'json': $this->init_document('json'); - print '"'.LACONICA_VERSION.'"'; + print '"'.STATUSNET_VERSION.'"'; $this->end_document('json'); break; default: @@ -87,9 +87,9 @@ class TwitapilaconicaAction extends TwitterapiAction * Dump of configuration variables * * Gives a full dump of configuration variables for this instance - * of Laconica, minus variables that may be security-sensitive (like + * of StatusNet, minus variables that may be security-sensitive (like * passwords). - * URL: http://identi.ca/api/laconica/config.(xml|json) + * URL: http://identi.ca/api/statusnet/config.(xml|json) * Formats: xml, json * * @param array $args Web arguments diff --git a/actions/twitapitags.php b/actions/twitapitags.php index e19e1b1ed6..0bcc55d378 100644 --- a/actions/twitapitags.php +++ b/actions/twitapitags.php @@ -1,8 +1,8 @@ . * * @category Twitter - * @package Laconica - * @author Craig Andrews - * @author Zach Copley - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Craig Andrews + * @author Zach Copley + * @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,15 +37,15 @@ 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 - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Craig Andrews + * @author Zach Copley + * @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 TwitapitagsAction extends TwitterapiAction @@ -93,11 +93,11 @@ require_once INSTALLDIR.'/lib/twitterapi.php'; case 'atom': if (isset($apidata['api_arg'])) { $selfuri = common_root_url() . - 'api/laconica/tags/timeline/' . + 'api/statusnet/tags/timeline/' . $apidata['api_arg'] . '.atom'; } else { $selfuri = common_root_url() . - 'api/laconica/tags/timeline.atom'; + 'api/statusnet/tags/timeline.atom'; } $this->show_atom_timeline($notice, $title, $id, $link, $subtitle, null, $selfuri); diff --git a/actions/twitapitrends.php b/actions/twitapitrends.php index c73d894460..83ab28f35d 100644 --- a/actions/twitapitrends.php +++ b/actions/twitapitrends.php @@ -1,6 +1,6 @@ . * * @category Search - * @package Laconica - * @author Zach Copley - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Zach Copley + * @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/twitterapi.php'; * Returns the top ten queries that are currently trending * * @category Search - * @package Laconica - * @author Zach Copley + * @package StatusNet + * @author Zach Copley * @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 TwitterapiAction */ diff --git a/actions/twitapiusers.php b/actions/twitapiusers.php index fea41b3971..703fa6754f 100644 --- a/actions/twitapiusers.php +++ b/actions/twitapiusers.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/unblock.php b/actions/unblock.php index 05d57c60d5..dc28d5d54a 100644 --- a/actions/unblock.php +++ b/actions/unblock.php @@ -5,14 +5,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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 . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } @@ -36,11 +36,11 @@ if (!defined('LACONICA')) { * Unblock a user action class. * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class UnblockAction extends Action { diff --git a/actions/unsubscribe.php b/actions/unsubscribe.php index 46fbcf6571..4a5863489e 100644 --- a/actions/unsubscribe.php +++ b/actions/unsubscribe.php @@ -5,14 +5,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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 . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } @@ -36,11 +36,11 @@ if (!defined('LACONICA')) { * Unsubscribe handler * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class UnsubscribeAction extends Action { diff --git a/actions/updateprofile.php b/actions/updateprofile.php index b020413b35..7f7dd75fef 100644 --- a/actions/updateprofile.php +++ b/actions/updateprofile.php @@ -5,14 +5,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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,9 +28,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { - exit(1); -} +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/lib/omb.php'; require_once INSTALLDIR.'/extlib/libomb/service_provider.php'; diff --git a/actions/userauthorization.php b/actions/userauthorization.php index cc8bfdaea4..dc59e6c941 100644 --- a/actions/userauthorization.php +++ b/actions/userauthorization.php @@ -5,14 +5,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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,9 +28,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { - exit(1); -} +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/lib/omb.php'; require_once INSTALLDIR.'/extlib/libomb/service_provider.php'; @@ -352,4 +350,4 @@ class UserauthorizationAction extends Action } } } -} +} \ No newline at end of file diff --git a/actions/userbyid.php b/actions/userbyid.php index 8b686ae106..802bcb0815 100644 --- a/actions/userbyid.php +++ b/actions/userbyid.php @@ -6,14 +6,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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 . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } @@ -37,11 +37,11 @@ if (!defined('LACONICA')) { * User by ID action class. * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class UserbyidAction extends Action { diff --git a/actions/userdesignsettings.php b/actions/userdesignsettings.php index d7949951ab..568c1d6242 100644 --- a/actions/userdesignsettings.php +++ b/actions/userdesignsettings.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica - * @author Sarven Capadisli - * @author Zach Copley - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Sarven Capadisli + * @author Zach Copley + * @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 user * * @category Settings - * @package Laconica - * @author Zach Copley - * @author Sarven Capadisli + * @package StatusNet + * @author Zach Copley + * @author Sarven Capadisli * @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 UserDesignSettingsAction extends DesignSettingsAction diff --git a/actions/usergroups.php b/actions/usergroups.php index 7ead6e6e49..84e105153d 100644 --- a/actions/usergroups.php +++ b/actions/usergroups.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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 groups a user belongs to * * @category Personal - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 UsergroupsAction extends OwnerDesignAction diff --git a/actions/userrss.php b/actions/userrss.php index a9f3fd5f89..fa6d588cdf 100644 --- a/actions/userrss.php +++ b/actions/userrss.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/lib/rssaction.php'); diff --git a/actions/xrds.php b/actions/xrds.php index b3aa8df8e5..8ba89fec0f 100644 --- a/actions/xrds.php +++ b/actions/xrds.php @@ -6,14 +6,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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 . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } @@ -41,11 +41,11 @@ require_once INSTALLDIR.'/extlib/libomb/xrds_mapper.php'; * XRDS for OpenMicroBlogging * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class XrdsAction extends Action { diff --git a/classes/Design.php b/classes/Design.php index 19c9e02924..89ae50c8cb 100644 --- a/classes/Design.php +++ b/classes/Design.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/classes/File.php b/classes/File.php index b2c510340d..9758cf7f55 100644 --- a/classes/File.php +++ b/classes/File.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; require_once INSTALLDIR.'/classes/File_redirection.php'; @@ -78,14 +78,14 @@ class File extends Memcached_DataObject $file_id = $x->insert(); if (isset($redir_data['type']) - && ('text/html' === substr($redir_data['type'], 0, 9)) + && (('text/html' === substr($redir_data['type'], 0, 9) || 'application/xhtml+xml' === substr($redir_data['type'], 0, 21))) && ($oembed_data = File_oembed::_getOembed($given_url))) { File_oembed::saveNew($oembed_data, $file_id); } return $x; } - function processNew($given_url, $notice_id) { + function processNew($given_url, $notice_id=null) { if (empty($given_url)) return -1; // error, no url to process $given_url = File_redirection::_canonUrl($given_url); if (empty($given_url)) return -1; // error, no url to process @@ -96,7 +96,7 @@ class File extends Memcached_DataObject $redir_data = File_redirection::where($given_url); $redir_url = $redir_data['url']; // TODO: max field length - if ($redir_url === $given_url || strlen($redir_url) > 255) { + if ($redir_url === $given_url || strlen($redir_url) > 255) { $x = File::saveNew($redir_data, $given_url); $file_id = $x->id; } else { @@ -119,7 +119,9 @@ class File extends Memcached_DataObject } } - File_to_post::processNew($file_id, $notice_id); + if (!empty($notice_id)) { + File_to_post::processNew($file_id, $notice_id); + } return $x; } @@ -195,17 +197,44 @@ class File extends Memcached_DataObject return 'http://'.$server.$path.$filename; } - function isEnclosure(){ - if(isset($this->filename)){ - return true; + function getEnclosure(){ + $enclosure = (object) array(); + $enclosure->title=$this->title; + $enclosure->url=$this->url; + $enclosure->title=$this->title; + $enclosure->date=$this->date; + $enclosure->modified=$this->modified; + $enclosure->size=$this->size; + $enclosure->mimetype=$this->mimetype; + + if(! isset($this->filename)){ + $notEnclosureMimeTypes = array('text/html','application/xhtml+xml'); + $mimetype = strtolower($this->mimetype); + $semicolon = strpos($mimetype,';'); + if($semicolon){ + $mimetype = substr($mimetype,0,$semicolon); + } + if(in_array($mimetype,$notEnclosureMimeTypes)){ + $oembed = File_oembed::staticGet('file_id',$this->id); + if($oembed){ + $mimetype = strtolower($oembed->mimetype); + $semicolon = strpos($mimetype,';'); + if($semicolon){ + $mimetype = substr($mimetype,0,$semicolon); + } + if(in_array($mimetype,$notEnclosureMimeTypes)){ + return false; + }else{ + if($oembed->mimetype) $enclosure->mimetype=$oembed->mimetype; + if($oembed->url) $enclosure->url=$oembed->url; + if($oembed->title) $enclosure->title=$oembed->title; + if($oembed->modified) $enclosure->modified=$oembed->modified; + unset($oembed->size); + } + } + } } - $notEnclosureMimeTypes = array('text/html','application/xhtml+xml'); - $mimetype = strtolower($this->mimetype); - $semicolon = strpos($mimetype,';'); - if($semicolon){ - $mimetype = substr($mimetype,0,$semicolon); - } - return(! in_array($mimetype,$notEnclosureMimeTypes)); + return $enclosure; } } diff --git a/classes/File_oembed.php b/classes/File_oembed.php index bbf112729b..e41ccfd097 100644 --- a/classes/File_oembed.php +++ b/classes/File_oembed.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; +require_once INSTALLDIR.'/classes/File_redirection.php'; /** * Table Definition for file_oembed @@ -34,6 +35,7 @@ class File_oembed extends Memcached_DataObject public $file_id; // int(4) primary_key not_null public $version; // varchar(20) public $type; // varchar(20) + public $mimetype; // varchar(50) public $provider; // varchar(50) public $provider_url; // varchar(255) public $width; // int(4) @@ -93,7 +95,24 @@ class File_oembed extends Memcached_DataObject if (!empty($data->title)) $file_oembed->title = $data->title; if (!empty($data->author_name)) $file_oembed->author_name = $data->author_name; if (!empty($data->author_url)) $file_oembed->author_url = $data->author_url; - if (!empty($data->url)) $file_oembed->url = $data->url; + if (!empty($data->url)){ + $file_oembed->url = $data->url; + $given_url = File_redirection::_canonUrl($file_oembed->url); + if (! empty($given_url)){ + $file = File::staticGet('url', $given_url); + if (empty($file)) { + $file_redir = File_redirection::staticGet('url', $given_url); + if (empty($file_redir)) { + $redir_data = File_redirection::where($given_url); + $file_oembed->mimetype = $redir_data['type']; + } else { + $file_id = $file_redir->file_id; + } + } else { + $file_oembed->mimetype=$file->mimetype; + } + } + } $file_oembed->insert(); if (!empty($data->thumbnail_url)) { File_thumbnail::saveNew($data, $file_id); diff --git a/classes/File_redirection.php b/classes/File_redirection.php index d6fa0bcb62..76b18f672d 100644 --- a/classes/File_redirection.php +++ b/classes/File_redirection.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; require_once INSTALLDIR.'/classes/File.php'; require_once INSTALLDIR.'/classes/File_oembed.php'; -define('USER_AGENT', 'Laconica user agent / file probe'); +define('USER_AGENT', 'StatusNet user agent / file probe'); /** * Table Definition for file_redirection @@ -182,7 +182,7 @@ class File_redirection extends Memcached_DataObject } } - if (('ftp' == $p['scheme']) || ('http' == $p['scheme']) || ('https' == $p['scheme'])) { + if (('ftp' == $p['scheme']) || ('ftps' == $p['scheme']) || ('http' == $p['scheme']) || ('https' == $p['scheme'])) { if (empty($p['host'])) return false; if (empty($p['path'])) { $out_url .= '/'; diff --git a/classes/File_thumbnail.php b/classes/File_thumbnail.php index 0b09c6af8c..f8b70356c7 100644 --- a/classes/File_thumbnail.php +++ b/classes/File_thumbnail.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; diff --git a/classes/File_to_post.php b/classes/File_to_post.php index d35febb778..e3db91b205 100644 --- a/classes/File_to_post.php +++ b/classes/File_to_post.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; diff --git a/classes/Group_alias.php b/classes/Group_alias.php index e801e50e1d..be3d0a6c6f 100644 --- a/classes/Group_alias.php +++ b/classes/Group_alias.php @@ -2,8 +2,8 @@ /** * Table Definition for group_alias * - * 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 @@ -19,7 +19,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; diff --git a/classes/Group_block.php b/classes/Group_block.php index 7922c19a95..de2cf5f6eb 100644 --- a/classes/Group_block.php +++ b/classes/Group_block.php @@ -2,8 +2,8 @@ /** * Table Definition for group_block * - * 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 @@ -19,7 +19,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; diff --git a/classes/Memcached_DataObject.php b/classes/Memcached_DataObject.php index ea070ec849..9c2ac3e01c 100644 --- a/classes/Memcached_DataObject.php +++ b/classes/Memcached_DataObject.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; diff --git a/classes/Notice.php b/classes/Notice.php index 48d4a09402..2138e05612 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } /** * Table Definition for notice @@ -56,7 +56,7 @@ class Notice extends Memcached_DataObject /* the code above is auto generated do not remove the tag below */ ###END_AUTOCODE - /* Notice types */ + /* Notice types */ const LOCAL_PUBLIC = 1; const REMOTE_OMB = 0; const LOCAL_NONPUBLIC = -1; @@ -260,17 +260,6 @@ class Notice extends Memcached_DataObject $notice->saveUrls(); - // FIXME: why do we have to re-render the content? - // Remove this if it's not necessary. - - $orig2 = clone($notice); - - $notice->rendered = common_render_content($final, $notice); - if (!$notice->update($orig2)) { - common_log_db_error($notice, 'UPDATE', __FILE__); - return _('Problem saving notice.'); - } - $notice->query('COMMIT'); Event::handle('EndNoticeSave', array($notice)); @@ -755,6 +744,10 @@ class Notice extends Memcached_DataObject return new ArrayWrapper($notices); } else { $notice = new Notice(); + if (empty($ids)) { + //if no IDs requested, just return the notice object + return $notice; + } $notice->whereAdd('id in (' . implode(', ', $ids) . ')'); $notice->orderBy('id DESC'); @@ -1199,10 +1192,11 @@ class Notice extends Memcached_DataObject $attachments = $this->attachments(); if($attachments){ foreach($attachments as $attachment){ - if ($attachment->isEnclosure()) { - $attributes = array('rel'=>'enclosure','href'=>$attachment->url,'type'=>$attachment->mimetype,'length'=>$attachment->size); - if($attachment->title){ - $attributes['title']=$attachment->title; + $enclosure=$attachment->getEnclosure(); + if ($enclosure) { + $attributes = array('rel'=>'enclosure','href'=>$enclosure->url,'type'=>$enclosure->mimetype,'length'=>$enclosure->size); + if($enclosure->title){ + $attributes['title']=$enclosure->title; } $xs->element('link', $attributes, null); } diff --git a/classes/Notice_inbox.php b/classes/Notice_inbox.php index 2af34b1a46..d3e7853b1b 100644 --- a/classes/Notice_inbox.php +++ b/classes/Notice_inbox.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; diff --git a/classes/Notice_tag.php b/classes/Notice_tag.php index 4e52ef2697..02740280f5 100644 --- a/classes/Notice_tag.php +++ b/classes/Notice_tag.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } /** * Table Definition for profile diff --git a/classes/Profile_block.php b/classes/Profile_block.php index feadea42da..2d87edaa0a 100644 --- a/classes/Profile_block.php +++ b/classes/Profile_block.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } /** * Table Definition for profile_block diff --git a/classes/Remote_profile.php b/classes/Remote_profile.php index 975852dd9a..9f7bfeadcc 100644 --- a/classes/Remote_profile.php +++ b/classes/Remote_profile.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } /** * Table Definition for remote_profile diff --git a/classes/Session.php b/classes/Session.php index 5ec509f5f9..d641edbbe4 100644 --- a/classes/Session.php +++ b/classes/Session.php @@ -2,8 +2,8 @@ /** * Table Definition for session * - * 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 @@ -19,7 +19,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; diff --git a/classes/Status_network.php b/classes/Status_network.php index dbd722e88e..fe4f0b0c58 100644 --- a/classes/Status_network.php +++ b/classes/Status_network.php @@ -2,8 +2,8 @@ /** * Table Definition for status_network * - * 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 @@ -19,7 +19,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } class Status_network extends DB_DataObject { @@ -54,7 +54,7 @@ class Status_network extends DB_DataObject global $config; $config['db']['database_'.$dbname] = "mysqli://$dbuser:$dbpass@$dbhost/$dbname"; - $config['db']['ini_'.$dbname] = INSTALLDIR.'/classes/statusnet.ini'; + $config['db']['ini_'.$dbname] = INSTALLDIR.'/classes/status_network.ini'; $config['db']['table_status_network'] = $dbname; self::$cache = new Memcache(); @@ -71,7 +71,7 @@ class Status_network extends DB_DataObject } static function cacheKey($k, $v) { - return 'laconica:' . self::$base . ':status_network:'.$k.':'.$v; + return 'statusnet:' . self::$base . ':status_network:'.$k.':'.$v; } static function memGet($k, $v) diff --git a/classes/Subscription.php b/classes/Subscription.php index d4580fcbae..fedfd5f19e 100644 --- a/classes/Subscription.php +++ b/classes/Subscription.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } /** * Table Definition for subscription diff --git a/classes/User.php b/classes/User.php index 104dfbacb7..11cb4f08b4 100644 --- a/classes/User.php +++ b/classes/User.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } @@ -103,10 +103,7 @@ class User extends Memcached_DataObject } $toupdate = implode(', ', $parts); - $table = $this->tableName(); - if(common_config('db','quote_identifiers')) { - $table = '"' . $table . '"'; - } + $table = common_database_tablename($this->tableName()); $qry = 'UPDATE ' . $table . ' SET ' . $toupdate . ' WHERE id = ' . $this->id; $orig->decache(); @@ -630,11 +627,7 @@ class User extends Memcached_DataObject 'ORDER BY subscription.created DESC '; if ($offset) { - if (common_config('db','type') == 'pgsql') { - $qry .= ' LIMIT ' . $limit . ' OFFSET ' . $offset; - } else { - $qry .= ' LIMIT ' . $offset . ', ' . $limit; - } + $qry .= ' LIMIT ' . $limit . ' OFFSET ' . $offset; } $profile = new Profile(); @@ -657,11 +650,7 @@ class User extends Memcached_DataObject 'AND subscription.subscribed != subscription.subscriber ' . 'ORDER BY subscription.created DESC '; - if (common_config('db','type') == 'pgsql') { - $qry .= ' LIMIT ' . $limit . ' OFFSET ' . $offset; - } else { - $qry .= ' LIMIT ' . $offset . ', ' . $limit; - } + $qry .= ' LIMIT ' . $limit . ' OFFSET ' . $offset; $profile = new Profile(); @@ -674,4 +663,48 @@ class User extends Memcached_DataObject { return Design::staticGet('id', $this->design_id); } + + function hasRole($name) + { + $role = User_role::pkeyGet(array('user_id' => $this->id, + 'role' => $name)); + return (!empty($role)); + } + + function grantRole($name) + { + $role = new User_role(); + + $role->user_id = $this->id; + $role->role = $name; + $role->created = common_sql_now(); + + $result = $role->insert(); + + if (!$result) { + common_log_db_error($role, 'INSERT', __FILE__); + return false; + } + + return true; + } + + function revokeRole($name) + { + $role = User_role::pkeyGet(array('user_id' => $this->id, + 'role' => $name)); + + if (empty($role)) { + throw new Exception('Cannot revoke role "'.$name.'" for user #'.$this->id.'; does not exist.'); + } + + $result = $role->delete(); + + if (!$result) { + common_log_db_error($role, 'DELETE', __FILE__); + throw new Exception('Cannot revoke role "'.$name.'" for user #'.$this->id.'; database error.'); + } + + return true; + } } diff --git a/classes/User_role.php b/classes/User_role.php new file mode 100644 index 0000000000..85ecfb422d --- /dev/null +++ b/classes/User_role.php @@ -0,0 +1,48 @@ +. + */ + +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } + +/** + * Table Definition for user_role + */ + +require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; + +class User_role extends Memcached_DataObject +{ + ###START_AUTOCODE + /* the code below is auto generated do not remove the above tag */ + + public $__table = 'user_role'; // table name + public $user_id; // int(4) primary_key not_null + public $role; // varchar(32) primary_key not_null + public $created; // datetime() not_null + + /* Static get */ + function staticGet($k,$v=NULL) { return Memcached_DataObject::staticGet('User_role',$k,$v); } + + /* the code above is auto generated do not remove the tag below */ + ###END_AUTOCODE + + function &pkeyGet($kv) + { + return Memcached_DataObject::pkeyGet('User_role', $kv); + } +} diff --git a/classes/laconica.ini b/classes/laconica.ini deleted file mode 100755 index 7edeeebe4f..0000000000 --- a/classes/laconica.ini +++ /dev/null @@ -1,520 +0,0 @@ - -[avatar] -profile_id = 129 -original = 17 -width = 129 -height = 129 -mediatype = 130 -filename = 2 -url = 2 -created = 142 -modified = 384 - -[avatar__keys] -profile_id = K -width = K -height = K -url = U - -[config] -section = 130 -setting = 130 -value = 2 - -[config__keys] -section = K -setting = K - -[confirm_address] -code = 130 -user_id = 129 -address = 130 -address_extra = 130 -address_type = 130 -claimed = 14 -sent = 14 -modified = 384 - -[confirm_address__keys] -code = K - -[consumer] -consumer_key = 130 -seed = 130 -created = 142 -modified = 384 - -[consumer__keys] -consumer_key = K - -[deleted_notice] -id = 129 -profile_id = 129 -uri = 2 -created = 142 -deleted = 142 - -[deleted_notice__keys] -id = K -uri = U - -[design] -id = 129 -backgroundcolor = 1 -contentcolor = 1 -sidebarcolor = 1 -textcolor = 1 -linkcolor = 1 -backgroundimage = 2 -disposition = 17 - -[design__keys] -id = N - -[fave] -notice_id = 129 -user_id = 129 -modified = 384 - -[fave__keys] -notice_id = K -user_id = K - -[file] -id = 129 -url = 2 -mimetype = 2 -size = 1 -title = 2 -date = 1 -protected = 1 -filename = 2 -modified = 384 - -[file__keys] -id = N - -[file_oembed] -file_id = 129 -version = 2 -type = 2 -provider = 2 -provider_url = 2 -width = 1 -height = 1 -html = 34 -title = 2 -author_name = 2 -author_url = 2 -url = 2 -modified = 384 - -[file_oembed__keys] -file_id = K - -[file_redirection] -url = 130 -file_id = 1 -redirections = 1 -httpcode = 1 -modified = 384 - -[file_redirection__keys] -url = K - -[file_thumbnail] -file_id = 129 -url = 2 -width = 1 -height = 1 -modified = 384 - -[file_thumbnail__keys] -file_id = K -url = U - -[file_to_post] -file_id = 129 -post_id = 129 -modified = 384 - -[file_to_post__keys] -file_id = K -post_id = K - -[foreign_link] -user_id = 129 -foreign_id = 129 -service = 129 -credentials = 2 -noticesync = 145 -friendsync = 145 -profilesync = 145 -last_noticesync = 14 -last_friendsync = 14 -created = 142 -modified = 384 - -[foreign_link__keys] -user_id = K -foreign_id = K -service = K - -[foreign_service] -id = 129 -name = 130 -description = 2 -created = 142 -modified = 384 - -[foreign_service__keys] -id = K -name = U - -[foreign_subscription] -service = 129 -subscriber = 129 -subscribed = 129 -created = 142 - -[foreign_subscription__keys] -service = K -subscriber = K -subscribed = K - -[foreign_user] -id = 129 -service = 129 -uri = 130 -nickname = 2 -created = 142 -modified = 384 - -[foreign_user__keys] -id = K -service = K -uri = U - -[group_alias] -alias = 130 -group_id = 129 -modified = 384 - -[group_alias__keys] -alias = K - -[group_block] -group_id = 129 -blocked = 129 -blocker = 129 -modified = 384 - -[group_block__keys] -group_id = K -blocked = K - -[group_inbox] -group_id = 129 -notice_id = 129 -created = 142 - -[group_inbox__keys] -group_id = K -notice_id = K - -[group_member] -group_id = 129 -profile_id = 129 -is_admin = 17 -created = 142 -modified = 384 - -[group_member__keys] -group_id = K -profile_id = K - -[invitation] -code = 130 -user_id = 129 -address = 130 -address_type = 130 -created = 142 - -[invitation__keys] -code = K - -[message] -id = 129 -uri = 2 -from_profile = 129 -to_profile = 129 -content = 34 -rendered = 34 -url = 2 -created = 142 -modified = 384 -source = 2 - -[message__keys] -id = N - -[nonce] -consumer_key = 130 -tok = 2 -nonce = 130 -ts = 142 -created = 142 -modified = 384 - -[nonce__keys] -consumer_key = K -nonce = K -ts = K - -[notice] -id = 129 -profile_id = 129 -uri = 2 -content = 34 -rendered = 34 -url = 2 -created = 142 -modified = 384 -reply_to = 1 -is_local = 17 -source = 2 -conversation = 1 - -[notice__keys] -id = N - -[notice_inbox] -user_id = 129 -notice_id = 129 -created = 142 -source = 17 - -[notice_inbox__keys] -user_id = K -notice_id = K - -[notice_source] -code = 130 -name = 130 -url = 130 -created = 142 -modified = 384 - -[notice_source__keys] -code = K - -[notice_tag] -tag = 130 -notice_id = 129 -created = 142 - -[notice_tag__keys] -tag = K -notice_id = K - -[profile] -id = 129 -nickname = 130 -fullname = 2 -profileurl = 2 -homepage = 2 -bio = 34 -location = 2 -created = 142 -modified = 384 - -[profile__keys] -id = N - -[profile_block] -blocker = 129 -blocked = 129 -modified = 384 - -[profile_block__keys] -blocker = K -blocked = K - -[profile_tag] -tagger = 129 -tagged = 129 -tag = 130 -modified = 384 - -[profile_tag__keys] -tagger = K -tagged = K -tag = K - -[queue_item] -notice_id = 129 -transport = 130 -created = 142 -claimed = 14 - -[queue_item__keys] -notice_id = K -transport = K - -[related_group] -group_id = 129 -related_group_id = 129 -created = 142 - -[related_group__keys] -group_id = K -related_group_id = K - -[remember_me] -code = 130 -user_id = 129 -modified = 384 - -[remember_me__keys] -code = K - -[remote_profile] -id = 129 -uri = 2 -postnoticeurl = 2 -updateprofileurl = 2 -created = 142 -modified = 384 - -[remote_profile__keys] -id = K -uri = U - -[reply] -notice_id = 129 -profile_id = 129 -modified = 384 -replied_id = 1 - -[reply__keys] -notice_id = K -profile_id = K - -[session] -id = 130 -session_data = 34 -created = 142 -modified = 384 - -[session__keys] -id = K - -[sms_carrier] -id = 129 -name = 2 -email_pattern = 130 -created = 142 -modified = 384 - -[sms_carrier__keys] -id = K -name = U - -[subscription] -subscriber = 129 -subscribed = 129 -jabber = 17 -sms = 17 -token = 2 -secret = 2 -created = 142 -modified = 384 - -[subscription__keys] -subscriber = K -subscribed = K - -[token] -consumer_key = 130 -tok = 130 -secret = 130 -type = 145 -state = 17 -created = 142 -modified = 384 - -[token__keys] -consumer_key = K -tok = K - -[user] -id = 129 -nickname = 2 -password = 2 -email = 2 -incomingemail = 2 -emailnotifysub = 17 -emailnotifyfav = 17 -emailnotifynudge = 17 -emailnotifymsg = 17 -emailnotifyattn = 17 -emailmicroid = 17 -language = 2 -timezone = 2 -emailpost = 17 -jabber = 2 -jabbernotify = 17 -jabberreplies = 17 -jabbermicroid = 17 -updatefrompresence = 17 -sms = 2 -carrier = 1 -smsnotify = 17 -smsreplies = 17 -smsemail = 2 -uri = 2 -autosubscribe = 17 -urlshorteningservice = 2 -inboxed = 17 -design_id = 1 -viewdesigns = 17 -created = 142 -modified = 384 - -[user__keys] -id = K -nickname = U -email = U -incomingemail = U -jabber = U -sms = U -uri = U - -[user_group] -id = 129 -nickname = 2 -fullname = 2 -homepage = 2 -description = 34 -location = 2 -original_logo = 2 -homepage_logo = 2 -stream_logo = 2 -mini_logo = 2 -design_id = 1 -created = 142 -modified = 384 - -[user_group__keys] -id = N - -[user_openid] -canonical = 130 -display = 130 -user_id = 129 -created = 142 -modified = 384 - -[user_openid__keys] -canonical = K -display = U diff --git a/classes/status_network.ini b/classes/status_network.ini new file mode 100644 index 0000000000..8123265e46 --- /dev/null +++ b/classes/status_network.ini @@ -0,0 +1,18 @@ +[status_network] +nickname = 130 +hostname = 2 +pathname = 2 +dbhost = 2 +dbuser = 2 +dbpass = 2 +dbname = 2 +sitename = 2 +theme = 2 +logo = 2 +created = 142 +modified = 384 + +[status_network__keys] +nickname = K +hostname = U +pathname = U diff --git a/classes/statusnet.ini b/classes/statusnet.ini old mode 100644 new mode 100755 index 8123265e46..453981cd64 --- a/classes/statusnet.ini +++ b/classes/statusnet.ini @@ -1,18 +1,529 @@ -[status_network] -nickname = 130 -hostname = 2 -pathname = 2 -dbhost = 2 -dbuser = 2 -dbpass = 2 -dbname = 2 -sitename = 2 -theme = 2 -logo = 2 +[avatar] +profile_id = 129 +original = 17 +width = 129 +height = 129 +mediatype = 130 +filename = 2 +url = 2 created = 142 modified = 384 -[status_network__keys] -nickname = K -hostname = U -pathname = U +[avatar__keys] +profile_id = K +width = K +height = K +url = U + +[config] +section = 130 +setting = 130 +value = 2 + +[config__keys] +section = K +setting = K + +[confirm_address] +code = 130 +user_id = 129 +address = 130 +address_extra = 130 +address_type = 130 +claimed = 14 +sent = 14 +modified = 384 + +[confirm_address__keys] +code = K + +[consumer] +consumer_key = 130 +seed = 130 +created = 142 +modified = 384 + +[consumer__keys] +consumer_key = K + +[deleted_notice] +id = 129 +profile_id = 129 +uri = 2 +created = 142 +deleted = 142 + +[deleted_notice__keys] +id = K +uri = U + +[design] +id = 129 +backgroundcolor = 1 +contentcolor = 1 +sidebarcolor = 1 +textcolor = 1 +linkcolor = 1 +backgroundimage = 2 +disposition = 17 + +[design__keys] +id = N + +[fave] +notice_id = 129 +user_id = 129 +modified = 384 + +[fave__keys] +notice_id = K +user_id = K + +[file] +id = 129 +url = 2 +mimetype = 2 +size = 1 +title = 2 +date = 1 +protected = 1 +filename = 2 +modified = 384 + +[file__keys] +id = N + +[file_oembed] +file_id = 129 +version = 2 +type = 2 +mimetype = 2 +provider = 2 +provider_url = 2 +width = 1 +height = 1 +html = 34 +title = 2 +author_name = 2 +author_url = 2 +url = 2 +modified = 384 + +[file_oembed__keys] +file_id = K + +[file_redirection] +url = 130 +file_id = 1 +redirections = 1 +httpcode = 1 +modified = 384 + +[file_redirection__keys] +url = K + +[file_thumbnail] +file_id = 129 +url = 2 +width = 1 +height = 1 +modified = 384 + +[file_thumbnail__keys] +file_id = K +url = U + +[file_to_post] +file_id = 129 +post_id = 129 +modified = 384 + +[file_to_post__keys] +file_id = K +post_id = K + +[foreign_link] +user_id = 129 +foreign_id = 129 +service = 129 +credentials = 2 +noticesync = 145 +friendsync = 145 +profilesync = 145 +last_noticesync = 14 +last_friendsync = 14 +created = 142 +modified = 384 + +[foreign_link__keys] +user_id = K +foreign_id = K +service = K + +[foreign_service] +id = 129 +name = 130 +description = 2 +created = 142 +modified = 384 + +[foreign_service__keys] +id = K +name = U + +[foreign_subscription] +service = 129 +subscriber = 129 +subscribed = 129 +created = 142 + +[foreign_subscription__keys] +service = K +subscriber = K +subscribed = K + +[foreign_user] +id = 129 +service = 129 +uri = 130 +nickname = 2 +created = 142 +modified = 384 + +[foreign_user__keys] +id = K +service = K +uri = U + +[group_alias] +alias = 130 +group_id = 129 +modified = 384 + +[group_alias__keys] +alias = K + +[group_block] +group_id = 129 +blocked = 129 +blocker = 129 +modified = 384 + +[group_block__keys] +group_id = K +blocked = K + +[group_inbox] +group_id = 129 +notice_id = 129 +created = 142 + +[group_inbox__keys] +group_id = K +notice_id = K + +[group_member] +group_id = 129 +profile_id = 129 +is_admin = 17 +created = 142 +modified = 384 + +[group_member__keys] +group_id = K +profile_id = K + +[invitation] +code = 130 +user_id = 129 +address = 130 +address_type = 130 +created = 142 + +[invitation__keys] +code = K + +[message] +id = 129 +uri = 2 +from_profile = 129 +to_profile = 129 +content = 34 +rendered = 34 +url = 2 +created = 142 +modified = 384 +source = 2 + +[message__keys] +id = N + +[nonce] +consumer_key = 130 +tok = 2 +nonce = 130 +ts = 142 +created = 142 +modified = 384 + +[nonce__keys] +consumer_key = K +nonce = K +ts = K + +[notice] +id = 129 +profile_id = 129 +uri = 2 +content = 34 +rendered = 34 +url = 2 +created = 142 +modified = 384 +reply_to = 1 +is_local = 17 +source = 2 +conversation = 1 + +[notice__keys] +id = N + +[notice_inbox] +user_id = 129 +notice_id = 129 +created = 142 +source = 17 + +[notice_inbox__keys] +user_id = K +notice_id = K + +[notice_source] +code = 130 +name = 130 +url = 130 +created = 142 +modified = 384 + +[notice_source__keys] +code = K + +[notice_tag] +tag = 130 +notice_id = 129 +created = 142 + +[notice_tag__keys] +tag = K +notice_id = K + +[profile] +id = 129 +nickname = 130 +fullname = 2 +profileurl = 2 +homepage = 2 +bio = 34 +location = 2 +created = 142 +modified = 384 + +[profile__keys] +id = N + +[profile_block] +blocker = 129 +blocked = 129 +modified = 384 + +[profile_block__keys] +blocker = K +blocked = K + +[profile_tag] +tagger = 129 +tagged = 129 +tag = 130 +modified = 384 + +[profile_tag__keys] +tagger = K +tagged = K +tag = K + +[queue_item] +notice_id = 129 +transport = 130 +created = 142 +claimed = 14 + +[queue_item__keys] +notice_id = K +transport = K + +[related_group] +group_id = 129 +related_group_id = 129 +created = 142 + +[related_group__keys] +group_id = K +related_group_id = K + +[remember_me] +code = 130 +user_id = 129 +modified = 384 + +[remember_me__keys] +code = K + +[remote_profile] +id = 129 +uri = 2 +postnoticeurl = 2 +updateprofileurl = 2 +created = 142 +modified = 384 + +[remote_profile__keys] +id = K +uri = U + +[reply] +notice_id = 129 +profile_id = 129 +modified = 384 +replied_id = 1 + +[reply__keys] +notice_id = K +profile_id = K + +[session] +id = 130 +session_data = 34 +created = 142 +modified = 384 + +[session__keys] +id = K + +[sms_carrier] +id = 129 +name = 2 +email_pattern = 130 +created = 142 +modified = 384 + +[sms_carrier__keys] +id = K +name = U + +[subscription] +subscriber = 129 +subscribed = 129 +jabber = 17 +sms = 17 +token = 2 +secret = 2 +created = 142 +modified = 384 + +[subscription__keys] +subscriber = K +subscribed = K + +[token] +consumer_key = 130 +tok = 130 +secret = 130 +type = 145 +state = 17 +created = 142 +modified = 384 + +[token__keys] +consumer_key = K +tok = K + +[user] +id = 129 +nickname = 2 +password = 2 +email = 2 +incomingemail = 2 +emailnotifysub = 17 +emailnotifyfav = 17 +emailnotifynudge = 17 +emailnotifymsg = 17 +emailnotifyattn = 17 +emailmicroid = 17 +language = 2 +timezone = 2 +emailpost = 17 +jabber = 2 +jabbernotify = 17 +jabberreplies = 17 +jabbermicroid = 17 +updatefrompresence = 17 +sms = 2 +carrier = 1 +smsnotify = 17 +smsreplies = 17 +smsemail = 2 +uri = 2 +autosubscribe = 17 +urlshorteningservice = 2 +inboxed = 17 +design_id = 1 +viewdesigns = 17 +created = 142 +modified = 384 + +[user__keys] +id = K +nickname = U +email = U +incomingemail = U +jabber = U +sms = U +uri = U + +[user_group] +id = 129 +nickname = 2 +fullname = 2 +homepage = 2 +description = 34 +location = 2 +original_logo = 2 +homepage_logo = 2 +stream_logo = 2 +mini_logo = 2 +design_id = 1 +created = 142 +modified = 384 + +[user_group__keys] +id = N + +[user_openid] +canonical = 130 +display = 130 +user_id = 129 +created = 142 +modified = 384 + +[user_openid__keys] +canonical = K +display = U + +[user_role] +user_id = 129 +role = 130 +created = 142 + +[user_role__keys] +user_id = K +role = K diff --git a/classes/laconica.links.ini b/classes/statusnet.links.ini similarity index 100% rename from classes/laconica.links.ini rename to classes/statusnet.links.ini diff --git a/config.php.sample b/config.php.sample index 7877df7163..997c9d6b0b 100644 --- a/config.php.sample +++ b/config.php.sample @@ -1,7 +1,7 @@ tags that have a valid oembed type set. We then // extract the href attribute for each type. - $regexp = '#]*)type="' . - '(application/json|text/xml)\+oembed"([^>]*)>#i'; + $regexp = '#]*)type[\s\n]*=[\s\n]*"' . + '(application/json|text/xml)\+oembed"([^>]*)>#im'; $m = $ret = array(); if (!preg_match_all($regexp, $body, $m)) { @@ -314,7 +314,7 @@ class Services_oEmbed foreach ($m[0] as $i => $link) { $h = array(); - if (preg_match('/href="([^"]+)"/i', $link, $h)) { + if (preg_match('/[\s\n]+href[\s\n]*=[\s\n]*"([^"]+)"/im', $link, $h)) { $ret[$m[2][$i]] = $h[1]; } } @@ -347,7 +347,7 @@ class Services_oEmbed $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); if (substr($code, 0, 1) != '2') { - throw new Services_oEmbed_Exception('Non-200 code returned'); + throw new Services_oEmbed_Exception('Non-200 code returned. Got code ' . $code); } return $result; diff --git a/extlib/Stomp.php b/extlib/Stomp.php index 9e1c97b3b3..abd9cba62b 100644 --- a/extlib/Stomp.php +++ b/extlib/Stomp.php @@ -454,7 +454,7 @@ class Stomp */ public function disconnect () { - $header = array(); + $headers = array(); if ($this->clientId != null) { $headers["client-id"] = $this->clientId; diff --git a/extlib/php-gettext/AUTHORS b/extlib/php-gettext/AUTHORS new file mode 100644 index 0000000000..da6ade7b67 --- /dev/null +++ b/extlib/php-gettext/AUTHORS @@ -0,0 +1,3 @@ +Danilo Segan +Nico Kaiser (contributed most changes between 1.0.2 and 1.0.3, bugfix for 1.0.5) +Steven Armstrong (gettext.inc, leading to 1.0.6) diff --git a/extlib/php-gettext/COPYING b/extlib/php-gettext/COPYING new file mode 100644 index 0000000000..5b6e7c66c2 --- /dev/null +++ b/extlib/php-gettext/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/extlib/php-gettext/ChangeLog b/extlib/php-gettext/ChangeLog new file mode 100644 index 0000000000..5e0949dfd7 --- /dev/null +++ b/extlib/php-gettext/ChangeLog @@ -0,0 +1,144 @@ +2006-02-07 Danilo Šegan + + * examples/pigs_dropin.php: comment-out bind_textdomain_codeset + + * gettext.inc (T_bind_textdomain_codeset): bind_textdomain_codeset + is available only in PHP 4.2.0+ (thanks to Jens A. Tkotz). + + * Makefile: Include gettext.inc in DIST_FILES, VERSION up to + 1.0.7. + +2006-02-03 Danilo Šegan + + Added setlocale() emulation as well. + + * examples/pigs_dropin.php: Use T_setlocale() and locale_emulation(). + * examples/pigs_fallback.php: Use T_setlocale() and locale_emulation(). + + * gettext.inc: Added globals $EMULATEGETTEXT and $CURRENTLOCALE. + (locale_emulation): Whether emulation is active. + (_check_locale): Rewrite. + (_setlocale): Added emulated setlocale function. + (T_setlocale): Wrapper around _setlocale. + (_get_reader): Use variables and _setlocale. + +2006-02-02 Danilo Šegan + + Fix bug #12192. + + * examples/locale/sr_CS/LC_MESSAGES/messages.po: Correct grammar. + * examples/locale/sr_CS/LC_MESSAGES/messages.mo: Rebuild. + +2006-02-02 Danilo Šegan + + Fix bug #15419. + + * streams.php: Support for PHP 5.1.1 fread() which reads most 8kb. + (Fix by Piotr Szotkowski ) + +2006-02-02 Danilo Šegan + + Merge Steven Armstrong's changes, supporting standard gettext + interfaces: + + * examples/*: Restructured examples. + * gettext.inc: Added. + * AUTHORS: Added Steven. + * Makefile (VERSION): Up to 1.0.6. + +2006-01-28 Nico Kaiser + + * gettext.php (select_string): Fix "true" <-> 1 difference of PHP + +2005-07-29 Danilo Šegan + + * Makefile (VERSION): Up to 1.0.5. + +2005-07-29 Danilo Šegan + + Fixes bug #13850. + + * gettext.php (gettext_reader): check $Reader->error as well. + +2005-07-29 Danilo Šegan + + * Makefile (VERSION): Up to 1.0.4. + +2005-07-29 Danilo Šegan + + Fixes bug #13771. + + * gettext.php (gettext_reader->get_plural_forms): Plural forms + header extraction regex change. Reported by Edgar Gonzales. + +2005-02-28 Danilo Šegan + + * AUTHORS: Added Nico to the list. + + * Makefile (VERSION): Up to 1.0.3. + + * README: Updated. + +2005-02-28 Danilo Šegan + + * gettext.php: Added pre-loading, code documentation, and many + code clean-ups by Nico Kaiser . + +2005-02-28 Danilo Šegan + + * streams.php (FileReader.read): Handle read($bytes = 0). + + * examples/pigs.php: Prefix gettext function names with T or T_. + + * examples/update: Use the same keywords T_ and T_ngettext. + + * streams.php: Added CachedFileReader. + +2003-11-11 Danilo Šegan + + * gettext.php: Added hashing to find_string. + +2003-11-01 Danilo Šegan + + * Makefile (DIST_FILES): Replaced LICENSE with COPYING. + (VERSION): Up to 1.0.2. + + * AUTHORS: Minor edits. + + * README: Minor edits. + + * COPYING: Removed LICENSE, added this file. + + * gettext.php: Added copyright notice and disclaimer. + * streams.php: Same. + * examples/pigs.php: Same. + +2003-10-23 Danilo Šegan + + * Makefile: Upped version to 1.0.1. + + * gettext.php (gettext_reader): Remove a call to set_total_plurals. + (set_total_plurals): Removed unused function for some better days. + +2003-10-23 Danilo Šegan + + * Makefile: Added, version 1.0.0. + + * examples/*: Added an example of usage. + + * README: Described all the crap. + +2003-10-22 Danilo Šegan + + * gettext.php: Plural forms implemented too. + + * streams.php: Added FileReader for direct access to files (no + need to keep file in memory). + + * gettext.php: It works, except for plural forms. + + * streams.php: Created abstract class StreamReader. + Added StringReader class. + + * gettext.php: Started writing gettext_reader. + diff --git a/extlib/php-gettext/README b/extlib/php-gettext/README new file mode 100644 index 0000000000..c7525e29c9 --- /dev/null +++ b/extlib/php-gettext/README @@ -0,0 +1,189 @@ +PHP-gettext 1.0 + +Copyright 2003, 2006 -- Danilo "angry with PHP[1]" Segan +Licensed under GPLv2 (or any later version, see COPYING) + +[1] PHP is actually cyrillic, and translates roughly to + "works-doesn't-work" (UTF-8: Ради-Не-Ради) + + +Introduction + + How many times did you look for a good translation tool, and + found out that gettext is best for the job? Many times. + + How many times did you try to use gettext in PHP, but failed + miserably, because either your hosting provider didn't support + it, or the server didn't have adequate locale? Many times. + + Well, this is a solution to your needs. It allows using gettext + tools for managing translations, yet it doesn't require gettext + library at all. It parses generated MO files directly, and thus + might be a bit slower than the (maybe provided) gettext library. + + PHP-gettext is a simple reader for GNU gettext MO files. Those + are binary containers for translations, produced by GNU msgfmt. + +Why? + + I got used to having gettext work even without gettext + library. It's there in my favourite language Python, so I was + surprised that I couldn't find it in PHP. I even Googled for it, + but to no avail. + + So, I said, what the heck, I'm going to write it for this + disguisting language of PHP, because I'm often constrained to it. + +Features + + o Support for simple translations + Just define a simple alias for translate() function (suggested + use of _() or gettext(); see provided example). + + o Support for ngettext calls (plural forms, see a note under bugs) + You may also use plural forms. Translations in MO files need to + provide this, and they must also provide "plural-forms" header. + Please see 'info gettext' for more details. + + o Support for reading straight files, or strings (!!!) + Since I can imagine many different backends for reading in the MO + file data, I used imaginary abstract class StreamReader to do all + the input (check streams.php). For your convenience, I've already + provided two classes for reading files: FileReader and + StringReader (CachedFileReader is a combination of the two: it + loads entire file contents into a string, and then works on that). + See example below for usage. You can for instance use StringReader + when you read in data from a database, or you can create your own + derivative of StreamReader for anything you like. + + +Bugs + + Plural-forms field in MO header (translation for empty string, + i.e. "") is treated according to PHP syntactic rules (it's + eval()ed). Since these should actually follow C syntax, there are + some problems. + + For instance, I'm used to using this: + Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : \ + n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; + but it fails with PHP (it sets $plural=2 instead of 0 for $n==1). + + The fix is usually simple, but I'm lazy to go into the details of + PHP operator precedence, and maybe try to fix it. In here, I had + to put everything after the first ':' in parenthesis: + Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : \ + (n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); + That works, and I'm satisfied. + + Besides this one, there are probably a bunch of other bugs, since + I hate PHP (did I mention it already? no? strange), and don't + know it very well. So, feel free to fix any of those and report + them back to me at . + +Usage + + Put files streams.php and gettext.php somewhere you can load them + from, and require 'em in where you want to use them. + + Then, create one 'stream reader' (a class that provides functions + like read(), seekto(), currentpos() and length()) which will + provide data for the 'gettext_reader', with eg. + $streamer = new FileStream('data.mo'); + + Then, use that as a parameter to gettext_reader constructor: + $wohoo = new gettext_reader($streamer); + + If you want to disable pre-loading of entire message catalog in + memory (if, for example, you have a multi-thousand message catalog + which you'll use only occasionally), use "false" for second + parameter to gettext_reader constructor: + $wohoo = new gettext_reader($streamer, false); + + From now on, you have all the benefits of gettext data at your + disposal, so may run: + print $wohoo->translate("This is a test"); + print $wohoo->ngettext("%d bird", "%d birds", $birds); + + You might need to pass parameter "-k" to xgettext to make it + extract all the strings. In above example, try with + xgettext -ktranslate -kngettext:1,2 file.php + what should create messages.po which contains two messages for + translation. + + I suggest creating simple aliases for these functions (see + example/pigs.php for how do I do it, which means it's probably a + bad way). + + +Usage with gettext.inc (standard gettext interfaces emulation) + + Check example in examples/pig_dropin.php, basically you include + gettext.inc and use all the standard gettext interfaces as + documented on: + + http://www.php.net/gettext + + The only catch is that you can check return value of setlocale() + to see if your locale is system supported or not. + + +Example + + See in examples/ subdirectory. There are a couple of files. + pigs.php is an example, serbian.po is a translation to Serbian + language, and serbian.mo is generated with + msgfmt -o serbian.mo serbian.po + There is also simple "update" script that can be used to generate + POT file and to update the translation using msgmerge. + +Interesting TODO: + + o Try to parse "plural-forms" header field, and to follow C syntax + rules. This won't be easy. + +Boring TODO: + + o Learn PHP and fix bugs, slowness and other stuff resulting from + my lack of knowledge (but *maybe*, it's not my knowledge that is + bad, but PHP itself ;-). + + (This is mostly done thanks to Nico Kaiser.) + + o Try to use hash tables in MO files: with pre-loading, would it + be useful at all? + +Never-asked-questions: + + o Why did you mark this as version 1.0 when this is the first code + release? + + Well, it's quite simple. I consider that the first released thing + should be labeled "version 1" (first, right?). Zero is there to + indicate that there's zero improvement and/or change compared to + "version 1". + + I plan to use version numbers 1.0.* for small bugfixes, and to + release 1.1 as "first stable release of version 1". + + This may trick someone that this is actually useful software, but + as with any other free software, I take NO RESPONSIBILITY for + creating such a masterpiece that will smoke crack, trash your + hard disk, and make lasers in your CD device dance to the tune of + Mozart's 40th Symphony (there is one like that, right?). + + o Can I...? + + Yes, you can. This is free software (as in freedom, free speech), + and you might do whatever you wish with it, provided you do not + limit freedom of others (GPL). + + I'm considering licensing this under LGPL, but I *do* want + *every* PHP-gettext user to contribute and respect ideas of free + software, so don't count on it happening anytime soon. + + I'm sorry that I'm taking away your freedom of taking others' + freedom away, but I believe that's neglible as compared to what + freedoms you could take away. ;-) + + Uhm, whatever. diff --git a/extlib/php-gettext/gettext.inc b/extlib/php-gettext/gettext.inc new file mode 100644 index 0000000000..eb94b256a6 --- /dev/null +++ b/extlib/php-gettext/gettext.inc @@ -0,0 +1,318 @@ + + + Drop in replacement for native gettext. + + This file is part of PHP-gettext. + + PHP-gettext is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + PHP-gettext is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with PHP-gettext; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +*/ +/* +LC_CTYPE 0 +LC_NUMERIC 1 +LC_TIME 2 +LC_COLLATE 3 +LC_MONETARY 4 +LC_MESSAGES 5 +LC_ALL 6 +*/ + +require('streams.php'); +require('gettext.php'); + + +// Variables + +global $text_domains, $default_domain, $LC_CATEGORIES, $EMULATEGETTEXT, $CURRENTLOCALE; +$text_domains = array(); +$default_domain = 'messages'; +$LC_CATEGORIES = array('LC_CTYPE', 'LC_NUMERIC', 'LC_TIME', 'LC_COLLATE', 'LC_MONETARY', 'LC_MESSAGES', 'LC_ALL'); +$EMULATEGETTEXT = 0; +$CURRENTLOCALE = ''; + + +// Utility functions + +/** + * Utility function to get a StreamReader for the given text domain. + */ +function _get_reader($domain=null, $category=5, $enable_cache=true) { + global $text_domains, $default_domain, $LC_CATEGORIES; + if (!isset($domain)) $domain = $default_domain; + if (!isset($text_domains[$domain]->l10n)) { + // get the current locale + $locale = _setlocale(LC_MESSAGES, 0); + $p = isset($text_domains[$domain]->path) ? $text_domains[$domain]->path : './'; + $path = $p . "$locale/". $LC_CATEGORIES[$category] ."/$domain.mo"; + if (file_exists($path)) { + $input = new FileReader($path); + } + else { + $input = null; + } + $text_domains[$domain]->l10n = new gettext_reader($input, $enable_cache); + } + return $text_domains[$domain]->l10n; +} + +/** + * Returns whether we are using our emulated gettext API or PHP built-in one. + */ +function locale_emulation() { + global $EMULATEGETTEXT; + return $EMULATEGETTEXT; +} + +/** + * Checks if the current locale is supported on this system. + */ +function _check_locale() { + global $EMULATEGETTEXT; + return !$EMULATEGETTEXT; +} + +/** + * Get the codeset for the given domain. + */ +function _get_codeset($domain=null) { + global $text_domains, $default_domain, $LC_CATEGORIES; + if (!isset($domain)) $domain = $default_domain; + return (isset($text_domains[$domain]->codeset))? $text_domains[$domain]->codeset : ini_get('mbstring.internal_encoding'); +} + +/** + * Convert the given string to the encoding set by bind_textdomain_codeset. + */ +function _encode($text) { + $source_encoding = mb_detect_encoding($text); + $target_encoding = _get_codeset(); + if ($source_encoding != $target_encoding) { + return mb_convert_encoding($text, $target_encoding, $source_encoding); + } + else { + return $text; + } +} + + + + +// Custom implementation of the standard gettext related functions + +/** + * Sets a requested locale, if needed emulates it. + */ +function _setlocale($category, $locale) { + global $CURRENTLOCALE, $EMULATEGETTEXT; + if ($locale === 0) { // use === to differentiate between string "0" + if ($CURRENTLOCALE != '') + return $CURRENTLOCALE; + else + // obey LANG variable, maybe extend to support all of LC_* vars + // even if we tried to read locale without setting it first + return _setlocale($category, $CURRENTLOCALE); + } else { + $ret = 0; + if (function_exists('setlocale')) // I don't know if this ever happens ;) + $ret = setlocale($category, $locale); + if (($ret and $locale == '') or ($ret == $locale)) { + $EMULATEGETTEXT = 0; + $CURRENTLOCALE = $ret; + } else { + if ($locale == '') // emulate variable support + $CURRENTLOCALE = getenv('LANG'); + else + $CURRENTLOCALE = $locale; + $EMULATEGETTEXT = 1; + } + return $CURRENTLOCALE; + } +} + +/** + * Sets the path for a domain. + */ +function _bindtextdomain($domain, $path) { + global $text_domains; + // ensure $path ends with a slash + if ($path[strlen($path) - 1] != '/') $path .= '/'; + elseif ($path[strlen($path) - 1] != '\\') $path .= '\\'; + $text_domains[$domain]->path = $path; +} + +/** + * Specify the character encoding in which the messages from the DOMAIN message catalog will be returned. + */ +function _bind_textdomain_codeset($domain, $codeset) { + global $text_domains; + $text_domains[$domain]->codeset = $codeset; +} + +/** + * Sets the default domain. + */ +function _textdomain($domain) { + global $default_domain; + $default_domain = $domain; +} + +/** + * Lookup a message in the current domain. + */ +function _gettext($msgid) { + $l10n = _get_reader(); + //return $l10n->translate($msgid); + return _encode($l10n->translate($msgid)); +} +/** + * Alias for gettext. + */ +function __($msgid) { + return _gettext($msgid); +} +/** + * Plural version of gettext. + */ +function _ngettext($single, $plural, $number) { + $l10n = _get_reader(); + //return $l10n->ngettext($single, $plural, $number); + return _encode($l10n->ngettext($single, $plural, $number)); +} + +/** + * Override the current domain. + */ +function _dgettext($domain, $msgid) { + $l10n = _get_reader($domain); + //return $l10n->translate($msgid); + return _encode($l10n->translate($msgid)); +} +/** + * Plural version of dgettext. + */ +function _dngettext($domain, $single, $plural, $number) { + $l10n = _get_reader($domain); + //return $l10n->ngettext($single, $plural, $number); + return _encode($l10n->ngettext($single, $plural, $number)); +} + +/** + * Overrides the domain and category for a single lookup. + */ +function _dcgettext($domain, $msgid, $category) { + $l10n = _get_reader($domain, $category); + //return $l10n->translate($msgid); + return _encode($l10n->translate($msgid)); +} +/** + * Plural version of dcgettext. + */ +function _dcngettext($domain, $single, $plural, $number, $category) { + $l10n = _get_reader($domain, $category); + //return $l10n->ngettext($single, $plural, $number); + return _encode($l10n->ngettext($single, $plural, $number)); +} + + + +// Wrappers to use if the standard gettext functions are available, but the current locale is not supported by the system. +// Use the standard impl if the current locale is supported, use the custom impl otherwise. + +function T_setlocale($category, $locale) { + return _setlocale($category, $locale); +} + +function T_bindtextdomain($domain, $path) { + if (_check_locale()) return bindtextdomain($domain, $path); + else return _bindtextdomain($domain, $path); +} +function T_bind_textdomain_codeset($domain, $codeset) { + // bind_textdomain_codeset is available only in PHP 4.2.0+ + if (_check_locale() and function_exists('bind_textdomain_codeset')) return bind_textdomain_codeset($domain, $codeset); + else return _bind_textdomain_codeset($domain, $codeset); +} +function T_textdomain($domain) { + if (_check_locale()) return textdomain($domain); + else return _textdomain($domain); +} +function T_gettext($msgid) { + if (_check_locale()) return gettext($msgid); + else return _gettext($msgid); +} +function T_($msgid) { + if (_check_locale()) return _($msgid); + return __($msgid); +} +function T_ngettext($single, $plural, $number) { + if (_check_locale()) return ngettext($single, $plural, $number); + else return _ngettext($single, $plural, $number); +} +function T_dgettext($domain, $msgid) { + if (_check_locale()) return dgettext($domain, $msgid); + else return _dgettext($domain, $msgid); +} +function T_dngettext($domain, $single, $plural, $number) { + if (_check_locale()) return dngettext($domain, $single, $plural, $number); + else return _dngettext($domain, $single, $plural, $number); +} +function T_dcgettext($domain, $msgid, $category) { + if (_check_locale()) return dcgettext($domain, $msgid, $category); + else return _dcgettext($domain, $msgid, $category); +} +function T_dcngettext($domain, $single, $plural, $number, $category) { + if (_check_locale()) return dcngettext($domain, $single, $plural, $number, $category); + else return _dcngettext($domain, $single, $plural, $number, $category); +} + + + +// Wrappers used as a drop in replacement for the standard gettext functions + +if (!function_exists('gettext')) { + function bindtextdomain($domain, $path) { + return _bindtextdomain($domain, $path); + } + function bind_textdomain_codeset($domain, $codeset) { + return _bind_textdomain_codeset($domain, $codeset); + } + function textdomain($domain) { + return _textdomain($domain); + } + function gettext($msgid) { + return _gettext($msgid); + } + function _($msgid) { + return __($msgid); + } + function ngettext($single, $plural, $number) { + return _ngettext($single, $plural, $number); + } + function dgettext($domain, $msgid) { + return _dgettext($domain, $msgid); + } + function dngettext($domain, $single, $plural, $number) { + return _dngettext($domain, $single, $plural, $number); + } + function dcgettext($domain, $msgid, $category) { + return _dcgettext($domain, $msgid, $category); + } + function dcngettext($domain, $single, $plural, $number, $category) { + return _dcngettext($domain, $single, $plural, $number, $category); + } +} + +?> \ No newline at end of file diff --git a/extlib/php-gettext/gettext.php b/extlib/php-gettext/gettext.php new file mode 100644 index 0000000000..ad94a987b7 --- /dev/null +++ b/extlib/php-gettext/gettext.php @@ -0,0 +1,358 @@ +. + Copyright (c) 2005 Nico Kaiser + + This file is part of PHP-gettext. + + PHP-gettext is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + PHP-gettext is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with PHP-gettext; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +*/ + +/** + * Provides a simple gettext replacement that works independently from + * the system's gettext abilities. + * It can read MO files and use them for translating strings. + * The files are passed to gettext_reader as a Stream (see streams.php) + * + * This version has the ability to cache all strings and translations to + * speed up the string lookup. + * While the cache is enabled by default, it can be switched off with the + * second parameter in the constructor (e.g. whenusing very large MO files + * that you don't want to keep in memory) + */ +class gettext_reader { + //public: + var $error = 0; // public variable that holds error code (0 if no error) + + //private: + var $BYTEORDER = 0; // 0: low endian, 1: big endian + var $STREAM = NULL; + var $short_circuit = false; + var $enable_cache = false; + var $originals = NULL; // offset of original table + var $translations = NULL; // offset of translation table + var $pluralheader = NULL; // cache header field for plural forms + var $total = 0; // total string count + var $table_originals = NULL; // table for original strings (offsets) + var $table_translations = NULL; // table for translated strings (offsets) + var $cache_translations = NULL; // original -> translation mapping + + + /* Methods */ + + + /** + * Reads a 32bit Integer from the Stream + * + * @access private + * @return Integer from the Stream + */ + function readint() { + if ($this->BYTEORDER == 0) { + // low endian + return array_shift(unpack('V', $this->STREAM->read(4))); + } else { + // big endian + return array_shift(unpack('N', $this->STREAM->read(4))); + } + } + + /** + * Reads an array of Integers from the Stream + * + * @param int count How many elements should be read + * @return Array of Integers + */ + function readintarray($count) { + if ($this->BYTEORDER == 0) { + // low endian + return unpack('V'.$count, $this->STREAM->read(4 * $count)); + } else { + // big endian + return unpack('N'.$count, $this->STREAM->read(4 * $count)); + } + } + + /** + * Constructor + * + * @param object Reader the StreamReader object + * @param boolean enable_cache Enable or disable caching of strings (default on) + */ + function gettext_reader($Reader, $enable_cache = true) { + // If there isn't a StreamReader, turn on short circuit mode. + if (! $Reader || isset($Reader->error) ) { + $this->short_circuit = true; + return; + } + + // Caching can be turned off + $this->enable_cache = $enable_cache; + + // $MAGIC1 = (int)0x950412de; //bug in PHP 5 + $MAGIC1 = (int) - 1794895138; + // $MAGIC2 = (int)0xde120495; //bug + $MAGIC2 = (int) - 569244523; + + $this->STREAM = $Reader; + $magic = $this->readint(); + if ($magic == $MAGIC1) { + $this->BYTEORDER = 0; + } elseif ($magic == $MAGIC2) { + $this->BYTEORDER = 1; + } else { + $this->error = 1; // not MO file + return false; + } + + // FIXME: Do we care about revision? We should. + $revision = $this->readint(); + + $this->total = $this->readint(); + $this->originals = $this->readint(); + $this->translations = $this->readint(); + } + + /** + * Loads the translation tables from the MO file into the cache + * If caching is enabled, also loads all strings into a cache + * to speed up translation lookups + * + * @access private + */ + function load_tables() { + if (is_array($this->cache_translations) && + is_array($this->table_originals) && + is_array($this->table_translations)) + return; + + /* get original and translations tables */ + $this->STREAM->seekto($this->originals); + $this->table_originals = $this->readintarray($this->total * 2); + $this->STREAM->seekto($this->translations); + $this->table_translations = $this->readintarray($this->total * 2); + + if ($this->enable_cache) { + $this->cache_translations = array (); + /* read all strings in the cache */ + for ($i = 0; $i < $this->total; $i++) { + $this->STREAM->seekto($this->table_originals[$i * 2 + 2]); + $original = $this->STREAM->read($this->table_originals[$i * 2 + 1]); + $this->STREAM->seekto($this->table_translations[$i * 2 + 2]); + $translation = $this->STREAM->read($this->table_translations[$i * 2 + 1]); + $this->cache_translations[$original] = $translation; + } + } + } + + /** + * Returns a string from the "originals" table + * + * @access private + * @param int num Offset number of original string + * @return string Requested string if found, otherwise '' + */ + function get_original_string($num) { + $length = $this->table_originals[$num * 2 + 1]; + $offset = $this->table_originals[$num * 2 + 2]; + if (! $length) + return ''; + $this->STREAM->seekto($offset); + $data = $this->STREAM->read($length); + return (string)$data; + } + + /** + * Returns a string from the "translations" table + * + * @access private + * @param int num Offset number of original string + * @return string Requested string if found, otherwise '' + */ + function get_translation_string($num) { + $length = $this->table_translations[$num * 2 + 1]; + $offset = $this->table_translations[$num * 2 + 2]; + if (! $length) + return ''; + $this->STREAM->seekto($offset); + $data = $this->STREAM->read($length); + return (string)$data; + } + + /** + * Binary search for string + * + * @access private + * @param string string + * @param int start (internally used in recursive function) + * @param int end (internally used in recursive function) + * @return int string number (offset in originals table) + */ + function find_string($string, $start = -1, $end = -1) { + if (($start == -1) or ($end == -1)) { + // find_string is called with only one parameter, set start end end + $start = 0; + $end = $this->total; + } + if (abs($start - $end) <= 1) { + // We're done, now we either found the string, or it doesn't exist + $txt = $this->get_original_string($start); + if ($string == $txt) + return $start; + else + return -1; + } else if ($start > $end) { + // start > end -> turn around and start over + return $this->find_string($string, $end, $start); + } else { + // Divide table in two parts + $half = (int)(($start + $end) / 2); + $cmp = strcmp($string, $this->get_original_string($half)); + if ($cmp == 0) + // string is exactly in the middle => return it + return $half; + else if ($cmp < 0) + // The string is in the upper half + return $this->find_string($string, $start, $half); + else + // The string is in the lower half + return $this->find_string($string, $half, $end); + } + } + + /** + * Translates a string + * + * @access public + * @param string string to be translated + * @return string translated string (or original, if not found) + */ + function translate($string) { + if ($this->short_circuit) + return $string; + $this->load_tables(); + + if ($this->enable_cache) { + // Caching enabled, get translated string from cache + if (array_key_exists($string, $this->cache_translations)) + return $this->cache_translations[$string]; + else + return $string; + } else { + // Caching not enabled, try to find string + $num = $this->find_string($string); + if ($num == -1) + return $string; + else + return $this->get_translation_string($num); + } + } + + /** + * Get possible plural forms from MO header + * + * @access private + * @return string plural form header + */ + function get_plural_forms() { + // lets assume message number 0 is header + // this is true, right? + $this->load_tables(); + + // cache header field for plural forms + if (! is_string($this->pluralheader)) { + if ($this->enable_cache) { + $header = $this->cache_translations[""]; + } else { + $header = $this->get_translation_string(0); + } + if (eregi("plural-forms: ([^\n]*)\n", $header, $regs)) + $expr = $regs[1]; + else + $expr = "nplurals=2; plural=n == 1 ? 0 : 1;"; + $this->pluralheader = $expr; + } + return $this->pluralheader; + } + + /** + * Detects which plural form to take + * + * @access private + * @param n count + * @return int array index of the right plural form + */ + function select_string($n) { + $string = $this->get_plural_forms(); + $string = str_replace('nplurals',"\$total",$string); + $string = str_replace("n",$n,$string); + $string = str_replace('plural',"\$plural",$string); + + $total = 0; + $plural = 0; + + eval("$string"); + if ($plural >= $total) $plural = $total - 1; + return $plural; + } + + /** + * Plural version of gettext + * + * @access public + * @param string single + * @param string plural + * @param string number + * @return translated plural form + */ + function ngettext($single, $plural, $number) { + if ($this->short_circuit) { + if ($number != 1) + return $plural; + else + return $single; + } + + // find out the appropriate form + $select = $this->select_string($number); + + // this should contains all strings separated by NULLs + $key = $single.chr(0).$plural; + + + if ($this->enable_cache) { + if (! array_key_exists($key, $this->cache_translations)) { + return ($number != 1) ? $plural : $single; + } else { + $result = $this->cache_translations[$key]; + $list = explode(chr(0), $result); + return $list[$select]; + } + } else { + $num = $this->find_string($key); + if ($num == -1) { + return ($number != 1) ? $plural : $single; + } else { + $result = $this->get_translation_string($num); + $list = explode(chr(0), $result); + return $list[$select]; + } + } + } + +} + +?> diff --git a/extlib/php-gettext/streams.php b/extlib/php-gettext/streams.php new file mode 100644 index 0000000000..3eafa74828 --- /dev/null +++ b/extlib/php-gettext/streams.php @@ -0,0 +1,167 @@ +. + + This file is part of PHP-gettext. + + PHP-gettext is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + PHP-gettext is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with PHP-gettext; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +*/ + + +// Simple class to wrap file streams, string streams, etc. +// seek is essential, and it should be byte stream +class StreamReader { + // should return a string [FIXME: perhaps return array of bytes?] + function read($bytes) { + return false; + } + + // should return new position + function seekto($position) { + return false; + } + + // returns current position + function currentpos() { + return false; + } + + // returns length of entire stream (limit for seekto()s) + function length() { + return false; + } +} + +class StringReader { + var $_pos; + var $_str; + + function StringReader($str='') { + $this->_str = $str; + $this->_pos = 0; + } + + function read($bytes) { + $data = substr($this->_str, $this->_pos, $bytes); + $this->_pos += $bytes; + if (strlen($this->_str)<$this->_pos) + $this->_pos = strlen($this->_str); + + return $data; + } + + function seekto($pos) { + $this->_pos = $pos; + if (strlen($this->_str)<$this->_pos) + $this->_pos = strlen($this->_str); + return $this->_pos; + } + + function currentpos() { + return $this->_pos; + } + + function length() { + return strlen($this->_str); + } + +} + + +class FileReader { + var $_pos; + var $_fd; + var $_length; + + function FileReader($filename) { + if (file_exists($filename)) { + + $this->_length=filesize($filename); + $this->_pos = 0; + $this->_fd = fopen($filename,'rb'); + if (!$this->_fd) { + $this->error = 3; // Cannot read file, probably permissions + return false; + } + } else { + $this->error = 2; // File doesn't exist + return false; + } + } + + function read($bytes) { + if ($bytes) { + fseek($this->_fd, $this->_pos); + + // PHP 5.1.1 does not read more than 8192 bytes in one fread() + // the discussions at PHP Bugs suggest it's the intended behaviour + $data = ''; + while ($bytes > 0) { + $chunk = fread($this->_fd, $bytes); + $data .= $chunk; + $bytes -= strlen($chunk); + } + $this->_pos = ftell($this->_fd); + + return $data; + } else return ''; + } + + function seekto($pos) { + fseek($this->_fd, $pos); + $this->_pos = ftell($this->_fd); + return $this->_pos; + } + + function currentpos() { + return $this->_pos; + } + + function length() { + return $this->_length; + } + + function close() { + fclose($this->_fd); + } + +} + +// Preloads entire file in memory first, then creates a StringReader +// over it (it assumes knowledge of StringReader internals) +class CachedFileReader extends StringReader { + function CachedFileReader($filename) { + if (file_exists($filename)) { + + $length=filesize($filename); + $fd = fopen($filename,'rb'); + + if (!$fd) { + $this->error = 3; // Cannot read file, probably permissions + return false; + } + $this->_str = fread($fd, $length); + fclose($fd); + + } else { + $this->error = 2; // File doesn't exist + return false; + } + } +} + + +?> \ No newline at end of file diff --git a/htaccess.sample b/htaccess.sample index 942e98334a..37eb8e01ec 100644 --- a/htaccess.sample +++ b/htaccess.sample @@ -1,7 +1,7 @@ RewriteEngine On - # NOTE: change this to your actual Laconica path; may be "/". + # NOTE: change this to your actual StatusNet path; may be "/". RewriteBase /mublog/ diff --git a/index.php b/index.php index b9ce43c607..e2296549f3 100644 --- a/index.php +++ b/index.php @@ -1,7 +1,7 @@ 'gettext', + 'url'=>'http://us.php.net/manual/en/book.gettext.php', + 'check_function'=>'gettext' + ), + array( + 'name'=>'PEAR', + 'url'=>'http://pear.php.net/', + 'deb'=>'php-pear', + 'include'=>'PEAR.php', + 'check_class'=>'PEAR' + ), + array( + 'name'=>'DB', + 'pear'=>'DB', + 'url'=>'http://pear.php.net/package/DB', + 'deb'=>'php-db', + 'include'=>'DB/common.php', + 'check_class'=>'DB_common' + ), + array( + 'name'=>'DB_DataObject', + 'pear'=>'DB_DataObject', + 'url'=>'http://pear.php.net/package/DB_DataObject', + 'include'=>'DB/DataObject.php', + 'check_class'=>'DB_DataObject' + ), + array( + 'name'=>'Console_Getopt', + 'pear'=>'Console_Getopt', + 'url'=>'http://pear.php.net/package/Console_Getopt', + 'include'=>'Console/Getopt.php', + 'check_class'=>'Console_Getopt' + ), + array( + 'name'=>'Facebook API', + 'url'=>'http://developers.facebook.com/', + 'include'=>'facebook/facebook.php', + 'check_class'=>'Facebook' + ), + array( + 'name'=>'htmLawed', + 'url'=>'http://www.bioinformatics.org/phplabware/internal_utilities/htmLawed', + 'include'=>'htmLawed/htmLawed.php', + 'check_function'=>'htmLawed' + ), + array( + 'name'=>'HTTP_Request', + 'pear'=>'HTTP_Request', + 'url'=>'http://pear.php.net/package/HTTP_Request', + 'deb'=>'php-http-request', + 'include'=>'HTTP/Request.php', + 'check_class'=>'HTTP_Request' + ), + array( + 'name'=>'Mail', + 'pear'=>'Mail', + 'url'=>'http://pear.php.net/package/Mail', + 'deb'=>'php-mail', + 'include'=>'Mail.php', + 'check_class'=>'Mail' + ), + array( + 'name'=>'Mail_mimeDecode', + 'pear'=>'Mail_mimeDecode', + 'url'=>'http://pear.php.net/package/Mail_mimeDecode', + 'deb'=>'php-mail-mimedecode', + 'include'=>'Mail/mimeDecode.php', + 'check_class'=>'Mail_mimeDecode' + ), + array( + 'name'=>'Mime_Type', + 'pear'=>'Mime_Type', + 'url'=>'http://pear.php.net/package/Mime_Type', + 'include'=>'MIME/Type.php', + 'check_class'=>'Mime_Type' + ), + array( + 'name'=>'Net_URL_Mapper', + 'pear'=>'Net_URL_Mapper', + 'url'=>'http://pear.php.net/package/Net_URL_Mapper', + 'include'=>'Net/URL/Mapper.php', + 'check_class'=>'Net_URL_Mapper' + ), + array( + 'name'=>'Net_Socket', + 'pear'=>'Net_Socket', + 'url'=>'http://pear.php.net/package/Net_Socket', + 'deb'=>'php-net-socket', + 'include'=>'Net/Socket.php', + 'check_class'=>'Net_Socket' + ), + array( + 'name'=>'Net_SMTP', + 'pear'=>'Net_SMTP', + 'url'=>'http://pear.php.net/package/Net_SMTP', + 'deb'=>'php-net-smtp', + 'include'=>'Net/SMTP.php', + 'check_class'=>'Net_SMTP' + ), + array( + 'name'=>'Net_URL', + 'pear'=>'Net_URL', + 'url'=>'http://pear.php.net/package/Net_URL', + 'deb'=>'php-net-url', + 'include'=>'Net/URL.php', + 'check_class'=>'Net_URL' + ), + array( + 'name'=>'Net_URL2', + 'pear'=>'Net_URL2', + 'url'=>'http://pear.php.net/package/Net_URL2', + 'include'=>'Net/URL2.php', + 'check_class'=>'Net_URL2' + ), + array( + 'name'=>'Services_oEmbed', + 'pear'=>'Services_oEmbed', + 'url'=>'http://pear.php.net/package/Services_oEmbed', + 'include'=>'Services/oEmbed.php', + 'check_class'=>'Services_oEmbed' + ), + array( + 'name'=>'Stomp', + 'url'=>'http://stomp.codehaus.org/PHP', + 'include'=>'Stomp.php', + 'check_class'=>'Stomp' + ), + array( + 'name'=>'System_Command', + 'pear'=>'System_Command', + 'url'=>'http://pear.php.net/package/System_Command', + 'include'=>'System/Command.php', + 'check_class'=>'System_Command' + ), + array( + 'name'=>'XMPPHP', + 'url'=>'http://code.google.com/p/xmpphp', + 'include'=>'XMPPHP/XMPP.php', + 'check_class'=>'XMPPHP_XMPP' + ), + array( + 'name'=>'PHP Markdown', + 'url'=>'http://www.michelf.com/projects/php-markdown/', + 'include'=>'markdown.php', + 'check_class'=>'Markdown_Parser' + ), + array( + 'name'=>'OAuth', + 'url'=>'http://code.google.com/p/oauth-php', + 'include'=>'OAuth.php', + 'check_class'=>'OAuthRequest' + ), + array( + 'name'=>'Validate', + 'pear'=>'Validate', + 'url'=>'http://pear.php.net/package/Validate', + 'include'=>'Validate.php', + 'check_class'=>'Validate' + ) +); + function main() { if (!checkPrereqs()) { return; } - - if ($_SERVER['REQUEST_METHOD'] == 'POST') { - handlePost(); - } else { - showForm(); + + if( $_GET['checklibs'] ){ + showLibs(); + }else{ + if ($_SERVER['REQUEST_METHOD'] == 'POST') { + handlePost(); + } else { + showForm(); + } } } +function haveExternalLibrary($external_library) +{ + if(isset($external_library['include']) && ! include_once($external_library['include'])){ + return false; + } + if(isset($external_library['check_function']) && ! function_exists($external_library['check_function'])){ + return false; + } + if(isset($external_library['check_class']) && ! class_exists($external_library['check_class'])){ + return false; + } + return true; +} + function checkPrereqs() { $pass = true; @@ -49,8 +230,7 @@ function checkPrereqs() } $reqs = array('gd', 'curl', - 'xmlwriter', 'mbstring', - 'gettext'); + 'xmlwriter', 'mbstring','tidy'); foreach ($reqs as $req) { if (!checkExtension($req)) { @@ -88,13 +268,76 @@ function checkPrereqs() function checkExtension($name) { if (!extension_loaded($name)) { - if (!dl($name.'.so')) { + if (!@dl($name.'.so')) { return false; } } return true; } +function showLibs() +{ + global $external_libraries; + $present_libraries=array(); + $absent_libraries=array(); + foreach($external_libraries as $external_library){ + if(haveExternalLibrary($external_library)){ + $present_libraries[]=$external_library; + }else{ + $absent_libraries[]=$external_library; + } + } + echo<< +

Laconica comes bundled with a number of libraries required for the application to work. However, it is best that you use PEAR or you distribution to manage + libraries instead, as they tend to provide security updates faster, and may offer improved performance.

+

On Debian based distributions, such as Ubuntu, use a package manager (such as "aptitude", "apt-get", and "synaptic") to install the package listed.

+

On RPM based distributions, such as Red Hat, Fedora, CentOS, Scientific Linux, Yellow Dog Linux and Oracle Enterprise Linux, use a package manager (such as "yum", "apt-rpm", and "up2date") to install the package listed.

+

On servers without a package manager (such as Windows), or if the library is not packaged for your distribution, you can use PHP's PEAR to install the library. Simply run "pear install <name>".

+ +

Absent Libraries

+
    +E_O_T; + foreach($absent_libraries as $library) + { + echo '
  • '; + if($library['url']){ + echo ''.htmlentities($library['name']).''; + }else{ + echo htmlentities($library['name']); + } + echo '
      '; + if($library['deb']){ + echo '
    • deb: ' . htmlentities($library['deb']) . '
    • '; + } + if($library['rpm']){ + echo '
    • rpm: ' . htmlentities($library['rpm']) . '
    • '; + } + if($library['pear']){ + echo '
    • pear: ' . htmlentities($library['pear']) . '
    • '; + } + echo '
    '; + } + echo<< +

    Installed Libraries

    +
      +E_O_T; + foreach($present_libraries as $library) + { + echo '
    • '; + if($library['url']){ + echo ''.htmlentities($library['name']).''; + }else{ + echo htmlentities($library['name']); + } + echo '
    • '; + } + echo<< +E_O_T; +} + function showForm() { echo<<

      Enter your database connection information below to initialize the database.

      +

      Laconica bundles a number of libraries for ease of installation. You can see what bundled libraries you are using, versus what libraries are installed on your server.

      @@ -130,7 +374,7 @@ function showForm()

      Database hostname

    • - + MySQL
      PostgreSQL
      @@ -182,7 +426,7 @@ function handlePost() $fancy = !empty($_POST['fancy']); $server = $_SERVER['HTTP_HOST']; $path = substr(dirname($_SERVER['PHP_SELF']), 1); - + ?>
      Page notice
      @@ -220,7 +464,9 @@ function handlePost() showForm(); return; } - + + // FIXME: use PEAR::DB or PDO instead of our own switch + switch($dbtype) { case 'mysql': $db = mysql_db_installer($host, $database, $username, $password); @@ -230,28 +476,28 @@ function handlePost() break; default: } - + if (!$db) { // database connection failed, do not move on to create config file. return false; } - + updateStatus("Writing config file..."); $res = writeConf($sitename, $server, $path, $fancy, $db); - + if (!$res) { updateStatus("Can't write config file.", true); showForm(); return; } - + /* TODO https needs to be considered */ $link = "http://".$server.'/'.$path; - - updateStatus("Laconica has been installed at $link"); - updateStatus("You can visit your new Laconica site."); + + updateStatus("StatusNet has been installed at $link"); + updateStatus("You can visit your new StatusNet site."); ?> server_encoding != 'UTF8') { - updateStatus("Laconica requires UTF8 character encoding. Your database is ". htmlentities($record->server_encoding)); + updateStatus("StatusNet requires UTF8 character encoding. Your database is ". htmlentities($record->server_encoding)); showForm(); return false; } @@ -285,8 +531,8 @@ function pgsql_db_installer($host, $database, $username, $password) { updateStatus("Running database script..."); //wrap in transaction; pg_query($conn, 'BEGIN'); - $res = runDbScript(INSTALLDIR.'/db/laconica_pg.sql', $conn, 'pgsql'); - + $res = runDbScript(INSTALLDIR.'/db/statusnet_pg.sql', $conn, 'pgsql'); + if ($res === false) { updateStatus("Can't run database script.", true); showForm(); @@ -312,9 +558,9 @@ function pgsql_db_installer($host, $database, $username, $password) { else { $sqlUrl = "pgsql://$username:$password@$host/$database"; } - + $db = array('type' => 'pgsql', 'database' => $sqlUrl); - + return $db; } @@ -336,7 +582,7 @@ function mysql_db_installer($host, $database, $username, $password) { return false; } updateStatus("Running database script..."); - $res = runDbScript(INSTALLDIR.'/db/laconica.sql', $conn); + $res = runDbScript(INSTALLDIR.'/db/statusnet.sql', $conn); if ($res === false) { updateStatus("Can't run database script.", true); showForm(); @@ -354,7 +600,7 @@ function mysql_db_installer($host, $database, $username, $password) { return false; } } - + $sqlUrl = "mysqli://$username:$password@$host/$database"; $db = array('type' => 'mysql', 'database' => $sqlUrl); return $db; @@ -364,23 +610,23 @@ function writeConf($sitename, $server, $path, $fancy, $db) { // assemble configuration file in a string $cfg = ""; // write configuration file out to install directory $res = file_put_contents(INSTALLDIR.'/config.php', $cfg); @@ -397,18 +643,25 @@ function runDbScript($filename, $conn, $type = 'mysql') if (!mb_strlen($stmt)) { continue; } + // FIXME: use PEAR::DB or PDO instead of our own switch switch ($type) { case 'mysql': $res = mysql_query($stmt, $conn); + if ($res === false) { + $error = mysql_error(); + } break; case 'pgsql': $res = pg_query($conn, $stmt); + if ($res === false) { + $error = pg_last_error(); + } break; default: updateStatus("runDbScript() error: unknown database type ". $type ." provided."); } if ($res === false) { - updateStatus("FAILED SQL: $stmt"); + updateStatus("ERROR ($error) for SQL '$stmt'"); return $res; } } @@ -422,7 +675,7 @@ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - Install Laconica + Install StatusNet @@ -436,14 +689,14 @@ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
      -

      Install Laconica

      +

      Install StatusNet

      diff --git a/js/facebookapp.js b/js/facebookapp.js index f0696c19e9..5deb6e42b3 100644 --- a/js/facebookapp.js +++ b/js/facebookapp.js @@ -1,6 +1,6 @@ /* -* Laconica - a distributed open-source microblogging tool -* Copyright (C) 2008, Controlez-Vous, Inc. +* StatusNet - a distributed open-source microblogging tool +* Copyright (C) 2008, 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 diff --git a/js/identica-badge.js b/js/identica-badge.js index ffa55ae93e..49c42b70cd 100644 --- a/js/identica-badge.js +++ b/js/identica-badge.js @@ -119,7 +119,7 @@ $.s.className = trueName; $.s.h = document.createElement('H3'); $.s.h.a = document.createElement('A'); - $.s.h.a.target = '_laconica'; + $.s.h.a.target = '_statusnet'; $.s.h.appendChild($.s.h.a); $.s.appendChild($.s.h); $.s.r = document.createElement('UL'); @@ -184,11 +184,11 @@ var icon = document.createElement('A'); if (r[i] && r[i].url) { icon.href = r[i].url; - icon.target = '_laconica'; + icon.target = '_statusnet'; icon.title = 'Visit ' + r[i].screen_name + ' at ' + r[i].url; } else { icon.href = 'http://' + $.a.server + '/' + r[i].screen_name; - icon.target = '_laconica'; + icon.target = '_statusnet'; icon.title = 'Visit ' + r[i].screen_name + ' at http://' + $.a.server + '/' + r[i].screen_name; } @@ -215,14 +215,14 @@ var date_link = document.createElement('A'); date_link.innerHTML = r[i].status.created_at.split(/\+/)[0]; date_link.href = 'http://' + $.a.server + '/notice/' + r[i].status.id; - date_link.target = '_laconica'; + date_link.target = '_statusnet'; updated.appendChild(date_link); if (r[i].status.in_reply_to_status_id) { updated.appendChild(document.createTextNode(' in reply to ')); var in_reply_to = document.createElement('A'); in_reply_to.innerHTML = r[i].status.in_reply_to_status_id; in_reply_to.href = 'http://' + $.a.server + '/notice/' + r[i].status.in_reply_to_status_id; - in_reply_to.target = '_laconica'; + in_reply_to.target = '_statusnet'; updated.appendChild(in_reply_to); } } else { @@ -233,9 +233,9 @@ if (r[i].status && r[i].status.text) { var raw = r[i].status.text; var cooked = raw; - cooked = cooked.replace(/http:\/\/([^ ]+)/g, "http://$1"); - cooked = cooked.replace(/@([\w*]+)/g, '@$1'); - cooked = cooked.replace(/#([\w*]+)/g, '#$1'); + cooked = cooked.replace(/http:\/\/([^ ]+)/g, "http://$1"); + cooked = cooked.replace(/@([\w*]+)/g, '@$1'); + cooked = cooked.replace(/#([\w*]+)/g, '#$1'); p.innerHTML = cooked; } li.appendChild(p); diff --git a/js/jcrop/jquery.Jcrop.go.js b/js/jcrop/jquery.Jcrop.go.js index 4e1cbfd1e7..5739f676d0 100644 --- a/js/jcrop/jquery.Jcrop.go.js +++ b/js/jcrop/jquery.Jcrop.go.js @@ -1,10 +1,10 @@ /** Init for Jcrop library and page setup * - * @package Laconica - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Sarven Capadisli + * @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/ */ $(function(){ diff --git a/js/userdesign.go.js b/js/userdesign.go.js index c53569beab..eb4dece095 100644 --- a/js/userdesign.go.js +++ b/js/userdesign.go.js @@ -1,10 +1,10 @@ /** Init for Farbtastic library and page setup * - * @package Laconica - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Sarven Capadisli + * @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/ */ $(document).ready(function() { function InitColors(i, E) { @@ -27,11 +27,12 @@ $(document).ready(function() { } } - /* rgb2hex written by R0bb13 */ function rgb2hex(rgb) { + if (rgb.slice(0,1) == '#') { return rgb; } rgb = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/); return '#' + dec2hex(rgb[1]) + dec2hex(rgb[2]) + dec2hex(rgb[3]); } + /* dec2hex written by R0bb13 */ function dec2hex(x) { hexDigits = new Array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'); return isNaN(x) ? '00' : hexDigits[(x - x % 16) / 16] + hexDigits[x % 16]; diff --git a/js/util.js b/js/util.js index 4f731f30a1..0a943512f2 100644 --- a/js/util.js +++ b/js/util.js @@ -1,6 +1,6 @@ /* - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, Controlez-Vous, Inc. + * StatusNet - a distributed open-source microblogging tool + * Copyright (C) 2008, 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 diff --git a/lib/Shorturl_api.php b/lib/Shorturl_api.php index 22d5b4cb54..18ae7719b2 100644 --- a/lib/Shorturl_api.php +++ b/lib/Shorturl_api.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } -class ShortUrlApi +abstract class ShortUrlApi { protected $service_url; protected $long_limit = 27; @@ -35,11 +35,9 @@ class ShortUrlApi return $url; } - protected function shorten_imp($url) { - return "To Override"; - } + protected abstract function shorten_imp($url); - private function is_long($url) { + protected function is_long($url) { return strlen($url) >= common_config('site', 'shorturllength'); } @@ -71,61 +69,3 @@ class ShortUrlApi } } -class LilUrl extends ShortUrlApi -{ - function __construct() - { - parent::__construct('http://ur1.ca/'); - } - - protected function shorten_imp($url) { - $data['longurl'] = $url; - $response = $this->http_post($data); - if (!$response) return $url; - $y = @simplexml_load_string($response); - if (!isset($y->body)) return $url; - $x = $y->body->p[0]->a->attributes(); - if (isset($x['href'])) return $x['href']; - return $url; - } -} - - -class PtitUrl extends ShortUrlApi -{ - function __construct() - { - parent::__construct('http://ptiturl.com/?creer=oui&action=Reduire&url='); - } - - protected function shorten_imp($url) { - $response = $this->http_get($url); - if (!$response) return $url; - $response = $this->tidy($response); - $y = @simplexml_load_string($response); - if (!isset($y->body)) return $url; - $xml = $y->body->center->table->tr->td->pre->a->attributes(); - if (isset($xml['href'])) return $xml['href']; - return $url; - } -} - -class TightUrl extends ShortUrlApi -{ - function __construct() - { - parent::__construct('http://2tu.us/?save=y&url='); - } - - protected function shorten_imp($url) { - $response = $this->http_get($url); - if (!$response) return $url; - $response = $this->tidy($response); - $y = @simplexml_load_string($response); - if (!isset($y->body)) return $url; - $xml = $y->body->p[0]->code[0]->a->attributes(); - if (isset($xml['href'])) return $xml['href']; - return $url; - } -} - diff --git a/lib/accountsettingsaction.php b/lib/accountsettingsaction.php index 9a7c69124d..a004a3ed99 100644 --- a/lib/accountsettingsaction.php +++ b/lib/accountsettingsaction.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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/settingsaction.php'; * Base class for account settings actions * * @category Settings - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 */ @@ -66,10 +66,10 @@ class AccountSettingsAction extends SettingsAction * A widget for showing the settings group local nav menu * * @category Widget - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 HTMLOutputter */ diff --git a/lib/action.php b/lib/action.php index ebd7227195..8056cb9ecb 100644 --- a/lib/action.php +++ b/lib/action.php @@ -1,6 +1,6 @@ . * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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); } @@ -45,11 +45,11 @@ require_once INSTALLDIR.'/lib/htmloutputter.php'; * model classes to read and write to the database; and doing ouput. * * @category Output - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli * @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 HTMLOutputter */ @@ -195,28 +195,32 @@ class Action extends HTMLOutputter // lawsuit { if (Event::handle('StartShowStyles', array($this))) { - if (Event::handle('StartShowLaconicaStyles', array($this))) { + // Use old name for StatusNet for compatibility on events + + if (Event::handle('StartShowStatusNetStyles', array($this)) && + Event::handle('StartShowLaconicaStyles', array($this))) { $this->cssLink('css/display.css',null,'screen, projection, tv'); if (common_config('site', 'mobile')) { // TODO: "handheld" CSS for other mobile devices $this->cssLink('css/mobile.css','base','only screen and (max-device-width: 480px)'); // Mobile WebKit } $this->cssLink('css/print.css','base','print'); + Event::handle('EndShowStatusNetStyles', array($this)); Event::handle('EndShowLaconicaStyles', array($this)); } if (Event::handle('StartShowUAStyles', array($this))) { $this->comment('[if IE]>comment('[if lte IE '.$ver.']>comment('[if IE]>script('js/jquery.joverlay.min.js'); Event::handle('EndShowJQueryScripts', array($this)); } - if (Event::handle('StartShowLaconicaScripts', array($this))) { + if (Event::handle('StartShowStatusNetScripts', array($this)) && + Event::handle('StartShowLaconicaScripts', array($this))) { $this->script('js/xbImportNode.js'); $this->script('js/util.js'); // Frame-busting code to avoid clickjacking attacks. $this->element('script', array('type' => 'text/javascript'), 'if (window.top !== window.self) { window.top.location.href = window.self.location.href; }'); + Event::handle('EndShowStatusNetScripts', array($this)); Event::handle('EndShowLaconicaScripts', array($this)); } Event::handle('EndShowScripts', array($this)); @@ -740,26 +746,26 @@ class Action extends HTMLOutputter // lawsuit function showLicenses() { $this->elementStart('dl', array('id' => 'licenses')); - $this->showLaconicaLicense(); + $this->showStatusNetLicense(); $this->showContentLicense(); $this->elementEnd('dl'); } /** - * Show Laconica license. + * Show StatusNet license. * * @return nothing */ - function showLaconicaLicense() + function showStatusNetLicense() { - $this->element('dt', array('id' => 'site_laconica_license'), _('Laconica software license')); + $this->element('dt', array('id' => 'site_statusnet_license'), _('StatusNet software license')); $this->elementStart('dd', null); if (common_config('site', 'broughtby')) { $instr = _('**%%site.name%%** is a microblogging service brought to you by [%%site.broughtby%%](%%site.broughtbyurl%%). '); } else { $instr = _('**%%site.name%%** is a microblogging service. '); } - $instr .= sprintf(_('It runs the [Laconica](http://laconi.ca/) microblogging software, version %s, available under the [GNU Affero General Public License](http://www.fsf.org/licensing/licenses/agpl-3.0.html).'), LACONICA_VERSION); + $instr .= sprintf(_('It runs the [StatusNet](http://status.net/) microblogging software, version %s, available under the [GNU Affero General Public License](http://www.fsf.org/licensing/licenses/agpl-3.0.html).'), STATUSNET_VERSION); $output = common_markup_to_html($instr); $this->raw($output); $this->elementEnd('dd'); @@ -773,7 +779,7 @@ class Action extends HTMLOutputter // lawsuit */ function showContentLicense() { - $this->element('dt', array('id' => 'site_content_license'), _('Laconica software license')); + $this->element('dt', array('id' => 'site_content_license'), _('Site content license')); $this->elementStart('dd', array('id' => 'site_content_license_cc')); $this->elementStart('p'); $this->element('img', array('id' => 'license_cc', diff --git a/lib/arraywrapper.php b/lib/arraywrapper.php index 47ae057dcc..8a1cdd96e1 100644 --- a/lib/arraywrapper.php +++ b/lib/arraywrapper.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/attachmentlist.php b/lib/attachmentlist.php index 41d03f8e21..51ceca8576 100644 --- a/lib/attachmentlist.php +++ b/lib/attachmentlist.php @@ -1,6 +1,6 @@ . * * @category UI - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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); } @@ -41,10 +41,10 @@ if (!defined('LACONICA')) { * data for e.g. the profile page. * * @category UI - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 Notice * @see NoticeListItem * @see ProfileNoticeList @@ -127,10 +127,10 @@ class AttachmentList extends Widget * author info (since that's implicit by the data in the page). * * @category UI - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 NoticeList * @see ProfileNoticeListItem */ diff --git a/lib/attachmentnoticesection.php b/lib/attachmentnoticesection.php index eb31763764..578c171ff5 100644 --- a/lib/attachmentnoticesection.php +++ b/lib/attachmentnoticesection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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,10 +37,10 @@ if (!defined('LACONICA')) { * These are the widgets that show interesting data about a person * group, or site. * * @category Widget - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 AttachmentNoticeSection extends NoticeSection diff --git a/lib/attachmenttagcloudsection.php b/lib/attachmenttagcloudsection.php index 50bfceccb0..e2f85ae025 100644 --- a/lib/attachmenttagcloudsection.php +++ b/lib/attachmenttagcloudsection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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); } @@ -35,10 +35,10 @@ if (!defined('LACONICA')) { * Attachment tag cloud section * * @category Widget - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 AttachmentTagCloudSection extends TagCloudSection diff --git a/lib/blockform.php b/lib/blockform.php index af766b8237..4820d09afe 100644 --- a/lib/blockform.php +++ b/lib/blockform.php @@ -1,6 +1,6 @@ . * * @category Form - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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/form.php'; * Form for blocking a user * * @category Form - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli * @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 */ diff --git a/lib/channel.php b/lib/channel.php index 38c1d4d67f..3cd168786c 100644 --- a/lib/channel.php +++ b/lib/channel.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } class Channel { diff --git a/lib/clienterroraction.php b/lib/clienterroraction.php index 7ddc35eb66..7d007a7567 100644 --- a/lib/clienterroraction.php +++ b/lib/clienterroraction.php @@ -6,14 +6,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Zach Copley + * @package StatusNet + * @author Evan Prodromou + * @author Zach Copley * @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 . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } @@ -39,10 +39,10 @@ require_once INSTALLDIR.'/lib/error.php'; * Class for displaying HTTP client errors * * @category Action - * @package Laconica - * @author Zach Copley + * @package StatusNet + * @author Zach Copley * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class ClientErrorAction extends ErrorAction { diff --git a/lib/clientexception.php b/lib/clientexception.php index 3020d7f506..01c013a011 100644 --- a/lib/clientexception.php +++ b/lib/clientexception.php @@ -1,6 +1,6 @@ . * * @category Exception - * @package Laconica - * @author Evan Prodromou - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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 @@ if (!defined('LACONICA')) { * Subclass of PHP Exception for user errors. * * @category Exception - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 ClientException extends Exception diff --git a/lib/command.php b/lib/command.php index 371386dc58..11d40b8e15 100644 --- a/lib/command.php +++ b/lib/command.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/lib/channel.php'); @@ -114,7 +114,6 @@ class StatsCommand extends Command class FavCommand extends Command { - var $other = null; function __construct($user, $other) @@ -158,6 +157,108 @@ class FavCommand extends Command $channel->output($this->user, _('Notice marked as fave.')); } + +} +class JoinCommand extends Command +{ + var $other = null; + + function __construct($user, $other) + { + parent::__construct($user); + $this->other = $other; + } + + function execute($channel) + { + + $nickname = common_canonical_nickname($this->other); + $group = User_group::staticGet('nickname', $nickname); + $cur = $this->user; + + if (!$group) { + $channel->error($cur, _('No such group.')); + return; + } + + if ($cur->isMember($group)) { + $channel->error($cur, _('You are already a member of that group')); + return; + } + if (Group_block::isBlocked($group, $cur->getProfile())) { + $channel->error($cur, _('You have been blocked from that group by the admin.')); + return; + } + + $member = new Group_member(); + + $member->group_id = $group->id; + $member->profile_id = $cur->id; + $member->created = common_sql_now(); + + $result = $member->insert(); + if (!$result) { + common_log_db_error($member, 'INSERT', __FILE__); + $channel->error($cur, sprintf(_('Could not join user %s to group %s'), + $cur->nickname, $group->nickname)); + return; + } + + $channel->output($cur, sprintf(_('%s joined group %s'), + $cur->nickname, + $group->nickname)); + } + +} +class DropCommand extends Command +{ + var $other = null; + + function __construct($user, $other) + { + parent::__construct($user); + $this->other = $other; + } + + function execute($channel) + { + + $nickname = common_canonical_nickname($this->other); + $group = User_group::staticGet('nickname', $nickname); + $cur = $this->user; + + if (!$group) { + $channel->error($cur, _('No such group.')); + return; + } + + if (!$cur->isMember($group)) { + $channel->error($cur, _('You are not a member of that group.')); + return; + } + + $member = new Group_member(); + + $member->group_id = $group->id; + $member->profile_id = $cur->id; + + if (!$member->find(true)) { + $channel->error($cur,_('Could not find membership record.')); + return; + } + $result = $member->delete(); + if (!$result) { + common_log_db_error($member, 'INSERT', __FILE__); + $channel->error($cur, sprintf(_('Could not remove user %s to group %s'), + $cur->nickname, $group->nickname)); + return; + } + + $channel->output($cur, sprintf(_('%s left group %s'), + $cur->nickname, + $group->nickname)); + } + } class WhoisCommand extends Command @@ -396,6 +497,8 @@ class HelpCommand extends Command "get - get last notice from user\n". "whois - get profile info on user\n". "fav - add user's last notice as a 'fave'\n". + "join - join group\n". + "drop - leave group\n". "stats - get your stats\n". "stop - same as 'off'\n". "quit - same as 'off'\n". diff --git a/lib/commandinterpreter.php b/lib/commandinterpreter.php index 6538d44420..6e4340e5dc 100644 --- a/lib/commandinterpreter.php +++ b/lib/commandinterpreter.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/lib/command.php'; @@ -33,7 +33,7 @@ class CommandInterpreter # We try to support all the same commands as Twitter, see # http://getsatisfaction.com/twitter/topics/what_are_the_twitter_commands # There are a few compatibility commands from earlier versions of - # Laconica + # StatusNet switch(strtolower($cmd)) { case 'help': @@ -70,6 +70,26 @@ class CommandInterpreter } else { return new OffCommand($user); } + case 'join': + if (!$arg) { + return null; + } + list($other, $extra) = explode(' ', $arg, 2); + if ($extra) { + return null; + } else { + return new JoinCommand($user, $other); + } + case 'drop': + if (!$arg) { + return null; + } + list($other, $extra) = explode(' ', $arg, 2); + if ($extra) { + return null; + } else { + return new DropCommand($user, $other); + } case 'follow': case 'sub': if (!$arg) { diff --git a/lib/common.php b/lib/common.php index d23d9da7d1..5652e986ed 100644 --- a/lib/common.php +++ b/lib/common.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } -define('LACONICA_VERSION', '0.9.0dev'); +define('STATUSNET_VERSION', '0.9.0dev'); +define('LACONICA_VERSION', STATUSNET_VERSION); // compatibility -// XXX: move these to class variables +define('STATUSNET_CODENAME', 'Stand'); define('AVATAR_PROFILE_SIZE', 96); define('AVATAR_STREAM_SIZE', 48); @@ -49,6 +50,9 @@ require_once('PEAR.php'); require_once('DB/DataObject.php'); require_once('DB/DataObject/Cast.php'); # for dates +if (!function_exists('gettext')) { + require_once("php-gettext/gettext.inc"); +} require_once(INSTALLDIR.'/lib/language.php'); // This gets included before the config file, so that admin code and plugins @@ -93,7 +97,7 @@ if (isset($path)) { $config = array('site' => - array('name' => 'Just another Laconica microblog', + array('name' => 'Just another StatusNet microblog', 'server' => $_server, 'theme' => 'default', 'path' => $_path, @@ -119,14 +123,14 @@ $config = 'textlimit' => 140, ), 'syslog' => - array('appname' => 'laconica', # for syslog + array('appname' => 'statusnet', # for syslog 'priority' => 'debug', # XXX: currently ignored 'facility' => LOG_USER), 'queue' => array('enabled' => false, 'subsystem' => 'db', # default to database, or 'stomp' 'stomp_server' => null, - 'queue_basename' => 'laconica', + 'queue_basename' => 'statusnet', 'stomp_username' => null, 'stomp_password' => null, ), @@ -197,7 +201,7 @@ $config = 'twitterbridge' => array('enabled' => false), 'integration' => - array('source' => 'Laconica', # source attribute for Twitter + array('source' => 'StatusNet', # source attribute for Twitter 'taguri' => $_server.',2009'), # base for tag URIs 'twitter' => array('consumer_key' => null, @@ -217,7 +221,7 @@ $config = 'snapshot' => array('run' => 'web', 'frequency' => 10000, - 'reporturl' => 'http://laconi.ca/stats/report'), + 'reporturl' => 'http://status.net/stats/report'), 'attachments' => array('server' => null, 'dir' => INSTALLDIR . '/file/', @@ -345,10 +349,14 @@ function addPlugin($name, $attrs = null) if (isset($conffile)) { $_config_files = array($conffile); } else { - $_config_files = array('/etc/laconica/laconica.php', + $_config_files = array('/etc/statusnet/statusnet.php', + '/etc/statusnet/laconica.php', + '/etc/laconica/laconica.php', + '/etc/statusnet/'.$_server.'.php', '/etc/laconica/'.$_server.'.php'); if (strlen($_path) > 0) { + $_config_files[] = '/etc/statusnet/'.$_server.'_'.$_path.'.php'; $_config_files[] = '/etc/laconica/'.$_server.'_'.$_path.'.php'; } @@ -372,12 +380,12 @@ function _have_config() // XXX: Throw a conniption if database not installed -// Fixup for laconica.ini +// Fixup for statusnet.ini $_db_name = substr($config['db']['database'], strrpos($config['db']['database'], '/') + 1); -if ($_db_name != 'laconica' && !array_key_exists('ini_'.$_db_name, $config['db'])) { - $config['db']['ini_'.$_db_name] = INSTALLDIR.'/classes/laconica.ini'; +if ($_db_name != 'statusnet' && !array_key_exists('ini_'.$_db_name, $config['db'])) { + $config['db']['ini_'.$_db_name] = INSTALLDIR.'/classes/statusnet.ini'; } function __autoload($cls) diff --git a/lib/connectsettingsaction.php b/lib/connectsettingsaction.php index 7902931e03..e5fb8727ba 100644 --- a/lib/connectsettingsaction.php +++ b/lib/connectsettingsaction.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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/settingsaction.php'; * Base class for connection settings actions * * @category Settings - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 */ @@ -66,10 +66,10 @@ class ConnectSettingsAction extends SettingsAction * A widget for showing the connect group local nav menu * * @category Widget - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 HTMLOutputter */ diff --git a/lib/currentuserdesignaction.php b/lib/currentuserdesignaction.php index 52516b624a..c2f38cd00b 100644 --- a/lib/currentuserdesignaction.php +++ b/lib/currentuserdesignaction.php @@ -1,6 +1,6 @@ . * * @category Action - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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,10 +38,10 @@ if (!defined('LACONICA')) { * design. This superclass returns that design. * * @category Action - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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/ * */ diff --git a/lib/daemon.php b/lib/daemon.php index 231f5414e9..4c2491e97b 100644 --- a/lib/daemon.php +++ b/lib/daemon.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/dberroraction.php b/lib/dberroraction.php index a04e5f74f7..2cb66a022d 100644 --- a/lib/dberroraction.php +++ b/lib/dberroraction.php @@ -5,14 +5,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Zach Copley + * @package StatusNet + * @author Evan Prodromou + * @author Zach Copley * @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 . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } @@ -42,10 +42,10 @@ require_once INSTALLDIR.'/lib/servererroraction.php'; * to the DB, so we don't trigger it again. * * @category Action - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class DBErrorAction extends ServerErrorAction diff --git a/lib/dbqueuemanager.php b/lib/dbqueuemanager.php index 19aa9f3aeb..750300928e 100644 --- a/lib/dbqueuemanager.php +++ b/lib/dbqueuemanager.php @@ -1,6 +1,6 @@ . * * @category QueueManager - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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 DBQueueManager extends QueueManager diff --git a/lib/deleteaction.php b/lib/deleteaction.php index 91c6487a98..f702820c61 100644 --- a/lib/deleteaction.php +++ b/lib/deleteaction.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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); } diff --git a/lib/designsettings.php b/lib/designsettings.php index a48ec9d227..fe42225974 100644 --- a/lib/designsettings.php +++ b/lib/designsettings.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica - * @author Sarven Capadisli - * @author Zach Copley - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Sarven Capadisli + * @author Zach Copley + * @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/webcolor.php'; * background images, and fetching a default design * * @category Settings - * @package Laconica - * @author Zach Copley - * @author Sarven Capadisli + * @package StatusNet + * @author Zach Copley + * @author Sarven Capadisli * @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 DesignSettingsAction extends AccountSettingsAction @@ -326,6 +326,7 @@ class DesignSettingsAction extends AccountSettingsAction $this->script('js/farbtastic/farbtastic.js'); $this->script('js/farbtastic/farbtastic.go.js'); + $this->script('js/userdesign.go.js'); } /** diff --git a/lib/disfavorform.php b/lib/disfavorform.php index 45a9ddb1d4..5b135b38ad 100644 --- a/lib/disfavorform.php +++ b/lib/disfavorform.php @@ -1,6 +1,6 @@ . * * @category Form - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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/form.php'; * Form for disfavoring a notice * * @category Form - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli * @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 FavorForm */ diff --git a/lib/error.php b/lib/error.php index 3127c83feb..0c521db081 100644 --- a/lib/error.php +++ b/lib/error.php @@ -6,14 +6,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Zach Copley + * @package StatusNet + * @author Evan Prodromou + * @author Zach Copley * @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 . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } @@ -37,10 +37,10 @@ if (!defined('LACONICA')) { * Base class for displaying HTTP errors * * @category Action - * @package Laconica - * @author Zach Copley + * @package StatusNet + * @author Zach Copley * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class ErrorAction extends Action { diff --git a/lib/event.php b/lib/event.php index 4ccee17e66..4819b71b4c 100644 --- a/lib/event.php +++ b/lib/event.php @@ -1,6 +1,6 @@ . * * @category Event - * @package Laconica - * @author Evan Prodromou - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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); } /** * Class for events * - * This "class" two static functions for managing events in the Laconica code. + * This "class" two static functions for managing events in the StatusNet code. * * @category Event - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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/ * * @todo Define a system for using Event instances */ @@ -54,7 +54,7 @@ class Event { /** * Add an event handler * - * To run some code at a particular point in Laconica processing. + * To run some code at a particular point in StatusNet processing. * Named events include receiving an XMPP message, adding a new notice, * or showing part of an HTML page. * diff --git a/lib/facebookaction.php b/lib/facebookaction.php index 1e0b2bda7a..411f795945 100644 --- a/lib/facebookaction.php +++ b/lib/facebookaction.php @@ -1,6 +1,6 @@ . * * @category Faceboook - * @package Laconica - * @author Zach Copley - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Zach Copley + * @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); } @@ -95,6 +95,7 @@ class FacebookAction extends Action function showStylesheets() { $this->cssLink('css/display.css', 'base'); + $this->cssLink('css/display.css',null,'screen, projection, tv'); $this->cssLink('css/facebookapp.css', 'base'); } @@ -363,7 +364,7 @@ class FacebookAction extends Action display:inline-block; } - #facebook_laconica_app { + #facebook_statusnet_app { text-indent:-9999px; height:16px; width:16px; @@ -662,7 +663,7 @@ class FacebookProfileBoxNotice extends FacebookNoticeListItem $this->app_uri = 'http://apps.facebook.com/' . $app_props['canvas_name']; $this->app_name = $app_props['application_name']; - $this->out->elementStart('a', array('id' => 'facebook_laconica_app', + $this->out->elementStart('a', array('id' => 'facebook_statusnet_app', 'href' => $this->app_uri)); $this->out->text($this->app_name); $this->out->elementEnd('a'); diff --git a/lib/facebookutil.php b/lib/facebookutil.php index e31a71f5eb..f5121609d6 100644 --- a/lib/facebookutil.php +++ b/lib/facebookutil.php @@ -1,7 +1,7 @@ api_client->users_hasAppPermission('status_update', $fbuid); - if (!empty($attachments) && $can_publish == 1) { $fbattachment = format_attachments($attachments); $facebook->api_client->stream_publish($status, $fbattachment, @@ -178,20 +177,42 @@ function format_attachments($attachments) $fbattachment = array(); $fbattachment['media'] = array(); - // Facebook only supports one attachment per item + foreach($attachments as $attachment) + { + if($enclosure = $attachment->getEnclosure()){ + $fbmedia = get_fbmedia_for_attachment($enclosure); + }else{ + $fbmedia = get_fbmedia_for_attachment($attachment); + } + if($fbmedia){ + $fbattachment['media'][]=$fbmedia; + }else{ + $fbattachment['name'] = ($attachment->title ? + $attachment->title : $attachment->url); + $fbattachment['href'] = $attachment->url; + } + } + if(count($fbattachment['media'])>0){ + unset($fbattachment['name']); + unset($fbattachment['href']); + } + return $fbattachment; +} - $attachment = $attachments[0]; +/** +* given an File objects, returns an associative array suitable for Facebook media +*/ +function get_fbmedia_for_attachment($attachment) +{ $fbmedia = array(); if (strncmp($attachment->mimetype, 'image/', strlen('image/')) == 0) { $fbmedia['type'] = 'image'; $fbmedia['src'] = $attachment->url; $fbmedia['href'] = $attachment->url; - $fbattachment['media'][] = $fbmedia; } else if ($attachment->mimetype == 'audio/mpeg') { $fbmedia['type'] = 'mp3'; $fbmedia['src'] = $attachment->url; - $fbattachment['media'][] = $fbmedia; }else if ($attachment->mimetype == 'application/x-shockwave-flash') { $fbmedia['type'] = 'flash'; @@ -200,14 +221,10 @@ function format_attachments($attachments) // $fbmedia['imgsrc']=''; $fbmedia['swfsrc'] = $attachment->url; - $fbattachment['media'][] = $fbmedia; }else{ - $fbattachment['name'] = ($attachment->title ? - $attachment->title : $attachment->url); - $fbattachment['href'] = $attachment->url; + return false; } - - return $fbattachment; + return $fbmedia; } function remove_facebook_app($flink) diff --git a/lib/favorform.php b/lib/favorform.php index f3a7a97569..625df7c8b5 100644 --- a/lib/favorform.php +++ b/lib/favorform.php @@ -1,6 +1,6 @@ . * * @category Form - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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/form.php'; * Form for favoring a notice * * @category Form - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli * @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 DisfavorForm */ diff --git a/lib/featureduserssection.php b/lib/featureduserssection.php index 4b9238d471..f0753a25ed 100644 --- a/lib/featureduserssection.php +++ b/lib/featureduserssection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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); } @@ -35,10 +35,10 @@ if (!defined('LACONICA')) { * Section for featured users * * @category Widget - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 FeaturedUsersSection extends ProfileSection diff --git a/lib/feed.php b/lib/feed.php index 466926844e..e9fb6fdff3 100644 --- a/lib/feed.php +++ b/lib/feed.php @@ -1,6 +1,6 @@ . * * @category Feed - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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,11 +37,11 @@ if (!defined('LACONICA')) { * This structure is a helpful container for shipping around information about syndication feeds. * * @category Feed - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli * @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 Feed diff --git a/lib/feedlist.php b/lib/feedlist.php index 927e43c330..9ae83f5e88 100644 --- a/lib/feedlist.php +++ b/lib/feedlist.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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); } @@ -38,11 +38,11 @@ if (!defined('LACONICA')) { * Typically used for Action::showExportList() * * @category Widget - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli * @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::showExportList() */ diff --git a/lib/form.php b/lib/form.php index f872aef0b5..87b7a5cba9 100644 --- a/lib/form.php +++ b/lib/form.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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); } @@ -41,11 +41,11 @@ require_once INSTALLDIR.'/lib/widget.php'; * lets us abstract out the basic features of the form. * * @category Widget - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli * @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 HTMLOutputter */ diff --git a/lib/galleryaction.php b/lib/galleryaction.php index b389fc00f8..18cc7b9295 100644 --- a/lib/galleryaction.php +++ b/lib/galleryaction.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/groupdesignaction.php b/lib/groupdesignaction.php index c7cdff1fe9..3eb3964e87 100644 --- a/lib/groupdesignaction.php +++ b/lib/groupdesignaction.php @@ -1,6 +1,6 @@ . * * @category Action - * @package Laconica - * @author Zach Copley - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Zach Copley + * @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,10 +38,10 @@ if (!defined('LACONICA')) { * This superclass returns that design. * * @category Action - * @package Laconica - * @author Zach Copley + * @package StatusNet + * @author Zach Copley * @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 GroupDesignAction extends Action { diff --git a/lib/groupeditform.php b/lib/groupeditform.php index 47e62d469e..433f6a1387 100644 --- a/lib/groupeditform.php +++ b/lib/groupeditform.php @@ -1,6 +1,6 @@ . * * @category Form - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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/form.php'; * Form for editing a group * * @category Form - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli * @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 UnsubscribeForm */ diff --git a/lib/grouplist.php b/lib/grouplist.php index 1ded5160bd..b41c5b5f84 100644 --- a/lib/grouplist.php +++ b/lib/grouplist.php @@ -1,7 +1,7 @@ . * * @category Public - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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('GROUPS_PER_PAGE', 20); * Widget to show a list of groups * * @category Public - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 GroupList extends Widget diff --git a/lib/groupminilist.php b/lib/groupminilist.php index ae2d237f1d..dff81eff53 100644 --- a/lib/groupminilist.php +++ b/lib/groupminilist.php @@ -1,6 +1,6 @@ . * * @category Public - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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 @@ define('GROUPS_PER_MINILIST', 27); * Widget to show a list of groups, good for sidebar * * @category Public - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 GroupMiniList extends GroupList diff --git a/lib/groupnav.php b/lib/groupnav.php index 9e530c447c..31cf378c8a 100644 --- a/lib/groupnav.php +++ b/lib/groupnav.php @@ -1,6 +1,6 @@ . * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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); } @@ -40,11 +40,11 @@ require_once INSTALLDIR.'/lib/widget.php'; * Shows a group of tabs for a particular user group * * @category Output - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli * @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 HTMLOutputter */ diff --git a/lib/groupsbymemberssection.php b/lib/groupsbymemberssection.php index ad4884bf8b..19b35eddb8 100644 --- a/lib/groupsbymemberssection.php +++ b/lib/groupsbymemberssection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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); } @@ -35,10 +35,10 @@ if (!defined('LACONICA')) { * Groups with the most members section * * @category Widget - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 GroupsByMembersSection extends GroupSection diff --git a/lib/groupsbypostssection.php b/lib/groupsbypostssection.php index dc7925d5e5..45d49aba66 100644 --- a/lib/groupsbypostssection.php +++ b/lib/groupsbypostssection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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); } @@ -35,10 +35,10 @@ if (!defined('LACONICA')) { * Groups with the most posts section * * @category Widget - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 GroupsByPostsSection extends GroupSection diff --git a/lib/groupsection.php b/lib/groupsection.php index c192994937..7327f9e1a0 100644 --- a/lib/groupsection.php +++ b/lib/groupsection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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); } @@ -40,10 +40,10 @@ define('GROUPS_PER_SECTION', 6); * group, or site. * * @category Widget - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 GroupSection extends Section diff --git a/lib/grouptagcloudsection.php b/lib/grouptagcloudsection.php index 0e0cbdd63d..091cf48457 100644 --- a/lib/grouptagcloudsection.php +++ b/lib/grouptagcloudsection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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); } @@ -35,10 +35,10 @@ if (!defined('LACONICA')) { * Group tag cloud section * * @category Widget - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 GroupTagCloudSection extends TagCloudSection diff --git a/lib/htmloutputter.php b/lib/htmloutputter.php index 683a5e0b71..8ad7dc20fa 100644 --- a/lib/htmloutputter.php +++ b/lib/htmloutputter.php @@ -1,6 +1,6 @@ . * * @category Output - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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); } @@ -47,11 +47,11 @@ define('PAGE_TYPE_PREFS', * HTML-creation class. * * @category Output - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli * @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 * @see XMLOutputter @@ -352,7 +352,7 @@ class HTMLOutputter extends XMLOutputter $url = parse_url($src); if( empty($url->scheme) && empty($url->host) && empty($url->query) && empty($url->fragment)) { - $src = common_path($src) . '?version=' . LACONICA_VERSION; + $src = common_path($src) . '?version=' . STATUSNET_VERSION; } $this->element('script', array('type' => $type, 'src' => $src), @@ -374,7 +374,7 @@ class HTMLOutputter extends XMLOutputter if( empty($url->scheme) && empty($url->host) && empty($url->query) && empty($url->fragment)) { if(file_exists(theme_file($src,$theme))){ - $src = theme_path($src, $theme) . '?version=' . LACONICA_VERSION; + $src = theme_path($src, $theme) . '?version=' . STATUSNET_VERSION; }else{ $src = common_path($src); } diff --git a/lib/imagefile.php b/lib/imagefile.php index 52e4c4b227..88f4614814 100644 --- a/lib/imagefile.php +++ b/lib/imagefile.php @@ -1,6 +1,6 @@ . * * @category Image - * @package Laconica - * @author Evan Prodromou - * @author Zach Copley - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Zach Copley + * @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 @@ if (!defined('LACONICA')) { * Makes it slightly easier to accept an image file from upload. * * @category Image - * @package Laconica - * @author Evan Prodromou - * @author Zach Copley + * @package StatusNet + * @author Evan Prodromou + * @author Zach Copley * @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 ImageFile diff --git a/lib/jabber.php b/lib/jabber.php index e15076160f..3dcdce5dbf 100644 --- a/lib/jabber.php +++ b/lib/jabber.php @@ -1,6 +1,6 @@ . * * @category Network - * @package Laconica - * @author Evan Prodromou - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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); } @@ -67,7 +67,7 @@ function jabber_normalize_jid($jid) } /** - * the JID of the Jabber daemon for this Laconica instance + * the JID of the Jabber daemon for this StatusNet instance * * @return string JID of the Jabber daemon */ @@ -309,7 +309,7 @@ function jabber_special_presence($type, $to=null, $show=null, $status=null) * who have Jabber addresses, and have Jabber notification enabled, and * have this subscription enabled for Jabber. It also sends the notice to * all recipients of @-replies who have Jabber addresses and Jabber notification - * enabled. This is really the heart of Jabber distribution in Laconica. + * enabled. This is really the heart of Jabber distribution in StatusNet. * * @param Notice $notice The notice to broadcast * diff --git a/lib/joinform.php b/lib/joinform.php index 1edb2f72dc..aefb553aac 100644 --- a/lib/joinform.php +++ b/lib/joinform.php @@ -1,6 +1,6 @@ . * * @category Form - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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/form.php'; * Form for joining a group * * @category Form - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli * @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 UnsubscribeForm */ diff --git a/lib/jsonsearchresultslist.php b/lib/jsonsearchresultslist.php index 34a3d530e8..569bfa8734 100644 --- a/lib/jsonsearchresultslist.php +++ b/lib/jsonsearchresultslist.php @@ -1,6 +1,6 @@ . * * @category Search - * @package Laconica - * @author Zach Copley - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Zach Copley + * @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); } @@ -35,10 +35,10 @@ if (!defined('LACONICA')) { * widget-like class for showing JSON search results * * @category Search - * @package Laconica - * @author Zach Copley + * @package StatusNet + * @author Zach Copley * @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/ * */ @@ -147,10 +147,10 @@ class JSONSearchResultsList * widget for displaying a single JSON search result * * @category UI - * @package Laconica - * @author Zach Copley + * @package StatusNet + * @author Zach Copley * @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 JSONSearchResultsList */ diff --git a/lib/language.php b/lib/language.php index 9ad2d31bd4..561a4ddb82 100644 --- a/lib/language.php +++ b/lib/language.php @@ -1,6 +1,6 @@ . * * @category I18n - * @package Laconica + * @package StatusNet * @author Matthew Gregg * @author Ciaran Gultnieks - * @author Evan Prodromou + * @author Evan Prodromou * @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); } diff --git a/lib/leaveform.php b/lib/leaveform.php index 696559a25e..e63d96ee80 100644 --- a/lib/leaveform.php +++ b/lib/leaveform.php @@ -1,6 +1,6 @@ . * * @category Form - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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/form.php'; * Form for leaving a group * * @category Form - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli * @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 UnsubscribeForm */ diff --git a/lib/logingroupnav.php b/lib/logingroupnav.php index 59f3133025..b545fbf269 100644 --- a/lib/logingroupnav.php +++ b/lib/logingroupnav.php @@ -1,6 +1,6 @@ . * * @category Menu - * @package Laconica - * @author Evan Prodromou - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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/widget.php'; * Menu for login group of actions * * @category Output - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 */ diff --git a/lib/mail.php b/lib/mail.php index 2e471fd6d9..df585406cc 100644 --- a/lib/mail.php +++ b/lib/mail.php @@ -1,6 +1,6 @@ . * * @category Mail - * @package Laconica - * @author Evan Prodromou - * @author Zach Copley - * @author Robin Millette - * @author Sarven Capadisli - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Zach Copley + * @author Robin Millette + * @author Sarven Capadisli + * @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); } @@ -692,11 +692,11 @@ function mail_facebook_app_removed($user) $site_name = common_config('site', 'name'); $subject = sprintf( - _('Your %1\$s Facebook application access has been disabled.', + _('Your %1$s Facebook application access has been disabled.', $site_name)); $body = sprintf(_("Hi, %1\$s. We're sorry to inform you that we are " . - 'unable to update your Facebook status from %2\$s, and have disabled ' . + 'unable to update your Facebook status from %2$s, and have disabled ' . 'the Facebook application for your account. This may be because ' . 'you have removed the Facebook application\'s authorization, or ' . 'have deleted your Facebook account. You can re-enable the ' . diff --git a/lib/mailbox.php b/lib/mailbox.php index f1f6e98c19..e1d384a063 100644 --- a/lib/mailbox.php +++ b/lib/mailbox.php @@ -1,6 +1,6 @@ . * * @category Message - * @package Laconica - * @author Evan Prodromou - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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 @@ define('MESSAGES_PER_PAGE', 20); * common superclass for direct messages inbox and outbox * * @category Message - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 InboxAction * @see OutboxAction */ @@ -213,26 +213,20 @@ class MailboxAction extends CurrentUserDesignAction } $this->elementStart('div', 'entry-content'); - $this->elementStart('dl', 'timestamp'); - $this->element('dt', null, _('Published')); - $this->elementStart('dd', null); - $dt = common_date_iso8601($message->created); $this->elementStart('a', array('rel' => 'bookmark', + 'class' => 'timestamp', 'href' => $messageurl)); + $dt = common_date_iso8601($message->created); $this->element('abbr', array('class' => 'published', 'title' => $dt), common_date_string($message->created)); $this->elementEnd('a'); - $this->elementEnd('dd'); - $this->elementEnd('dl'); if ($message->source) { - $this->elementStart('dl', 'device'); - $this->elementStart('dt'); - $this->text(_('From')); - $this->elementEnd('dt'); - $this->showSource($message->source); - $this->elementEnd('dl'); + $this->elementStart('span', 'source'); + $this->text(_('from')); + $this->element('span', 'device', $this->showSource($message->source)); + $this->elementEnd('span'); } $this->elementEnd('div'); @@ -277,18 +271,18 @@ class MailboxAction extends CurrentUserDesignAction case 'mail': case 'omb': case 'api': - $this->element('dd', null, $source_name); + $this->element('span', 'device', $source_name); break; default: $ns = Notice_source::staticGet($source); if ($ns) { - $this->elementStart('dd', null); + $this->elementStart('span', 'device'); $this->element('a', array('href' => $ns->url, - 'rel' => 'external'), - $ns->name); - $this->elementEnd('dd'); + 'rel' => 'external'), + $ns->name); + $this->elementEnd('span'); } else { - $this->element('dd', null, $source_name); + $this->out->element('span', 'device', $source_name); } break; } diff --git a/lib/messageform.php b/lib/messageform.php index 044fdc719d..e25ebfa08f 100644 --- a/lib/messageform.php +++ b/lib/messageform.php @@ -1,6 +1,6 @@ . * * @category Form - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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/form.php'; * Form for posting a direct message * * @category Form - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli * @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 HTMLOutputter */ diff --git a/lib/microid.php b/lib/microid.php index 806b7ee7da..e2e7d7607f 100644 --- a/lib/microid.php +++ b/lib/microid.php @@ -1,6 +1,6 @@ . * * @category ID - * @package Laconica - * @author Evan Prodromou - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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); } @@ -35,10 +35,10 @@ if (!defined('LACONICA')) { * A class for microids * * @category ID - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 http://microid.org/ */ diff --git a/lib/noticeform.php b/lib/noticeform.php index 35a21c6bd0..cee46709e1 100644 --- a/lib/noticeform.php +++ b/lib/noticeform.php @@ -1,6 +1,6 @@ . * * @category Form - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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); } @@ -40,11 +40,11 @@ require_once INSTALLDIR.'/lib/form.php'; * Frequently-used form for posting a notice * * @category Form - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli * @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 HTMLOutputter */ diff --git a/lib/noticelist.php b/lib/noticelist.php index 5429d943f1..ec85e4a5c1 100644 --- a/lib/noticelist.php +++ b/lib/noticelist.php @@ -1,6 +1,6 @@ . * * @category UI - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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); } @@ -45,10 +45,10 @@ require_once INSTALLDIR.'/lib/attachmentlist.php'; * data for e.g. the profile page. * * @category UI - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 Notice * @see NoticeListItem * @see ProfileNoticeList @@ -133,10 +133,10 @@ class NoticeList extends Widget * author info (since that's implicit by the data in the page). * * @category UI - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 NoticeList * @see ProfileNoticeListItem */ diff --git a/lib/noticesection.php b/lib/noticesection.php index ca14326861..b223932efe 100644 --- a/lib/noticesection.php +++ b/lib/noticesection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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); } @@ -40,10 +40,10 @@ define('NOTICES_PER_SECTION', 6); * group, or site. * * @category Widget - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 NoticeSection extends Section diff --git a/lib/nudgeform.php b/lib/nudgeform.php index 7380462a7d..3f13b58462 100644 --- a/lib/nudgeform.php +++ b/lib/nudgeform.php @@ -1,6 +1,6 @@ . * * @category Form - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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/form.php'; * Form for nudging a user * * @category Form - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli * @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 DisfavorForm */ diff --git a/lib/oauthclient.php b/lib/oauthclient.php index b66a24be44..f1827726e7 100644 --- a/lib/oauthclient.php +++ b/lib/oauthclient.php @@ -1,6 +1,6 @@ . * * @category Action - * @package Laconica - * @author Zach Copley - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Zach Copley + * @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,10 +37,10 @@ require_once 'OAuth.php'; * Exception wrapper for cURL errors * * @category Integration - * @package Laconica - * @author Zach Copley + * @package StatusNet + * @author Zach Copley * @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 OAuthClientCurlException extends Exception @@ -51,10 +51,10 @@ class OAuthClientCurlException extends Exception * Base class for doing OAuth calls as a consumer * * @category Integration - * @package Laconica - * @author Zach Copley + * @package StatusNet + * @author Zach Copley * @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 OAuthClient @@ -191,7 +191,7 @@ class OAuthClient CURLOPT_FAILONERROR => true, CURLOPT_HEADER => false, CURLOPT_FOLLOWLOCATION => true, - CURLOPT_USERAGENT => 'Laconica', + CURLOPT_USERAGENT => 'StatusNet', CURLOPT_CONNECTTIMEOUT => 120, CURLOPT_TIMEOUT => 120, CURLOPT_HTTPAUTH => CURLAUTH_ANY, diff --git a/lib/oauthstore.php b/lib/oauthstore.php index 87d8cf2137..e69a00f55f 100644 --- a/lib/oauthstore.php +++ b/lib/oauthstore.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { - exit(1); -} +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once 'libomb/datastore.php'; -class LaconicaDataStore extends OMB_Datastore +class StatusNetOAuthDataStore extends OAuthDataStore { // We keep a record of who's contacted us diff --git a/lib/omb.php b/lib/omb.php index b9d0eef64e..0566701ff1 100644 --- a/lib/omb.php +++ b/lib/omb.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { - exit(1); -} +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/lib/oauthstore.php'; require_once 'OAuth.php'; @@ -52,7 +50,7 @@ function omb_oauth_datastore() { static $store = null; if (is_null($store)) { - $store = new LaconicaDataStore(); + $store = new StatusNetOAuthDataStore(); } return $store; } @@ -137,7 +135,7 @@ function omb_broadcast_profile($profile) common_debug('Posting to ' . $rp->updateprofileurl, __FILE__); /* Update profile. */ - $service = new Laconica_OMB_Service_Consumer( + $service = new StatusNet_OMB_Service_Consumer( array(OMB_ENDPOINT_UPDATEPROFILE => $rp->updateprofileurl)); try { $service->setToken($rp->token, $rp->secret); @@ -155,7 +153,7 @@ function omb_broadcast_profile($profile) return; } -class Laconica_OMB_Service_Consumer extends OMB_Service_Consumer { +class StatusNet_OMB_Service_Consumer extends OMB_Service_Consumer { public function __construct($urls) { $this->services = $urls; diff --git a/lib/ownerdesignaction.php b/lib/ownerdesignaction.php index b42df926d0..d557f10c06 100644 --- a/lib/ownerdesignaction.php +++ b/lib/ownerdesignaction.php @@ -1,6 +1,6 @@ . * * @category Action - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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); } @@ -39,10 +39,10 @@ if (!defined('LACONICA')) { * design. * * @category Action - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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/ * */ diff --git a/lib/parallelizingdaemon.php b/lib/parallelizingdaemon.php index dc28b56435..517115de04 100644 --- a/lib/parallelizingdaemon.php +++ b/lib/parallelizingdaemon.php @@ -1,6 +1,6 @@ . * * @category Daemon - * @package Laconica - * @author Zach Copley - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Zach Copley + * @author Evan Prodromou + * @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 @@ declare(ticks = 1); * Daemon able to spawn multiple child processes to do work in parallel * * @category Daemon - * @package Laconica - * @author Zach Copley - * @author Evan Prodromou + * @package StatusNet + * @author Zach Copley + * @author Evan Prodromou * @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 ParallelizingDaemon extends Daemon diff --git a/lib/personalgroupnav.php b/lib/personalgroupnav.php index acc0336673..cdde1feca0 100644 --- a/lib/personalgroupnav.php +++ b/lib/personalgroupnav.php @@ -1,6 +1,6 @@ . * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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); } @@ -44,11 +44,11 @@ require_once INSTALLDIR.'/lib/widget.php'; * model classes to read and write to the database; and doing ouput. * * @category Output - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli * @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 HTMLOutputter */ diff --git a/lib/personaltagcloudsection.php b/lib/personaltagcloudsection.php index 978153a84e..0b29d58ca6 100644 --- a/lib/personaltagcloudsection.php +++ b/lib/personaltagcloudsection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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); } @@ -35,10 +35,10 @@ if (!defined('LACONICA')) { * Personal tag cloud section * * @category Widget - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 PersonalTagCloudSection extends TagCloudSection diff --git a/lib/ping.php b/lib/ping.php index d26c734175..175bf8440b 100644 --- a/lib/ping.php +++ b/lib/ping.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } function ping_broadcast_notice($notice) { @@ -47,7 +47,7 @@ function ping_broadcast_notice($notice) { $context = stream_context_create(array('http' => array('method' => "POST", 'header' => "Content-Type: text/xml\r\n". - "User-Agent: Laconica/".LACONICA_VERSION."\r\n", + "User-Agent: StatusNet/".STATUSNET_VERSION."\r\n", 'content' => $req))); $file = file_get_contents($notify_url, false, $context); @@ -81,11 +81,11 @@ function ping_broadcast_notice($notice) { if ($type === 'get') { $result = $fetcher->get($notify_url . '?' . http_build_query($args), - array('User-Agent: Laconica/'.LACONICA_VERSION)); + array('User-Agent: StatusNet/'.STATUSNET_VERSION)); } else { $result = $fetcher->post($notify_url, http_build_query($args), - array('User-Agent: Laconica/'.LACONICA_VERSION)); + array('User-Agent: StatusNet/'.STATUSNET_VERSION)); } if ($result->status != '200') { common_log(LOG_WARNING, diff --git a/lib/plugin.php b/lib/plugin.php index 7b2436e543..59bf3ba9d6 100644 --- a/lib/plugin.php +++ b/lib/plugin.php @@ -1,6 +1,6 @@ . * * @category Plugin - * @package Laconica - * @author Evan Prodromou - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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); } /** * Base class for plugins * - * A base class for Laconica plugins. Mostly a light wrapper around + * A base class for StatusNet plugins. Mostly a light wrapper around * the Event framework. * * Subclasses of Plugin will automatically handle an event if they define @@ -45,10 +45,10 @@ if (!defined('LACONICA')) { * initialize() and cleanup() methods, respectively. * * @category Plugin - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 Event */ @@ -76,4 +76,18 @@ class Plugin { return true; } + + /* + * the name of the shortener + * shortenerInfo associative array with additional information. One possible element is 'freeService' which can be true or false + * shortener array, first element is the name of the class, second element is an array to be passed as constructor parameters to the class + */ + function registerUrlShortener($name, $shortenerInfo, $shortener) + { + global $_shorteners; + if(!is_array($_shorteners)){ + $_shorteners=array(); + } + $_shorteners[$name]=array('info'=>$shortenerInfo, 'callInfo'=>$shortener); + } } diff --git a/lib/popularnoticesection.php b/lib/popularnoticesection.php index 167a6ff8df..35b914a50c 100644 --- a/lib/popularnoticesection.php +++ b/lib/popularnoticesection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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,10 +38,10 @@ if (!defined('LACONICA')) { * group, or site. * * @category Widget - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 PopularNoticeSection extends NoticeSection diff --git a/lib/profileaction.php b/lib/profileaction.php index 9e9c79c78a..e3a39ad8b7 100644 --- a/lib/profileaction.php +++ b/lib/profileaction.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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 @@ require_once INSTALLDIR.'/lib/groupminilist.php'; * Abstracts out common code from profile and personal tabs * * @category Personal - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 ProfileAction extends OwnerDesignAction diff --git a/lib/profilelist.php b/lib/profilelist.php index 774538a4b6..331430b3ef 100644 --- a/lib/profilelist.php +++ b/lib/profilelist.php @@ -1,7 +1,7 @@ . * * @category Public - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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/widget.php'; * Widget to show a list of profiles * * @category Public - * @package Laconica - * @author Zach Copley - * @author Evan Prodromou + * @package StatusNet + * @author Zach Copley + * @author Evan Prodromou * @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 ProfileList extends Widget diff --git a/lib/profileminilist.php b/lib/profileminilist.php index 357b4a2db4..079170d802 100644 --- a/lib/profileminilist.php +++ b/lib/profileminilist.php @@ -1,6 +1,6 @@ . * * @category Public - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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 @@ define('PROFILES_PER_MINILIST', 27); * Widget to show a list of profiles, good for sidebar * * @category Public - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 ProfileMiniList extends ProfileList diff --git a/lib/profilesection.php b/lib/profilesection.php index d463a07b08..504b1b7f75 100644 --- a/lib/profilesection.php +++ b/lib/profilesection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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); } @@ -40,10 +40,10 @@ define('PROFILES_PER_SECTION', 6); * group, or site. * * @category Widget - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 ProfileSection extends Section diff --git a/lib/publicgroupnav.php b/lib/publicgroupnav.php index 485d25e204..ae9cbdebb4 100644 --- a/lib/publicgroupnav.php +++ b/lib/publicgroupnav.php @@ -1,6 +1,6 @@ . * * @category Menu - * @package Laconica - * @author Evan Prodromou - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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,11 +37,11 @@ require_once INSTALLDIR.'/lib/widget.php'; * Menu for public group of actions * * @category Output - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli * @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 */ diff --git a/lib/queuehandler.php b/lib/queuehandler.php index f11e5bd90d..8c65a97c66 100644 --- a/lib/queuehandler.php +++ b/lib/queuehandler.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/lib/daemon.php'); require_once(INSTALLDIR.'/classes/Queue_item.php'); @@ -75,6 +75,7 @@ class QueueHandler extends Daemon function run() { if (!$this->start()) { + $this->log(LOG_WARNING, 'failed to start'); return false; } @@ -87,9 +88,15 @@ class QueueHandler extends Daemon $qm->service($queue, $this); + $this->log(LOG_INFO, 'finished servicing the queue'); + if (!$this->finish()) { + $this->log(LOG_WARNING, 'failed to clean up'); return false; } + + $this->log(LOG_INFO, 'terminating normally'); + return true; } diff --git a/lib/queuemanager.php b/lib/queuemanager.php index 582c247901..43105b7a86 100644 --- a/lib/queuemanager.php +++ b/lib/queuemanager.php @@ -1,6 +1,6 @@ . * * @category QueueManager - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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 QueueManager diff --git a/lib/router.php b/lib/router.php index 5bffdb16bf..f122c2b647 100644 --- a/lib/router.php +++ b/lib/router.php @@ -1,6 +1,6 @@ . * * @category URL - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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); } @@ -39,10 +39,10 @@ require_once 'Net/URL/Mapper.php'; * Cheap wrapper around Net_URL_Mapper * * @category URL - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 Router @@ -388,30 +388,36 @@ class Router array('action' => 'api', 'apiaction' => 'help')); - // laconica + // statusnet + + $m->connect('api/statusnet/:method', + array('action' => 'api', + 'apiaction' => 'statusnet')); + + // For older methods, we provide "laconica" base action $m->connect('api/laconica/:method', array('action' => 'api', - 'apiaction' => 'laconica')); + 'apiaction' => 'statusnet')); - $m->connect('api/laconica/:method', - array('action' => 'api', - 'apiaction' => 'laconica')); + // Groups and tags are newer than 0.8.1 so no backward-compatibility + // necessary // Groups //'list' has to be handled differently, as php will not allow a method to be named 'list' - $m->connect('api/laconica/groups/list/:argument', + $m->connect('api/statusnet/groups/list/:argument', array('action' => 'api', 'method' => 'list_groups', 'apiaction' => 'groups')); + foreach (array('xml', 'json', 'rss', 'atom') as $e) { - $m->connect('api/laconica/groups/list.' . $e, + $m->connect('api/statusnet/groups/list.' . $e, array('action' => 'api', 'method' => 'list_groups.' . $e, 'apiaction' => 'groups')); } - $m->connect('api/laconica/groups/:method', + $m->connect('api/statusnet/groups/:method', array('action' => 'api', 'apiaction' => 'statuses'), array('method' => '(list_all|)(\.(atom|rss|xml|json))?')); @@ -421,20 +427,20 @@ class Router 'apiaction' => 'statuses'), array('method' => '(|user_timeline|friends_timeline|replies|mentions|show|destroy|friends|followers)')); - $m->connect('api/laconica/groups/:method/:argument', + $m->connect('api/statusnet/groups/:method/:argument', array('action' => 'api', 'apiaction' => 'groups')); - $m->connect('api/laconica/groups/:method', + $m->connect('api/statusnet/groups/:method', array('action' => 'api', 'apiaction' => 'groups')); // Tags - $m->connect('api/laconica/tags/:method/:argument', + $m->connect('api/statusnet/tags/:method/:argument', array('action' => 'api', 'apiaction' => 'tags')); - $m->connect('api/laconica/tags/:method', + $m->connect('api/statusnet/tags/:method', array('action' => 'api', 'apiaction' => 'tags')); diff --git a/lib/rssaction.php b/lib/rssaction.php index 0aca965664..dd0f1005af 100644 --- a/lib/rssaction.php +++ b/lib/rssaction.php @@ -1,6 +1,6 @@ . * * @category Mail - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @author Earle Martin - * @copyright 2008-9 Control Yourself, Inc. + * @copyright 2008-9 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('DEFAULT_RSS_LIMIT', 48); @@ -102,7 +102,7 @@ class Rss10Action extends Action if (!isset($_SERVER['PHP_AUTH_USER'])) { # This header makes basic auth go - header('WWW-Authenticate: Basic realm="Laconica RSS"'); + header('WWW-Authenticate: Basic realm="StatusNet RSS"'); # If the user hits cancel -- bam! $this->show_basic_auth_error(); @@ -244,7 +244,7 @@ class Rss10Action extends Action $this->element('dc:creator', null, ($profile->fullname) ? $profile->fullname : $profile->nickname); $this->element('foaf:maker', array('rdf:resource' => $creator_uri)); $this->element('sioc:has_creator', array('rdf:resource' => $creator_uri.'#acct')); - $this->element('laconica:postIcon', array('rdf:resource' => $profile->avatarUrl())); + $this->element('statusnet:postIcon', array('rdf:resource' => $profile->avatarUrl())); $this->element('cc:licence', array('rdf:resource' => common_config('license', 'url'))); if ($notice->reply_to) { $replyurl = common_local_url('shownotice', array('notice' => $notice->reply_to)); @@ -258,26 +258,27 @@ class Rss10Action extends Action $attachments = $notice->attachments(); if($attachments){ foreach($attachments as $attachment){ - if ($attachment->isEnclosure()) { + $enclosure=$attachment->getEnclosure(); + if ($enclosure) { // DO NOT move xmlns declaration to root element. Making it // the default namespace here improves compatibility with // real-world feed readers. $attribs = array( - 'rdf:resource' => $attachment->url, - 'url' => $attachment->url, + 'rdf:resource' => $enclosure->url, + 'url' => $enclosure->url, 'xmlns' => 'http://purl.oclc.org/net/rss_2.0/enc#' ); - if ($attachment->title) { - $attribs['dc:title'] = $attachment->title; + if ($enclosure->title) { + $attribs['dc:title'] = $enclosure->title; } - if ($attachment->modified) { - $attribs['dc:date'] = common_date_w3dtf($attachment->modified); + if ($enclosure->modified) { + $attribs['dc:date'] = common_date_w3dtf($enclosure->modified); } - if ($attachment->size) { - $attribs['length'] = $attachment->size; + if ($enclosure->size) { + $attribs['length'] = $enclosure->size; } - if ($attachment->mimetype) { - $attribs['type'] = $attachment->mimetype; + if ($enclosure->mimetype) { + $attribs['type'] = $enclosure->mimetype; } $this->element('enclosure', $attribs); } @@ -353,8 +354,8 @@ class Rss10Action extends Action 'http://rdfs.org/sioc/types#', 'xmlns:rdfs' => 'http://www.w3.org/2000/01/rdf-schema#', - 'xmlns:laconica' => - 'http://laconi.ca/ont/', + 'xmlns:statusnet' => + 'http://status.net/ont/', 'xmlns' => 'http://purl.org/rss/1.0/')); $this->elementStart('sioc:Site', array('rdf:about' => common_root_url())); $this->element('sioc:name', null, common_config('site', 'name')); diff --git a/lib/search_engines.php b/lib/search_engines.php index 7c26363fc5..69f6ff468e 100644 --- a/lib/search_engines.php +++ b/lib/search_engines.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } class SearchEngine { diff --git a/lib/searchaction.php b/lib/searchaction.php index 34fe9373f4..0d9f85a8f1 100644 --- a/lib/searchaction.php +++ b/lib/searchaction.php @@ -5,14 +5,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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 . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } @@ -38,11 +38,11 @@ require_once INSTALLDIR.'/lib/searchgroupnav.php'; * Base search action class. * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class SearchAction extends Action { diff --git a/lib/searchgroupnav.php b/lib/searchgroupnav.php index 3ba3f9cd9a..677365ea9d 100644 --- a/lib/searchgroupnav.php +++ b/lib/searchgroupnav.php @@ -1,6 +1,6 @@ . * * @category Menu - * @package Laconica - * @author Evan Prodromou - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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/widget.php'; * Menu for public group of actions * * @category Output - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 */ diff --git a/lib/section.php b/lib/section.php index d145750862..53a3a70fa7 100644 --- a/lib/section.php +++ b/lib/section.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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); } @@ -40,10 +40,10 @@ require_once INSTALLDIR.'/lib/widget.php'; * group, or site. * * @category Widget - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 Section extends Widget diff --git a/lib/servererroraction.php b/lib/servererroraction.php index c46f3228b0..c6400605ea 100644 --- a/lib/servererroraction.php +++ b/lib/servererroraction.php @@ -6,14 +6,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Zach Copley + * @package StatusNet + * @author Evan Prodromou + * @author Zach Copley * @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 . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } @@ -47,10 +47,10 @@ require_once INSTALLDIR.'/lib/error.php'; * See: http://tools.ietf.org/html/rfc2616#section-10 * * @category Action - * @package Laconica - * @author Zach Copley + * @package StatusNet + * @author Zach Copley * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ */ class ServerErrorAction extends ErrorAction diff --git a/lib/serverexception.php b/lib/serverexception.php index b8ed6846e7..7dc9765ad6 100644 --- a/lib/serverexception.php +++ b/lib/serverexception.php @@ -1,6 +1,6 @@ . * * @category Exception - * @package Laconica - * @author Evan Prodromou - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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 @@ if (!defined('LACONICA')) { * Subclass of PHP Exception for server errors. The user typically can't fix these. * * @category Exception - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 ServerException extends Exception diff --git a/lib/settingsaction.php b/lib/settingsaction.php index a923a98b2d..c3669868d4 100644 --- a/lib/settingsaction.php +++ b/lib/settingsaction.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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')) { * Base class for settings group of actions * * @category Settings - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 */ diff --git a/lib/snapshot.php b/lib/snapshot.php index 4b05b502db..ede846e5b0 100644 --- a/lib/snapshot.php +++ b/lib/snapshot.php @@ -1,6 +1,6 @@ . * * @category Stats - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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); } @@ -36,16 +36,16 @@ if (!defined('LACONICA')) { * * This class will collect statistics on the site and report them to * a statistics server of the admin's choice. (Default is the big one - * at laconi.ca.) + * at status.net.) * * It can either be called from a cron job, or run occasionally by the * Web site. * * @category Stats - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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/ * */ @@ -125,7 +125,7 @@ class Snapshot // Some basic identification stuff - $this->stats['version'] = LACONICA_VERSION; + $this->stats['version'] = STATUSNET_VERSION; $this->stats['phpversion'] = phpversion(); $this->stats['name'] = common_config('site', 'name'); $this->stats['root'] = common_root_url(); @@ -181,7 +181,7 @@ class Snapshot 'header' => 'Content-type: '. 'application/x-www-form-urlencoded', 'content' => $postdata, - 'user_agent' => 'Laconica/'.LACONICA_VERSION + 'user_agent' => 'StatusNet/'.STATUSNET_VERSION ) ); diff --git a/lib/stompqueuemanager.php b/lib/stompqueuemanager.php index 46baeb5c73..f059b42f00 100644 --- a/lib/stompqueuemanager.php +++ b/lib/stompqueuemanager.php @@ -1,6 +1,6 @@ . * * @category QueueManager - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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/ */ require_once 'Stomp.php'; diff --git a/lib/subgroupnav.php b/lib/subgroupnav.php index 5209919232..2748b59e18 100644 --- a/lib/subgroupnav.php +++ b/lib/subgroupnav.php @@ -1,6 +1,6 @@ . * * @category Subs - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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/widget.php'; * Local nav menu for subscriptions, subscribers * * @category Subs - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 SubGroupNav extends Widget diff --git a/lib/subpeopletagcloudsection.php b/lib/subpeopletagcloudsection.php index 9f6948dc92..b23a82240d 100644 --- a/lib/subpeopletagcloudsection.php +++ b/lib/subpeopletagcloudsection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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); } @@ -35,10 +35,10 @@ if (!defined('LACONICA')) { * Personal tag cloud section * * @category Widget - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 SubPeopleTagCloudSection extends TagCloudSection diff --git a/lib/subs.php b/lib/subs.php index e760237527..68c89c8421 100644 --- a/lib/subs.php +++ b/lib/subs.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once('XMPPHP/XMPP.php'); diff --git a/lib/subscribeform.php b/lib/subscribeform.php index c65134e461..ae2a6db61c 100644 --- a/lib/subscribeform.php +++ b/lib/subscribeform.php @@ -1,6 +1,6 @@ . * * @category Form - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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/form.php'; * Form for subscribing to a user * * @category Form - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli * @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 UnsubscribeForm */ diff --git a/lib/subscriberspeopleselftagcloudsection.php b/lib/subscriberspeopleselftagcloudsection.php index 115241a53f..5a570ae282 100644 --- a/lib/subscriberspeopleselftagcloudsection.php +++ b/lib/subscriberspeopleselftagcloudsection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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); } @@ -35,10 +35,10 @@ if (!defined('LACONICA')) { * Personal tag cloud section * * @category Widget - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 SubscribersPeopleSelfTagCloudSection extends SubPeopleTagCloudSection diff --git a/lib/subscriberspeopletagcloudsection.php b/lib/subscriberspeopletagcloudsection.php index 4dafbc1c7d..284996b591 100644 --- a/lib/subscriberspeopletagcloudsection.php +++ b/lib/subscriberspeopletagcloudsection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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); } @@ -35,10 +35,10 @@ if (!defined('LACONICA')) { * Personal tag cloud section * * @category Widget - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 SubscribersPeopleTagCloudSection extends SubPeopleTagCloudSection diff --git a/lib/subscriptionlist.php b/lib/subscriptionlist.php index 23da64cca8..89f63e3211 100644 --- a/lib/subscriptionlist.php +++ b/lib/subscriptionlist.php @@ -1,7 +1,7 @@ . * * @category Public - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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/profilelist.php'; * Widget to show a list of subscriptions * * @category Public - * @package Laconica - * @author Zach Copley - * @author Evan Prodromou + * @package StatusNet + * @author Zach Copley + * @author Evan Prodromou * @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 SubscriptionList extends ProfileList diff --git a/lib/subscriptionspeopleselftagcloudsection.php b/lib/subscriptionspeopleselftagcloudsection.php index 3896294d28..9be60dfa14 100644 --- a/lib/subscriptionspeopleselftagcloudsection.php +++ b/lib/subscriptionspeopleselftagcloudsection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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); } @@ -35,10 +35,10 @@ if (!defined('LACONICA')) { * Personal tag cloud section * * @category Widget - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 SubscriptionsPeopleSelfTagCloudSection extends SubPeopleTagCloudSection diff --git a/lib/subscriptionspeopletagcloudsection.php b/lib/subscriptionspeopletagcloudsection.php index f9c8672e36..fde24b282e 100644 --- a/lib/subscriptionspeopletagcloudsection.php +++ b/lib/subscriptionspeopletagcloudsection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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); } @@ -35,10 +35,10 @@ if (!defined('LACONICA')) { * Personal tag cloud section * * @category Widget - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 SubscriptionsPeopleTagCloudSection extends SubPeopleTagCloudSection diff --git a/lib/tagcloudsection.php b/lib/tagcloudsection.php index 62f7d89612..692f5d9662 100644 --- a/lib/tagcloudsection.php +++ b/lib/tagcloudsection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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); } @@ -40,10 +40,10 @@ define('TAGS_PER_SECTION', 20); * group, or site. * * @category Widget - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 TagCloudSection extends Section diff --git a/lib/theme.php b/lib/theme.php index 2fe6ab69b7..08e3e85383 100644 --- a/lib/theme.php +++ b/lib/theme.php @@ -1,6 +1,6 @@ . * * @category Paths - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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); } diff --git a/lib/topposterssection.php b/lib/topposterssection.php index 1a2ce00140..cbb6a98ebd 100644 --- a/lib/topposterssection.php +++ b/lib/topposterssection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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,10 +38,10 @@ if (!defined('LACONICA')) { * group, or site. * * @category Widget - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 TopPostersSection extends ProfileSection diff --git a/lib/twitterapi.php b/lib/twitterapi.php index 5830072086..d199e4dee2 100644 --- a/lib/twitterapi.php +++ b/lib/twitterapi.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } @@ -88,7 +88,7 @@ class TwitterapiAction extends Action Avatar::defaultImage(AVATAR_STREAM_SIZE); $twitter_user['url'] = ($profile->homepage) ? $profile->homepage : null; - $twitter_user['protected'] = false; # not supported by Laconica yet + $twitter_user['protected'] = false; # not supported by StatusNet yet $twitter_user['followers_count'] = $profile->subscriberCount(); // To be supported soon... @@ -159,7 +159,7 @@ class TwitterapiAction extends Action $twitter_status = array(); $twitter_status['text'] = $notice->content; - $twitter_status['truncated'] = false; # Not possible on Laconica + $twitter_status['truncated'] = false; # Not possible on StatusNet $twitter_status['created_at'] = $this->date_twitter($notice->created); $twitter_status['in_reply_to_status_id'] = ($notice->reply_to) ? intval($notice->reply_to) : null; @@ -274,11 +274,12 @@ class TwitterapiAction extends Action $enclosures = array(); foreach ($attachments as $attachment) { - if ($attachment->isEnclosure()) { + $enclosure_o=$attachment->getEnclosure(); + if ($enclosure_o) { $enclosure = array(); - $enclosure['url'] = $attachment->url; - $enclosure['mimetype'] = $attachment->mimetype; - $enclosure['size'] = $attachment->size; + $enclosure['url'] = $enclosure_o->url; + $enclosure['mimetype'] = $enclosure_o->mimetype; + $enclosure['size'] = $enclosure_o->size; $enclosures[] = $enclosure; } } @@ -594,7 +595,6 @@ class TwitterapiAction extends Action $this->init_document('rss'); - $this->elementStart('channel'); $this->element('title', null, $title); $this->element('link', null, $link); if (!is_null($suplink)) { @@ -620,7 +620,6 @@ class TwitterapiAction extends Action } } - $this->elementEnd('channel'); $this->end_twitter_rss(); } @@ -667,7 +666,6 @@ class TwitterapiAction extends Action $this->init_document('rss'); - $this->elementStart('channel'); $this->element('title', null, $title); $this->element('link', null, $link); $this->element('description', null, $subtitle); @@ -686,7 +684,6 @@ class TwitterapiAction extends Action } } - $this->elementEnd('channel'); $this->end_twitter_rss(); } @@ -791,6 +788,52 @@ class TwitterapiAction extends Action $this->end_document('xml'); } + function show_twitter_xml_users($user) + { + + $this->init_document('xml'); + $this->elementStart('users', array('type' => 'array')); + + if (is_array($user)) { + foreach ($group as $g) { + $twitter_user = $this->twitter_user_array($g); + $this->show_twitter_xml_user($twitter_user,'user'); + } + } else { + while ($user->fetch()) { + $twitter_user = $this->twitter_user_array($user); + $this->show_twitter_xml_user($twitter_user); + } + } + + $this->elementEnd('users'); + $this->end_document('xml'); + } + + function show_json_users($user) + { + + $this->init_document('json'); + + $users = array(); + + if (is_array($user)) { + foreach ($user as $u) { + $twitter_user = $this->twitter_user_array($u); + array_push($users, $twitter_user); + } + } else { + while ($user->fetch()) { + $twitter_user = $this->twitter_user_array($user); + array_push($users, $twitter_user); + } + } + + $this->show_json_objects($users); + + $this->end_document('json'); + } + function show_single_json_group($group) { $this->init_document('json'); @@ -943,11 +986,14 @@ class TwitterapiAction extends Action function init_twitter_rss() { $this->startXML(); - $this->elementStart('rss', array('version' => '2.0')); + $this->elementStart('rss', array('version' => '2.0', 'xmlns:atom'=>'http://www.w3.org/2005/Atom')); + $this->elementStart('channel'); + Event::handle('StartApiRss', array($this)); } function end_twitter_rss() { + $this->elementEnd('channel'); $this->elementEnd('rss'); $this->endXML(); } @@ -959,6 +1005,7 @@ class TwitterapiAction extends Action $this->elementStart('feed', array('xmlns' => 'http://www.w3.org/2005/Atom', 'xml:lang' => 'en-US', 'xmlns:thr' => 'http://purl.org/syndication/thread/1.0')); + Event::handle('StartApiAtom', array($this)); } function end_twitter_atom() diff --git a/lib/twitterbasicauthclient.php b/lib/twitterbasicauthclient.php new file mode 100644 index 0000000000..fd331fbdc9 --- /dev/null +++ b/lib/twitterbasicauthclient.php @@ -0,0 +1,236 @@ +. + * + * @category Integration + * @package StatusNet + * @author Zach Copley + * @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://status.net/ + */ + +if (!defined('STATUSNET') && !defined('LACONICA')) { + exit(1); +} + +/** + * Exception wrapper for cURL errors + * + * @category Integration + * @package StatusNet + * @author Zach Copley + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + * + */ +class BasicAuthCurlException extends Exception +{ +} + +/** + * Class for talking to the Twitter API with HTTP Basic Auth. + * + * @category Integration + * @package StatusNet + * @author Zach Copley + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + * + */ +class TwitterBasicAuthClient +{ + var $screen_name = null; + var $password = null; + + /** + * constructor + * + * @param Foreign_link $flink a Foreign_link storing the + * Twitter user's password, etc. + */ + function __construct($flink) + { + $fuser = $flink->getForeignUser(); + $this->screen_name = $fuser->nickname; + $this->password = $flink->credentials; + } + + /** + * Calls Twitter's /statuses/update API method + * + * @param string $status text of the status + * @param int $in_reply_to_status_id optional id of the status it's + * a reply to + * + * @return mixed the status + */ + function statusesUpdate($status, $in_reply_to_status_id = null) + { + $url = 'https://twitter.com/statuses/update.json'; + $params = array('status' => $status, + 'source' => common_config('integration', 'source'), + 'in_reply_to_status_id' => $in_reply_to_status_id); + $response = $this->httpRequest($url, $params); + $status = json_decode($response); + return $status; + } + + /** + * Calls Twitter's /statuses/friends_timeline API method + * + * @param int $since_id show statuses after this id + * @param int $max_id show statuses before this id + * @param int $cnt number of statuses to show + * @param int $page page number + * + * @return mixed an array of statuses + */ + function statusesFriendsTimeline($since_id = null, $max_id = null, + $cnt = null, $page = null) + { + $url = 'https://twitter.com/statuses/friends_timeline.json'; + $params = array('since_id' => $since_id, + 'max_id' => $max_id, + 'count' => $cnt, + 'page' => $page); + $qry = http_build_query($params); + + if (!empty($qry)) { + $url .= "?$qry"; + } + + $response = $this->httpRequest($url); + $statuses = json_decode($response); + return $statuses; + } + + /** + * Calls Twitter's /statuses/friends API method + * + * @param int $id id of the user whom you wish to see friends of + * @param int $user_id numerical user id + * @param int $screen_name screen name + * @param int $page page number + * + * @return mixed an array of twitter users and their latest status + */ + function statusesFriends($id = null, $user_id = null, $screen_name = null, + $page = null) + { + $url = "https://twitter.com/statuses/friends.json"; + + $params = array('id' => $id, + 'user_id' => $user_id, + 'screen_name' => $screen_name, + 'page' => $page); + $qry = http_build_query($params); + + if (!empty($qry)) { + $url .= "?$qry"; + } + + $response = $this->httpRequest($url); + $friends = json_decode($response); + return $friends; + } + + /** + * Calls Twitter's /statuses/friends/ids API method + * + * @param int $id id of the user whom you wish to see friends of + * @param int $user_id numerical user id + * @param int $screen_name screen name + * @param int $page page number + * + * @return mixed a list of ids, 100 per page + */ + function friendsIds($id = null, $user_id = null, $screen_name = null, + $page = null) + { + $url = "https://twitter.com/friends/ids.json"; + + $params = array('id' => $id, + 'user_id' => $user_id, + 'screen_name' => $screen_name, + 'page' => $page); + $qry = http_build_query($params); + + if (!empty($qry)) { + $url .= "?$qry"; + } + + $response = $this->httpRequest($url); + $ids = json_decode($response); + return $ids; + } + + /** + * Make a HTTP request using cURL. + * + * @param string $url Where to make the request + * @param array $params post parameters + * + * @return mixed the request + */ + function httpRequest($url, $params = null, $auth = true) + { + $options = array( + CURLOPT_RETURNTRANSFER => true, + CURLOPT_FAILONERROR => true, + CURLOPT_HEADER => false, + CURLOPT_FOLLOWLOCATION => true, + CURLOPT_USERAGENT => 'StatusNet', + CURLOPT_CONNECTTIMEOUT => 120, + CURLOPT_TIMEOUT => 120, + CURLOPT_HTTPAUTH => CURLAUTH_ANY, + CURLOPT_SSL_VERIFYPEER => false, + + // Twitter is strict about accepting invalid "Expect" headers + + CURLOPT_HTTPHEADER => array('Expect:') + ); + + if (isset($params)) { + $options[CURLOPT_POST] = true; + $options[CURLOPT_POSTFIELDS] = $params; + } + + if ($auth) { + $options[CURLOPT_USERPWD] = $this->screen_name . + ':' . $this->password; + } + + $ch = curl_init($url); + curl_setopt_array($ch, $options); + $response = curl_exec($ch); + + if ($response === false) { + $msg = curl_error($ch); + $code = curl_errno($ch); + throw new BasicAuthCurlException($msg, $code); + } + + curl_close($ch); + + return $response; + } + +} diff --git a/lib/unblockform.php b/lib/unblockform.php index 6a8831b291..f1343757c2 100644 --- a/lib/unblockform.php +++ b/lib/unblockform.php @@ -1,6 +1,6 @@ . * * @category Form - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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/form.php'; * Form for unblocking a user * * @category Form - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli * @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 */ diff --git a/lib/unqueuemanager.php b/lib/unqueuemanager.php index 920313c0c0..c5dc29d386 100644 --- a/lib/unqueuemanager.php +++ b/lib/unqueuemanager.php @@ -1,6 +1,6 @@ . * * @category QueueManager - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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 UnQueueManager diff --git a/lib/unsubscribeform.php b/lib/unsubscribeform.php index ce91a13407..cb6a87515f 100644 --- a/lib/unsubscribeform.php +++ b/lib/unsubscribeform.php @@ -1,6 +1,6 @@ . * * @category Form - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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/form.php'; * Form for unsubscribing from a user * * @category Form - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli * @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 SubscribeForm */ diff --git a/lib/util.php b/lib/util.php index b798cfe157..0a25907c47 100644 --- a/lib/util.php +++ b/lib/util.php @@ -1,7 +1,7 @@ '(', + 'right'=>')' + ), + array( + 'left'=>'[', + 'right'=>']' + ), + array( + 'left'=>'{', + 'right'=>'}' + ) + ); + $cannotEndWith=array('.','?',',','#'); + $original_url=$url; + do{ + $original_url=$url; + foreach($groupSymbolSets as $groupSymbolSet){ + if(substr($url,-1)==$groupSymbolSet['right']){ + $group_left_count = substr_count($url,$groupSymbolSet['left']); + $group_right_count = substr_count($url,$groupSymbolSet['right']); + if($group_left_count<$group_right_count){ + $right-=1; + $url=substr($url,0,-1); + } + } } + if(in_array(substr($url,-1),$cannotEndWith)){ + $right-=1; + $url=substr($url,0,-1); + } + }while($original_url!=$url); - // Replace it! - $start = mb_strpos($text, $url, $offset); - $text = mb_substr($text, 0, $start).$modified_url.mb_substr($text, $start + mb_strlen($url), mb_strlen($text)); - $offset = $start + mb_strlen($modified_url); + if(empty($notice_id)){ + $result = call_user_func_array($callback,$url); + }else{ + $result = call_user_func_array($callback, array(array($url,$notice_id)) ); } + return substr($matches[0],0,$left) . $result . substr($matches[0],$right); +} - return $text; +function curry($fn) { + //TODO switch to a PHP 5.3 function closure based approach if PHP 5.3 is used + $args = func_get_args(); + array_shift($args); + $id = uniqid('_partial'); + $GLOBALS[$id] = array($fn, $args); + return create_function('', + '$args = func_get_args(); '. + 'return call_user_func_array('. + '$GLOBALS["'.$id.'"][0],'. + 'array_merge('. + '$args,'. + '$GLOBALS["'.$id.'"][1]));'); } function common_linkify($url) { @@ -470,6 +520,11 @@ function common_linkify($url) { // functions $url = htmlspecialchars_decode($url); + if(strpos($url, '@') !== false && strpos($url, ':') === false) { + //url is an email address without the mailto: protocol + return XMLStringer::estring('a', array('href' => "mailto:$url", 'rel' => 'external'), $url); + } + $canon = File_redirection::_canonUrl($url); $longurl_data = File_redirection::where($url); @@ -487,42 +542,30 @@ function common_linkify($url) { $attachment_id = null; $has_thumb = false; - // Check to see whether there's a filename associated with this URL. - // If there is, it's an upload and qualifies as an attachment + // Check to see whether this is a known "attachment" URL. - $localfile = File::staticGet('url', $longurl); + $f = File::staticGet('url', $longurl); - if (!empty($localfile)) { - if (isset($localfile->filename)) { - $is_attachment = true; - $attachment_id = $localfile->id; - } + if (empty($f)) { + // XXX: this writes to the database. :< + $f = File::processNew($longurl); } - // if this URL is an attachment, then we set class='attachment' and id='attahcment-ID' - // where ID is the id of the attachment for the given URL. - // - // we need a better test telling what can be shown as an attachment - // we're currently picking up oembeds only. - // I think the best option is another file_view table in the db - // and associated dbobject. + if (!empty($f)) { + if (isset($f->filename)) { + $is_attachment = true; + $attachment_id = $f->id; + } else { // if it has OEmbed info, it's an attachment, too + $foe = File_oembed::staticGet('file_id', $f->id); + if (!empty($foe)) { + $is_attachment = true; + $attachment_id = $f->id; - $query = "select file_oembed.file_id as file_id from file join file_oembed on file.id = file_oembed.file_id where file.url='$longurl'"; - $file = new File; - $file->query($query); - $file->fetch(); - - if (!empty($file->file_id)) { - $is_attachment = true; - $attachment_id = $file->file_id; - - $query = "select file_thumbnail.file_id as file_id from file join file_thumbnail on file.id = file_thumbnail.file_id where file.url='$longurl'"; - $file2 = new File; - $file2->query($query); - $file2->fetch(); - - if (!empty($file2)) { - $has_thumb = true; + $thumb = File_thumbnail::staticGet('file_id', $f->id); + if (!empty($thumb)) { + $has_thumb = true; + } + } } } @@ -1270,7 +1313,7 @@ function common_cache_key($extra) $base_key = common_keyize(common_config('site', 'name')); } - return 'laconica:' . $base_key . ':' . $extra; + return 'statusnet:' . $base_key . ':' . $extra; } function common_keyize($str) @@ -1330,57 +1373,15 @@ function common_shorten_url($long_url) } else { $svc = $user->urlshorteningservice; } - - $curlh = curl_init(); - curl_setopt($curlh, CURLOPT_CONNECTTIMEOUT, 20); // # seconds to wait - curl_setopt($curlh, CURLOPT_USERAGENT, 'Laconica'); - curl_setopt($curlh, CURLOPT_RETURNTRANSFER, true); - - switch($svc) { - case 'ur1.ca': - require_once INSTALLDIR.'/lib/Shorturl_api.php'; - $short_url_service = new LilUrl; - $short_url = $short_url_service->shorten($long_url); - break; - - case '2tu.us': - $short_url_service = new TightUrl; - require_once INSTALLDIR.'/lib/Shorturl_api.php'; - $short_url = $short_url_service->shorten($long_url); - break; - - case 'ptiturl.com': - require_once INSTALLDIR.'/lib/Shorturl_api.php'; - $short_url_service = new PtitUrl; - $short_url = $short_url_service->shorten($long_url); - break; - - case 'bit.ly': - curl_setopt($curlh, CURLOPT_URL, 'http://bit.ly/api?method=shorten&long_url='.urlencode($long_url)); - $short_url = current(json_decode(curl_exec($curlh))->results)->hashUrl; - break; - - case 'is.gd': - curl_setopt($curlh, CURLOPT_URL, 'http://is.gd/api.php?longurl='.urlencode($long_url)); - $short_url = curl_exec($curlh); - break; - case 'snipr.com': - curl_setopt($curlh, CURLOPT_URL, 'http://snipr.com/site/snip?r=simple&link='.urlencode($long_url)); - $short_url = curl_exec($curlh); - break; - case 'metamark.net': - curl_setopt($curlh, CURLOPT_URL, 'http://metamark.net/api/rest/simple?long_url='.urlencode($long_url)); - $short_url = curl_exec($curlh); - break; - case 'tinyurl.com': - curl_setopt($curlh, CURLOPT_URL, 'http://tinyurl.com/api-create.php?url='.urlencode($long_url)); - $short_url = curl_exec($curlh); - break; - default: - $short_url = false; + global $_shorteners; + if(! $_shorteners[$svc]){ + //the user selected service doesn't exist, so default to ur1.ca + $svc = 'ur1.ca'; } - curl_close($curlh); + $reflectionObj = new ReflectionClass($_shorteners[$svc]['callInfo'][0]); + $short_url_service = $reflectionObj->newInstanceArgs($_shorteners[$svc]['callInfo'][1]); + $short_url = $short_url_service->shorten($long_url); return $short_url; } diff --git a/lib/webcolor.php b/lib/webcolor.php index f3ca6e94a8..6fa603fa2a 100644 --- a/lib/webcolor.php +++ b/lib/webcolor.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica - * @author Zach Copley - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Zach Copley + * @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); } diff --git a/lib/widget.php b/lib/widget.php index c70505c44d..0258c8649e 100644 --- a/lib/widget.php +++ b/lib/widget.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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); } @@ -40,11 +40,11 @@ if (!defined('LACONICA')) { * lists, notice lists, navigation menus (tabsets) and common forms. * * @category Widget - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli * @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 HTMLOutputter */ diff --git a/lib/xmloutputter.php b/lib/xmloutputter.php index 64935da408..5f06e491df 100644 --- a/lib/xmloutputter.php +++ b/lib/xmloutputter.php @@ -1,6 +1,6 @@ . * * @category Output - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @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); } @@ -40,11 +40,11 @@ if (!defined('LACONICA')) { * an element. * * @category Output - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli * @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 * @see HTMLOutputter */ diff --git a/lib/xmlstringer.php b/lib/xmlstringer.php index 951b13b676..b505e40d39 100644 --- a/lib/xmlstringer.php +++ b/lib/xmlstringer.php @@ -1,6 +1,6 @@ . * * @category Output - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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); } @@ -35,10 +35,10 @@ if (!defined('LACONICA')) { * Create in-memory XML * * @category Output - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 * @see HTMLOutputter */ diff --git a/lib/xmppqueuehandler.php b/lib/xmppqueuehandler.php index 77d476c30e..f28fc9088c 100644 --- a/lib/xmppqueuehandler.php +++ b/lib/xmppqueuehandler.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/lib/queuehandler.php'); @@ -38,14 +38,20 @@ class XmppQueueHandler extends QueueHandler function start() { # Low priority; we don't want to receive messages + $this->log(LOG_INFO, "INITIALIZE"); $this->conn = jabber_connect($this->_id.$this->transport()); - if ($this->conn) { - $this->conn->addEventHandler('message', 'forward_message', $this); - $this->conn->addEventHandler('reconnect', 'handle_reconnect', $this); - $this->conn->setReconnectTimeout(600); - jabber_send_presence("Send me a message to post a notice", 'available', null, 'available', -1); + + if (empty($this->conn)) { + $this->log(LOG_ERR, "Couldn't connect to server."); + return false; } + + $this->conn->addEventHandler('message', 'forward_message', $this); + $this->conn->addEventHandler('reconnect', 'handle_reconnect', $this); + $this->conn->setReconnectTimeout(600); + jabber_send_presence("Send me a message to post a notice", 'available', null, 'available', -1); + return !is_null($this->conn); } @@ -56,6 +62,8 @@ class XmppQueueHandler extends QueueHandler function handle_reconnect(&$pl) { + $this->log(LOG_NOTICE, 'reconnected'); + $this->conn->processUntil('session_start'); $this->conn->presence(null, 'available', null, 'available', -1); } diff --git a/locale/bg_BG/LC_MESSAGES/laconica.mo b/locale/bg_BG/LC_MESSAGES/laconica.mo deleted file mode 100644 index 4aa8804c53..0000000000 Binary files a/locale/bg_BG/LC_MESSAGES/laconica.mo and /dev/null differ diff --git a/locale/bg_BG/LC_MESSAGES/statusnet.mo b/locale/bg_BG/LC_MESSAGES/statusnet.mo new file mode 100644 index 0000000000..8cfa1523d2 Binary files /dev/null and b/locale/bg_BG/LC_MESSAGES/statusnet.mo differ diff --git a/locale/bg_BG/LC_MESSAGES/laconica.po b/locale/bg_BG/LC_MESSAGES/statusnet.po similarity index 99% rename from locale/bg_BG/LC_MESSAGES/laconica.po rename to locale/bg_BG/LC_MESSAGES/statusnet.po index 3ad602175f..c0bc8379f5 100644 --- a/locale/bg_BG/LC_MESSAGES/laconica.po +++ b/locale/bg_BG/LC_MESSAGES/statusnet.po @@ -1,13 +1,13 @@ -# #-#-#-#-# laconica.pot (Laconica 0.6.4) #-#-#-#-# -# Laconica Bulgarian translation. +# #-#-#-#-# statusnet.pot (StatusNet 0.6.4) #-#-#-#-# +# StatusNet Bulgarian translation. # Copyright (C) 2008 -# This file is distributed under the same license as the Laconica package. +# This file is distributed under the same license as the StatusNet package. # Yasen Pramatarov , 2008 -# Stoyan Zhekov , 2008 +# Stoyan Zhekov , 2008 # msgid "" msgstr "" -"Project-Id-Version: Laconica 0.6.4\n" +"Project-Id-Version: StatusNet 0.6.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-01-25 16:24+0000\n" "PO-Revision-Date: 2009-06-27 18:04+0000\n" @@ -276,8 +276,8 @@ msgstr "" #: actions/twitapiusers.php:55 actions/twitapiaccount.php:37 #: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85 #: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121 -#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79 +#: actions/twitapihelp.php:44 actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429 @@ -302,7 +302,7 @@ msgstr "Не е открит методът в API." #: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45 #: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143 -#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172 +#: actions/twitapihelp.php:52 actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 msgid "API method under construction." @@ -1143,11 +1143,11 @@ msgstr "Покани за нови потребители" #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609 #, php-format msgid "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public License](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." msgstr "" -"Ползва [Laconica](http://laconi.ca/) версия %s, система за микроблогване, " +"Ползва [StatusNet](http://status.net/) версия %s, система за микроблогване, " "достъпна под [GNU Affero General Public License](http://www.fsf.org/" "licensing/licenses/agpl-3.0.html)." @@ -4537,8 +4537,8 @@ msgid "Secondary site navigation" msgstr "Абонаменти" #: lib/action.php:602 lib/action.php:623 -msgid "Laconica software license" -msgstr "Лиценз на програмата Laconica" +msgid "StatusNet software license" +msgstr "Лиценз на програмата StatusNet" #: lib/action.php:630 msgid "All " diff --git a/locale/ca_ES/LC_MESSAGES/laconica.mo b/locale/ca_ES/LC_MESSAGES/statusnet.mo similarity index 78% rename from locale/ca_ES/LC_MESSAGES/laconica.mo rename to locale/ca_ES/LC_MESSAGES/statusnet.mo index 993d020daa..aadf38da98 100644 Binary files a/locale/ca_ES/LC_MESSAGES/laconica.mo and b/locale/ca_ES/LC_MESSAGES/statusnet.mo differ diff --git a/locale/ca_ES/LC_MESSAGES/laconica.po b/locale/ca_ES/LC_MESSAGES/statusnet.po similarity index 99% rename from locale/ca_ES/LC_MESSAGES/laconica.po rename to locale/ca_ES/LC_MESSAGES/statusnet.po index b835a7a8fe..44944c8ba8 100644 --- a/locale/ca_ES/LC_MESSAGES/laconica.po +++ b/locale/ca_ES/LC_MESSAGES/statusnet.po @@ -276,8 +276,8 @@ msgstr "" #: actions/twitapiusers.php:55 actions/twitapiaccount.php:37 #: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85 #: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121 -#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79 +#: actions/twitapihelp.php:44 actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429 @@ -302,7 +302,7 @@ msgstr "No s'ha trobat el mètode API!" #: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45 #: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143 -#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172 +#: actions/twitapihelp.php:52 actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 msgid "API method under construction." @@ -1146,11 +1146,11 @@ msgstr "Invitar nous usuaris" #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609 #, php-format msgid "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public License](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." msgstr "" -"Utilitza el software de microblogging [Laconica](http://laconi.ca), versió %" +"Utilitza el software de microblogging [StatusNet](http://status.net), versió %" "s, disponible sota la [GNU Affero General Public License](http://www.fsf.org/" "licensing/licenses/agpl-3.0.html)." @@ -4543,8 +4543,8 @@ msgid "Secondary site navigation" msgstr "Navegació del lloc secundària" #: lib/action.php:602 lib/action.php:623 -msgid "Laconica software license" -msgstr "Llicència del programari Laconica" +msgid "StatusNet software license" +msgstr "Llicència del programari StatusNet" #: lib/action.php:630 msgid "All " diff --git a/locale/cs_CZ/LC_MESSAGES/laconica.mo b/locale/cs_CZ/LC_MESSAGES/laconica.mo deleted file mode 100644 index 790f5eb26f..0000000000 Binary files a/locale/cs_CZ/LC_MESSAGES/laconica.mo and /dev/null differ diff --git a/locale/cs_CZ/LC_MESSAGES/statusnet.mo b/locale/cs_CZ/LC_MESSAGES/statusnet.mo new file mode 100644 index 0000000000..e126daaf09 Binary files /dev/null and b/locale/cs_CZ/LC_MESSAGES/statusnet.mo differ diff --git a/locale/cs_CZ/LC_MESSAGES/laconica.po b/locale/cs_CZ/LC_MESSAGES/statusnet.po similarity index 99% rename from locale/cs_CZ/LC_MESSAGES/laconica.po rename to locale/cs_CZ/LC_MESSAGES/statusnet.po index 9fce8edcd8..aee74f1af3 100644 --- a/locale/cs_CZ/LC_MESSAGES/laconica.po +++ b/locale/cs_CZ/LC_MESSAGES/statusnet.po @@ -241,8 +241,8 @@ msgstr "" #: actions/twitapiusers.php:55 actions/twitapiaccount.php:37 #: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85 #: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121 -#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79 +#: actions/twitapihelp.php:44 actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429 @@ -267,7 +267,7 @@ msgstr "" #: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45 #: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143 -#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172 +#: actions/twitapihelp.php:52 actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 msgid "API method under construction." @@ -1087,11 +1087,11 @@ msgstr "" #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609 #, php-format msgid "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public License](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." msgstr "" -"Běží na [Laconica](http://laconi.ca/) mikroblogovací program, verze %s, " +"Běží na [StatusNet](http://status.net/) mikroblogovací program, verze %s, " "dostupná pod [GNU Affero General Public License](http://www.fsf.org/" "licensing/licenses/agpl-3.0.html)." @@ -4486,7 +4486,7 @@ msgid "Secondary site navigation" msgstr "Odběry" #: lib/action.php:602 lib/action.php:623 -msgid "Laconica software license" +msgid "StatusNet software license" msgstr "" #: lib/action.php:630 diff --git a/locale/de_DE/LC_MESSAGES/laconica.mo b/locale/de_DE/LC_MESSAGES/laconica.mo deleted file mode 100644 index 684fa131c6..0000000000 Binary files a/locale/de_DE/LC_MESSAGES/laconica.mo and /dev/null differ diff --git a/locale/de_DE/LC_MESSAGES/statusnet.mo b/locale/de_DE/LC_MESSAGES/statusnet.mo new file mode 100644 index 0000000000..fe6072c1b1 Binary files /dev/null and b/locale/de_DE/LC_MESSAGES/statusnet.mo differ diff --git a/locale/de_DE/LC_MESSAGES/laconica.po b/locale/de_DE/LC_MESSAGES/statusnet.po similarity index 99% rename from locale/de_DE/LC_MESSAGES/laconica.po rename to locale/de_DE/LC_MESSAGES/statusnet.po index 5e1f346afc..ed02528794 100644 --- a/locale/de_DE/LC_MESSAGES/laconica.po +++ b/locale/de_DE/LC_MESSAGES/statusnet.po @@ -277,8 +277,8 @@ msgstr "" #: actions/twitapiusers.php:55 actions/twitapiaccount.php:37 #: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85 #: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121 -#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79 +#: actions/twitapihelp.php:44 actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429 @@ -303,7 +303,7 @@ msgstr "API-Methode nicht gefunden!" #: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45 #: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143 -#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172 +#: actions/twitapihelp.php:52 actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 msgid "API method under construction." @@ -1150,11 +1150,11 @@ msgstr "Lade neue Leute ein" #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609 #, php-format msgid "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public License](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." msgstr "" -" Es wird mit der Microbloggingsoftware [Laconica](http://laconi.ca/) " +" Es wird mit der Microbloggingsoftware [StatusNet](http://status.net/) " "(Version %s) betrieben, die unter der [GNU Affero General Public License]" "(http://www.fsf.org/licensing/licenses/agpl-3.0.html) erhältlich ist." @@ -4750,8 +4750,8 @@ msgstr "Unternavigation" #: lib/action.php:602 lib/action.php:623 #, fuzzy -msgid "Laconica software license" -msgstr "Laconica Software Lizenz" +msgid "StatusNet software license" +msgstr "StatusNet Software Lizenz" #: lib/action.php:630 #, fuzzy diff --git a/locale/el_GR/LC_MESSAGES/laconica.mo b/locale/el_GR/LC_MESSAGES/statusnet.mo similarity index 100% rename from locale/el_GR/LC_MESSAGES/laconica.mo rename to locale/el_GR/LC_MESSAGES/statusnet.mo diff --git a/locale/el_GR/LC_MESSAGES/laconica.po b/locale/el_GR/LC_MESSAGES/statusnet.po similarity index 99% rename from locale/el_GR/LC_MESSAGES/laconica.po rename to locale/el_GR/LC_MESSAGES/statusnet.po index ccbeb34b9a..314dd358c7 100644 --- a/locale/el_GR/LC_MESSAGES/laconica.po +++ b/locale/el_GR/LC_MESSAGES/statusnet.po @@ -228,8 +228,8 @@ msgstr "" #: actions/twitapiusers.php:55 actions/twitapiaccount.php:37 #: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85 #: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121 -#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79 +#: actions/twitapihelp.php:44 actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429 @@ -254,7 +254,7 @@ msgstr "" #: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45 #: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143 -#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172 +#: actions/twitapihelp.php:52 actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 msgid "API method under construction." @@ -1069,7 +1069,7 @@ msgstr "" #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609 #, php-format msgid "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public License](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." msgstr "" @@ -4369,7 +4369,7 @@ msgid "Secondary site navigation" msgstr "" #: lib/action.php:602 lib/action.php:623 -msgid "Laconica software license" +msgid "StatusNet software license" msgstr "" #: lib/action.php:630 diff --git a/locale/en_GB/LC_MESSAGES/laconica.mo b/locale/en_GB/LC_MESSAGES/statusnet.mo similarity index 55% rename from locale/en_GB/LC_MESSAGES/laconica.mo rename to locale/en_GB/LC_MESSAGES/statusnet.mo index 93ff37f9da..11eacc9ac1 100644 Binary files a/locale/en_GB/LC_MESSAGES/laconica.mo and b/locale/en_GB/LC_MESSAGES/statusnet.mo differ diff --git a/locale/en_GB/LC_MESSAGES/laconica.po b/locale/en_GB/LC_MESSAGES/statusnet.po similarity index 99% rename from locale/en_GB/LC_MESSAGES/laconica.po rename to locale/en_GB/LC_MESSAGES/statusnet.po index 4e261723f4..a105d2b867 100644 --- a/locale/en_GB/LC_MESSAGES/laconica.po +++ b/locale/en_GB/LC_MESSAGES/statusnet.po @@ -1,4 +1,4 @@ -# #-#-#-#-# laconica.new.pot (PACKAGE VERSION) #-#-#-#-# +# #-#-#-#-# statusnet.new.pot (PACKAGE VERSION) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. @@ -273,8 +273,8 @@ msgstr "" #: actions/twitapiusers.php:55 actions/twitapiaccount.php:37 #: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85 #: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121 -#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79 +#: actions/twitapihelp.php:44 actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429 @@ -299,7 +299,7 @@ msgstr "API method not found!" #: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45 #: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143 -#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172 +#: actions/twitapihelp.php:52 actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 msgid "API method under construction." @@ -1150,11 +1150,11 @@ msgstr "Invite new users" #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609 #, php-format msgid "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public License](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." msgstr "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public Licence](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." @@ -4534,8 +4534,8 @@ msgid "Secondary site navigation" msgstr "Secondary site navigation" #: lib/action.php:602 lib/action.php:623 -msgid "Laconica software license" -msgstr "Laconica software licence" +msgid "StatusNet software license" +msgstr "StatusNet software licence" #: lib/action.php:630 msgid "All " diff --git a/locale/es/LC_MESSAGES/laconica.mo b/locale/es/LC_MESSAGES/laconica.mo deleted file mode 100644 index ba764b52db..0000000000 Binary files a/locale/es/LC_MESSAGES/laconica.mo and /dev/null differ diff --git a/locale/es/LC_MESSAGES/statusnet.mo b/locale/es/LC_MESSAGES/statusnet.mo new file mode 100644 index 0000000000..ab03d12e0b Binary files /dev/null and b/locale/es/LC_MESSAGES/statusnet.mo differ diff --git a/locale/es/LC_MESSAGES/laconica.po b/locale/es/LC_MESSAGES/statusnet.po similarity index 99% rename from locale/es/LC_MESSAGES/laconica.po rename to locale/es/LC_MESSAGES/statusnet.po index 20c0c04904..c0e69e3a75 100644 --- a/locale/es/LC_MESSAGES/laconica.po +++ b/locale/es/LC_MESSAGES/statusnet.po @@ -279,8 +279,8 @@ msgstr "" #: actions/twitapiusers.php:55 actions/twitapiaccount.php:37 #: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85 #: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121 -#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79 +#: actions/twitapihelp.php:44 actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429 @@ -305,7 +305,7 @@ msgstr "¡No se encontró el método de la API!" #: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45 #: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143 -#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172 +#: actions/twitapihelp.php:52 actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 msgid "API method under construction." @@ -1151,11 +1151,11 @@ msgstr "Invitar nuevos usuarios:" #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609 #, php-format msgid "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public License](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." msgstr "" -"Usa el software de microblogueo [Laconica](http://laconi.ca), versión %s, " +"Usa el software de microblogueo [StatusNet](http://status.net), versión %s, " "disponible bajo la [GNU Affero General Public License](http://www.fsf.org/" "licensing/licenses/agpl-3.0.html)." @@ -4618,8 +4618,8 @@ msgid "Secondary site navigation" msgstr "Navegación de sitio secundario" #: lib/action.php:602 lib/action.php:623 -msgid "Laconica software license" -msgstr "Licencia de software de Laconica" +msgid "StatusNet software license" +msgstr "Licencia de software de StatusNet" #: lib/action.php:630 msgid "All " diff --git a/locale/fi/LC_MESSAGES/laconica.mo b/locale/fi/LC_MESSAGES/statusnet.mo similarity index 78% rename from locale/fi/LC_MESSAGES/laconica.mo rename to locale/fi/LC_MESSAGES/statusnet.mo index afbe91f21d..7e64ddb00d 100644 Binary files a/locale/fi/LC_MESSAGES/laconica.mo and b/locale/fi/LC_MESSAGES/statusnet.mo differ diff --git a/locale/fi/LC_MESSAGES/laconica.po b/locale/fi/LC_MESSAGES/statusnet.po similarity index 99% rename from locale/fi/LC_MESSAGES/laconica.po rename to locale/fi/LC_MESSAGES/statusnet.po index aadccd9a03..5a53dd2df5 100644 --- a/locale/fi/LC_MESSAGES/laconica.po +++ b/locale/fi/LC_MESSAGES/statusnet.po @@ -281,8 +281,8 @@ msgstr "" #: actions/twitapiusers.php:55 actions/twitapiaccount.php:37 #: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85 #: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121 -#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79 +#: actions/twitapihelp.php:44 actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429 @@ -307,7 +307,7 @@ msgstr "API-metodia ei löytynyt!" #: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45 #: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143 -#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172 +#: actions/twitapihelp.php:52 actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 msgid "API method under construction." @@ -1168,11 +1168,11 @@ msgstr "Kutsu uusia käyttäjiä" #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609 #, php-format msgid "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public License](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." msgstr "" -"Sivusto käyttää [Laconica](http://laconi.ca/) mikroblogausohjelmistoa, " +"Sivusto käyttää [StatusNet](http://status.net/) mikroblogausohjelmistoa, " "versio %s, saatavilla lisenssillä [GNU Affero General Public " "License](http://www.fsf.org/licensing/licenses/agpl-3.0.html)." @@ -4596,8 +4596,8 @@ msgid "Secondary site navigation" msgstr "Toissijainen sivunavigointi" #: lib/action.php:602 lib/action.php:623 -msgid "Laconica software license" -msgstr "Laconica-ohjelmiston lisenssi" +msgid "StatusNet software license" +msgstr "StatusNet-ohjelmiston lisenssi" #: lib/action.php:630 msgid "All " diff --git a/locale/fr_FR/LC_MESSAGES/laconica.mo b/locale/fr_FR/LC_MESSAGES/laconica.mo deleted file mode 100644 index d7c7ded012..0000000000 Binary files a/locale/fr_FR/LC_MESSAGES/laconica.mo and /dev/null differ diff --git a/locale/fr_FR/LC_MESSAGES/statusnet.mo b/locale/fr_FR/LC_MESSAGES/statusnet.mo new file mode 100644 index 0000000000..f26b8708d6 Binary files /dev/null and b/locale/fr_FR/LC_MESSAGES/statusnet.mo differ diff --git a/locale/fr_FR/LC_MESSAGES/laconica.po b/locale/fr_FR/LC_MESSAGES/statusnet.po similarity index 99% rename from locale/fr_FR/LC_MESSAGES/laconica.po rename to locale/fr_FR/LC_MESSAGES/statusnet.po index 58fd29067e..23365960ba 100644 --- a/locale/fr_FR/LC_MESSAGES/laconica.po +++ b/locale/fr_FR/LC_MESSAGES/statusnet.po @@ -1,12 +1,12 @@ -# #-#-#-#-# laconica-no-duplicates.po (0.43) #-#-#-#-# -# French translations for Laconica package -# Traductions françaises du paquet Laconica. +# #-#-#-#-# statusnet-no-duplicates.po (0.43) #-#-#-#-# +# French translations for StatusNet package +# Traductions françaises du paquet StatusNet. # Copyright (C) 2008 THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the Laconica package. +# This file is distributed under the same license as the StatusNet package. # Florian Birée , 2008. # For translation choices and other informations, please read -# -# #-#-#-#-# laconica.new.pot (PACKAGE VERSION) #-#-#-#-# +# +# #-#-#-#-# statusnet.new.pot (PACKAGE VERSION) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. @@ -326,8 +326,8 @@ msgstr "" #: actions/twitapifavorites.php:102 #: actions/twitapifriendships.php:121 #: actions/twitapihelp.php:44 -#: actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 +#: actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 #: actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 #: actions/twitapistatuses.php:228 @@ -372,7 +372,7 @@ msgstr "Méthode API non trouvée !" #: actions/twitapidirect_messages.php:184 #: actions/twitapifavorites.php:143 #: actions/twitapihelp.php:52 -#: actions/twitapilaconica.php:172 +#: actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 #: actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 @@ -958,9 +958,9 @@ msgstr "Erreur de base de donnée en insérant le hashtag : %s" msgid "DB error inserting reply: %s" msgstr "Erreur de base de donnée en insérant la réponse :%s" -# De #-#-#-#-# laconica-no-duplicates.po (0.43) #-#-#-#-#\n +# De #-#-#-#-# statusnet-no-duplicates.po (0.43) #-#-#-#-#\n # Nouveau message\n -# #-#-#-#-# laconica.new.pot (PACKAGE VERSION) #-#-#-#-#\n +# #-#-#-#-# statusnet.new.pot (PACKAGE VERSION) #-#-#-#-#\n # à "Supprimer l'avis" #: ../actions/deletenotice.php:41 #: actions/deletenotice.php:41 @@ -1440,8 +1440,8 @@ msgstr "Inviter de nouveaux utilisateurs" #: lib/util.php:277 #: lib/action.php:609 #, php-format -msgid "It runs the [Laconica](http://laconi.ca/) microblogging software, version %s, available under the [GNU Affero General Public License](http://www.fsf.org/licensing/licenses/agpl-3.0.html)." -msgstr "Il utilise le logiciel de micro-blogging [Laconica](http://laconi.ca/), version %s, disponible sous la licence [GNU Affero General Public License] (http://www.fsf.org/licensing/licenses/agpl-3.0.html)." +msgid "It runs the [StatusNet](http://status.net/) microblogging software, version %s, available under the [GNU Affero General Public License](http://www.fsf.org/licensing/licenses/agpl-3.0.html)." +msgstr "Il utilise le logiciel de micro-blogging [StatusNet](http://status.net/), version %s, disponible sous la licence [GNU Affero General Public License] (http://www.fsf.org/licensing/licenses/agpl-3.0.html)." #: ../actions/imsettings.php:173 #: actions/imsettings.php:181 @@ -5538,8 +5538,8 @@ msgstr "Navigation secondaire du site" #: lib/action.php:602 #: lib/action.php:623 -msgid "Laconica software license" -msgstr "Licence du logiciel Laconica" +msgid "StatusNet software license" +msgstr "Licence du logiciel StatusNet" #: lib/action.php:630 msgid "All " @@ -5742,9 +5742,9 @@ msgstr "%1$s a ajouté votre statut depuis %2$s" msgid "From" msgstr "De" -# De #-#-#-#-# laconica-no-duplicates.po (0.43) #-#-#-#-#\n +# De #-#-#-#-# statusnet-no-duplicates.po (0.43) #-#-#-#-#\n # Nouveau message\n -# #-#-#-#-# laconica.new.pot (PACKAGE VERSION) #-#-#-#-#\n +# #-#-#-#-# statusnet.new.pot (PACKAGE VERSION) #-#-#-#-#\n # à "Supprimer l'avis" #: lib/messageform.php:110 msgid "Send a direct notice" @@ -5771,18 +5771,18 @@ msgstr "Répondre à ce statut" msgid "Reply" msgstr "Répondre" -# De #-#-#-#-# laconica-no-duplicates.po (0.43) #-#-#-#-#\n +# De #-#-#-#-# statusnet-no-duplicates.po (0.43) #-#-#-#-#\n # Nouveau message\n -# #-#-#-#-# laconica.new.pot (PACKAGE VERSION) #-#-#-#-#\n +# #-#-#-#-# statusnet.new.pot (PACKAGE VERSION) #-#-#-#-#\n # à "Supprimer l'avis" #: lib/noticelist.php:471 #: lib/noticelist.php:474 msgid "Delete this notice" msgstr "Supprimer ce statut" -# De #-#-#-#-# laconica-no-duplicates.po (0.43) #-#-#-#-#\n +# De #-#-#-#-# statusnet-no-duplicates.po (0.43) #-#-#-#-#\n # Nouveau message\n -# #-#-#-#-# laconica.new.pot (PACKAGE VERSION) #-#-#-#-#\n +# #-#-#-#-# statusnet.new.pot (PACKAGE VERSION) #-#-#-#-#\n # à "Supprimer l'avis" #: lib/noticelist.php:474 msgid "Delete" @@ -5895,11 +5895,11 @@ msgid "Unsubscribe from this user" msgstr "Ne plus suivre cet utilisateur" #~ msgid "" -#~ "It runs the [Laconica](http://laconi.ca/) microblogging software, version " +#~ "It runs the [StatusNet](http://status.net/) microblogging software, version " #~ "%s, available under the [GNU Affero General Public License] (http://www." #~ "fsf.org/licensing/licenses/agpl-3.0.html)." #~ msgstr "" -#~ "Il utilise le logiciel de micro-blogging [Laconica](http://laconi.ca/), " +#~ "Il utilise le logiciel de micro-blogging [StatusNet](http://status.net/), " #~ "version %s, disponible sous la licence [GNU Affero General Public " #~ "License] (http://www.fsf.org/licensing/licenses/agpl-3.0.html)." diff --git a/locale/he_IL/LC_MESSAGES/laconica.mo b/locale/he_IL/LC_MESSAGES/laconica.mo deleted file mode 100644 index 797c883056..0000000000 Binary files a/locale/he_IL/LC_MESSAGES/laconica.mo and /dev/null differ diff --git a/locale/he_IL/LC_MESSAGES/statusnet.mo b/locale/he_IL/LC_MESSAGES/statusnet.mo new file mode 100644 index 0000000000..fce14f20a5 Binary files /dev/null and b/locale/he_IL/LC_MESSAGES/statusnet.mo differ diff --git a/locale/he_IL/LC_MESSAGES/laconica.po b/locale/he_IL/LC_MESSAGES/statusnet.po similarity index 99% rename from locale/he_IL/LC_MESSAGES/laconica.po rename to locale/he_IL/LC_MESSAGES/statusnet.po index 3b55012448..8d43dfeaa6 100644 --- a/locale/he_IL/LC_MESSAGES/laconica.po +++ b/locale/he_IL/LC_MESSAGES/statusnet.po @@ -1,13 +1,13 @@ -# #-#-#-#-# laconica.pot (PACKAGE VERSION) #-#-#-#-# -# Hebrew translation for Laconica +# #-#-#-#-# statusnet.pot (PACKAGE VERSION) #-#-#-#-# +# Hebrew translation for StatusNet # תרגום לעברית של לאקוניה # Copyright (C) 2008 COPYRIGHT HOLDER # כל הזכויות שמורות, 2008 -# This file is distributed under the same license as the Laconica package. +# This file is distributed under the same license as the StatusNet package. # קובץ זה מופץ תחת רשיון זהה לזה של החבילה לאקוניקה # Hezy Amiel חזי עמיאל , 2008. # -# #-#-#-#-# laconica.new.pot (PACKAGE VERSION) #-#-#-#-# +# #-#-#-#-# statusnet.new.pot (PACKAGE VERSION) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. @@ -247,8 +247,8 @@ msgstr "" #: actions/twitapiusers.php:55 actions/twitapiaccount.php:37 #: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85 #: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121 -#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79 +#: actions/twitapihelp.php:44 actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429 @@ -273,7 +273,7 @@ msgstr "" #: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45 #: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143 -#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172 +#: actions/twitapihelp.php:52 actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 msgid "API method under construction." @@ -1089,11 +1089,11 @@ msgstr "" #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609 #, php-format msgid "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public License](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." msgstr "" -"הוא פועל על תוכנת המיקרובלוג [](http://laconi.caלאקוניקה/) לאקוניקה, גירסה %" +"הוא פועל על תוכנת המיקרובלוג [](http://status.netלאקוניקה/) לאקוניקה, גירסה %" "s, המופצת תחת רשיון [GNU Affero General Public License](http://www.fsf.org/" "licensing/licenses/agpl-3.0.html)" @@ -4476,7 +4476,7 @@ msgid "Secondary site navigation" msgstr "הרשמות" #: lib/action.php:602 lib/action.php:623 -msgid "Laconica software license" +msgid "StatusNet software license" msgstr "" #: lib/action.php:630 diff --git a/locale/it_IT/LC_MESSAGES/laconica.mo b/locale/it_IT/LC_MESSAGES/laconica.mo deleted file mode 100644 index 3b17f71d05..0000000000 Binary files a/locale/it_IT/LC_MESSAGES/laconica.mo and /dev/null differ diff --git a/locale/it_IT/LC_MESSAGES/statusnet.mo b/locale/it_IT/LC_MESSAGES/statusnet.mo new file mode 100644 index 0000000000..95764f1e29 Binary files /dev/null and b/locale/it_IT/LC_MESSAGES/statusnet.mo differ diff --git a/locale/it_IT/LC_MESSAGES/laconica.po b/locale/it_IT/LC_MESSAGES/statusnet.po similarity index 99% rename from locale/it_IT/LC_MESSAGES/laconica.po rename to locale/it_IT/LC_MESSAGES/statusnet.po index 13a629b693..1a59adf85b 100644 --- a/locale/it_IT/LC_MESSAGES/laconica.po +++ b/locale/it_IT/LC_MESSAGES/statusnet.po @@ -1,12 +1,12 @@ -# Italian translation of laconica -# Copyright (C) 2008 THE laconica'S COPYRIGHT HOLDER -# This file is distributed under the same license as the laconica package. +# Italian translation of statusnet +# Copyright (C) 2008 THE statusnet'S COPYRIGHT HOLDER +# This file is distributed under the same license as the statusnet package. # Milo Casagrande , 2008 # # msgid "" msgstr "" -"Project-Id-Version: laconica\n" +"Project-Id-Version: statusnet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-01-25 16:24+0000\n" "PO-Revision-Date: 2009-06-04 14:09+0000\n" @@ -286,8 +286,8 @@ msgstr "" #: actions/twitapiusers.php:55 actions/twitapiaccount.php:37 #: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85 #: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121 -#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79 +#: actions/twitapihelp.php:44 actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429 @@ -312,7 +312,7 @@ msgstr "Metodo delle API non trovato!" #: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45 #: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143 -#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172 +#: actions/twitapihelp.php:52 actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 msgid "API method under construction." @@ -1159,11 +1159,11 @@ msgstr "Invita nuovi utenti" #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609 #, php-format msgid "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public License](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." msgstr "" -"Gestito dal software di micro-blog [Laconica](http://laconi.ca/), versione " +"Gestito dal software di micro-blog [StatusNet](http://status.net/), versione " "%s, disponibile sotto licenza [GNU Affero General Public " "License](http://www.fsf.org/licensing/licenses/agpl-3.0.html)." @@ -4582,8 +4582,8 @@ msgid "Secondary site navigation" msgstr "Esplorazione secondaria del sito" #: lib/action.php:602 lib/action.php:623 -msgid "Laconica software license" -msgstr "Licenza del software laconica" +msgid "StatusNet software license" +msgstr "Licenza del software statusnet" #: lib/action.php:630 msgid "All " diff --git a/locale/ja_JP/LC_MESSAGES/laconica.mo b/locale/ja_JP/LC_MESSAGES/laconica.mo deleted file mode 100644 index d2f6ae8f52..0000000000 Binary files a/locale/ja_JP/LC_MESSAGES/laconica.mo and /dev/null differ diff --git a/locale/ja_JP/LC_MESSAGES/statusnet.mo b/locale/ja_JP/LC_MESSAGES/statusnet.mo new file mode 100644 index 0000000000..86efaaf5d3 Binary files /dev/null and b/locale/ja_JP/LC_MESSAGES/statusnet.mo differ diff --git a/locale/ja_JP/LC_MESSAGES/laconica.po b/locale/ja_JP/LC_MESSAGES/statusnet.po similarity index 99% rename from locale/ja_JP/LC_MESSAGES/laconica.po rename to locale/ja_JP/LC_MESSAGES/statusnet.po index e260e585e7..bb7d777ba4 100644 --- a/locale/ja_JP/LC_MESSAGES/laconica.po +++ b/locale/ja_JP/LC_MESSAGES/statusnet.po @@ -1,10 +1,10 @@ -# #-#-#-#-# laconica.pot (PACKAGE VERSION) #-#-#-#-# +# #-#-#-#-# statusnet.pot (PACKAGE VERSION) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Toshiya TSURU , 2008 # -# #-#-#-#-# laconica.new.pot (PACKAGE VERSION) #-#-#-#-# +# #-#-#-#-# statusnet.new.pot (PACKAGE VERSION) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. @@ -245,8 +245,8 @@ msgstr "" #: actions/twitapiusers.php:55 actions/twitapiaccount.php:37 #: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85 #: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121 -#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79 +#: actions/twitapihelp.php:44 actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429 @@ -271,7 +271,7 @@ msgstr "" #: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45 #: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143 -#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172 +#: actions/twitapihelp.php:52 actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 msgid "API method under construction." @@ -1089,11 +1089,11 @@ msgstr "" #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609 #, php-format msgid "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public License](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." msgstr "" -"マイクロブロギングソフト [Laconica](http://laconi.ca/) , バージョン %s で動い" +"マイクロブロギングソフト [StatusNet](http://status.net/) , バージョン %s で動い" "ています。 ライセンス [GNU Affero General Public License](http://www.fsf.org/" "licensing/licenses/agpl-3.0.html)。" @@ -4466,7 +4466,7 @@ msgid "Secondary site navigation" msgstr "サブスクリプション" #: lib/action.php:602 lib/action.php:623 -msgid "Laconica software license" +msgid "StatusNet software license" msgstr "" #: lib/action.php:630 diff --git a/locale/ko_KR/LC_MESSAGES/laconica.mo b/locale/ko_KR/LC_MESSAGES/statusnet.mo similarity index 79% rename from locale/ko_KR/LC_MESSAGES/laconica.mo rename to locale/ko_KR/LC_MESSAGES/statusnet.mo index 7d50135abf..2b177ff86b 100644 Binary files a/locale/ko_KR/LC_MESSAGES/laconica.mo and b/locale/ko_KR/LC_MESSAGES/statusnet.mo differ diff --git a/locale/ko_KR/LC_MESSAGES/laconica.po b/locale/ko_KR/LC_MESSAGES/statusnet.po similarity index 99% rename from locale/ko_KR/LC_MESSAGES/laconica.po rename to locale/ko_KR/LC_MESSAGES/statusnet.po index 6dcb6f5c57..7bbdcdcf27 100644 --- a/locale/ko_KR/LC_MESSAGES/laconica.po +++ b/locale/ko_KR/LC_MESSAGES/statusnet.po @@ -254,8 +254,8 @@ msgstr "추가한 휴대폰으로 인증 코드를 보냈습니다. 수신함( #: actions/twitapiusers.php:55 actions/twitapiaccount.php:37 #: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85 #: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121 -#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79 +#: actions/twitapihelp.php:44 actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429 @@ -280,7 +280,7 @@ msgstr "API 메서드를 찾을 수 없습니다." #: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45 #: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143 -#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172 +#: actions/twitapihelp.php:52 actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 msgid "API method under construction." @@ -1100,11 +1100,11 @@ msgstr "새 사용자를 초대" #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609 #, php-format msgid "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public License](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." msgstr "" -"이 사이트는 [Laconica](http://laconi.ca/) 마이크로블로깅 소프트웨어 %s 버전을 사용합니다. Laconica는 " +"이 사이트는 [StatusNet](http://status.net/) 마이크로블로깅 소프트웨어 %s 버전을 사용합니다. StatusNet는 " "[GNU Affero General Public " "License](http://www.fsf.org/licensing/licenses/agpl-3.0.html) 라이선스에 따라 사용할 수 " "있습니다." @@ -4405,7 +4405,7 @@ msgid "Secondary site navigation" msgstr "보조 사이트 네비게이션" #: lib/action.php:602 lib/action.php:623 -msgid "Laconica software license" +msgid "StatusNet software license" msgstr "라코니카 소프트웨어 라이선스" #: lib/action.php:630 diff --git a/locale/mk_MK/LC_MESSAGES/laconica.mo b/locale/mk_MK/LC_MESSAGES/laconica.mo deleted file mode 100644 index 7820a3f7c2..0000000000 Binary files a/locale/mk_MK/LC_MESSAGES/laconica.mo and /dev/null differ diff --git a/locale/mk_MK/LC_MESSAGES/statusnet.mo b/locale/mk_MK/LC_MESSAGES/statusnet.mo new file mode 100644 index 0000000000..0ac378c79e Binary files /dev/null and b/locale/mk_MK/LC_MESSAGES/statusnet.mo differ diff --git a/locale/mk_MK/LC_MESSAGES/laconica.po b/locale/mk_MK/LC_MESSAGES/statusnet.po similarity index 99% rename from locale/mk_MK/LC_MESSAGES/laconica.po rename to locale/mk_MK/LC_MESSAGES/statusnet.po index e864f89975..d4c4eb2354 100644 --- a/locale/mk_MK/LC_MESSAGES/laconica.po +++ b/locale/mk_MK/LC_MESSAGES/statusnet.po @@ -1,10 +1,10 @@ -# #-#-#-#-# laconica.pot (PACKAGE VERSION) #-#-#-#-# +# #-#-#-#-# statusnet.pot (PACKAGE VERSION) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) 2008 FREE SOFTWARE MACEDONIA # This file is distributed under the same license as the PACKAGE package. # IGOR STAMATOVSKI , 2008. # -# #-#-#-#-# laconica.new.pot (PACKAGE VERSION) #-#-#-#-# +# #-#-#-#-# statusnet.new.pot (PACKAGE VERSION) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. @@ -22,8 +22,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"#-#-#-#-# laconica.pot (PACKAGE VERSION) #-#-#-#-#\n" -"#-#-#-#-# laconica.new.pot (PACKAGE VERSION) #-#-#-#-#\n" +"#-#-#-#-# statusnet.pot (PACKAGE VERSION) #-#-#-#-#\n" +"#-#-#-#-# statusnet.new.pot (PACKAGE VERSION) #-#-#-#-#\n" #: ../actions/noticesearchrss.php:64 actions/noticesearchrss.php:68 #: actions/noticesearchrss.php:88 @@ -249,8 +249,8 @@ msgstr "" #: actions/twitapiusers.php:55 actions/twitapiaccount.php:37 #: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85 #: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121 -#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79 +#: actions/twitapihelp.php:44 actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429 @@ -275,7 +275,7 @@ msgstr "" #: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45 #: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143 -#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172 +#: actions/twitapihelp.php:52 actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 msgid "API method under construction." @@ -1099,11 +1099,11 @@ msgstr "" #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609 #, php-format msgid "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public License](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." msgstr "" -"Работи на [Laconica](http://laconi.ca/) софтверот за микроблогирање, верзија " +"Работи на [StatusNet](http://status.net/) софтверот за микроблогирање, верзија " "%s, достапен пд [GNU Affero General Public License](http://www.fsf.org/" "licensing/licenses/agpl-3.0.html)." @@ -4501,7 +4501,7 @@ msgid "Secondary site navigation" msgstr "Претплати" #: lib/action.php:602 lib/action.php:623 -msgid "Laconica software license" +msgid "StatusNet software license" msgstr "" #: lib/action.php:630 diff --git a/locale/nb_NO/LC_MESSAGES/laconica.mo b/locale/nb_NO/LC_MESSAGES/laconica.mo deleted file mode 100644 index 4cc6b61818..0000000000 Binary files a/locale/nb_NO/LC_MESSAGES/laconica.mo and /dev/null differ diff --git a/locale/nb_NO/LC_MESSAGES/statusnet.mo b/locale/nb_NO/LC_MESSAGES/statusnet.mo new file mode 100644 index 0000000000..7e8a055799 Binary files /dev/null and b/locale/nb_NO/LC_MESSAGES/statusnet.mo differ diff --git a/locale/nb_NO/LC_MESSAGES/laconica.po b/locale/nb_NO/LC_MESSAGES/statusnet.po similarity index 99% rename from locale/nb_NO/LC_MESSAGES/laconica.po rename to locale/nb_NO/LC_MESSAGES/statusnet.po index 424cf4da3b..1165138578 100644 --- a/locale/nb_NO/LC_MESSAGES/laconica.po +++ b/locale/nb_NO/LC_MESSAGES/statusnet.po @@ -1,4 +1,4 @@ -# #-#-#-#-# laconica.new.pot (PACKAGE VERSION) #-#-#-#-# +# #-#-#-#-# statusnet.new.pot (PACKAGE VERSION) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. @@ -249,8 +249,8 @@ msgstr "" #: actions/twitapiusers.php:55 actions/twitapiaccount.php:37 #: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85 #: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121 -#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79 +#: actions/twitapihelp.php:44 actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429 @@ -275,7 +275,7 @@ msgstr "API-metode ikke funnet!" #: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45 #: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143 -#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172 +#: actions/twitapihelp.php:52 actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 msgid "API method under construction." @@ -1105,7 +1105,7 @@ msgstr "" #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609 #, php-format msgid "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public License](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." msgstr "" @@ -4418,7 +4418,7 @@ msgid "Secondary site navigation" msgstr "" #: lib/action.php:602 lib/action.php:623 -msgid "Laconica software license" +msgid "StatusNet software license" msgstr "" #: lib/action.php:630 diff --git a/locale/nl_NL/LC_MESSAGES/laconica.mo b/locale/nl_NL/LC_MESSAGES/laconica.mo deleted file mode 100644 index 270e81b7c5..0000000000 Binary files a/locale/nl_NL/LC_MESSAGES/laconica.mo and /dev/null differ diff --git a/locale/nl_NL/LC_MESSAGES/statusnet.mo b/locale/nl_NL/LC_MESSAGES/statusnet.mo new file mode 100644 index 0000000000..16ce96d0dd Binary files /dev/null and b/locale/nl_NL/LC_MESSAGES/statusnet.mo differ diff --git a/locale/nl_NL/LC_MESSAGES/laconica.po b/locale/nl_NL/LC_MESSAGES/statusnet.po similarity index 99% rename from locale/nl_NL/LC_MESSAGES/laconica.po rename to locale/nl_NL/LC_MESSAGES/statusnet.po index 6f2eed6abb..6cc0a52c49 100644 --- a/locale/nl_NL/LC_MESSAGES/laconica.po +++ b/locale/nl_NL/LC_MESSAGES/statusnet.po @@ -276,8 +276,8 @@ msgstr "" #: actions/twitapiusers.php:55 actions/twitapiaccount.php:37 #: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85 #: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121 -#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79 +#: actions/twitapihelp.php:44 actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429 @@ -302,7 +302,7 @@ msgstr "API functie niet gevonden" #: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45 #: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143 -#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172 +#: actions/twitapihelp.php:52 actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 msgid "API method under construction." @@ -1153,11 +1153,11 @@ msgstr "Nodig nieuwe gebruikers uit" #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609 #, php-format msgid "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public License](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." msgstr "" -"Het draait op de [Laconica](http://laconi.ca/) microbloggingsoftware versie " +"Het draait op de [StatusNet](http://status.net/) microbloggingsoftware versie " "%s, beschikbaar onder de [GNU Affero General Public " "License](http://www.fsf.org/licensing/licenses/agpl-3.0.html)." @@ -4564,7 +4564,7 @@ msgid "Secondary site navigation" msgstr "Abonnementen" #: lib/action.php:602 lib/action.php:623 -msgid "Laconica software license" +msgid "StatusNet software license" msgstr "" #: lib/action.php:630 diff --git a/locale/nn_NO/LC_MESSAGES/laconica.mo b/locale/nn_NO/LC_MESSAGES/statusnet.mo similarity index 77% rename from locale/nn_NO/LC_MESSAGES/laconica.mo rename to locale/nn_NO/LC_MESSAGES/statusnet.mo index f0fc1d6207..7dbde40194 100644 Binary files a/locale/nn_NO/LC_MESSAGES/laconica.mo and b/locale/nn_NO/LC_MESSAGES/statusnet.mo differ diff --git a/locale/nn_NO/LC_MESSAGES/laconica.po b/locale/nn_NO/LC_MESSAGES/statusnet.po similarity index 99% rename from locale/nn_NO/LC_MESSAGES/laconica.po rename to locale/nn_NO/LC_MESSAGES/statusnet.po index ff815409f1..4da276adbf 100644 --- a/locale/nn_NO/LC_MESSAGES/laconica.po +++ b/locale/nn_NO/LC_MESSAGES/statusnet.po @@ -1,9 +1,9 @@ -# nn_NO translation of Laconica. +# nn_NO translation of StatusNet. # # msgid "" msgstr "" -"Project-Id-Version: Laconica 0.6.3\n" +"Project-Id-Version: StatusNet 0.6.3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-01-25 16:24+0000\n" "PO-Revision-Date: 2009-03-16 18:52+0000\n" @@ -268,8 +268,8 @@ msgstr "" #: actions/twitapiusers.php:55 actions/twitapiaccount.php:37 #: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85 #: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121 -#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79 +#: actions/twitapihelp.php:44 actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429 @@ -294,7 +294,7 @@ msgstr "Fann ikkje API-metode." #: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45 #: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143 -#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172 +#: actions/twitapihelp.php:52 actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 msgid "API method under construction." @@ -1133,11 +1133,11 @@ msgstr "Invitér nye brukarar" #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609 #, php-format msgid "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public License](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." msgstr "" -"Den køyrer [Laconica](http://laconi.ca) mikroblogging-programvare, versjon %" +"Den køyrer [StatusNet](http://status.net) mikroblogging-programvare, versjon %" "s, tilgjengeleg under [GNU Affero General Public License](http://www.fsf.org/" "licensing/licenses/agpl-3.0.html)." @@ -4496,8 +4496,8 @@ msgid "Secondary site navigation" msgstr "Andrenivås side navigasjon" #: lib/action.php:602 lib/action.php:623 -msgid "Laconica software license" -msgstr "Laconicas programvarelisens" +msgid "StatusNet software license" +msgstr "StatusNets programvarelisens" #: lib/action.php:630 msgid "All " diff --git a/locale/pl_PL/LC_MESSAGES/laconica.mo b/locale/pl_PL/LC_MESSAGES/laconica.mo deleted file mode 100644 index 89cc4d3494..0000000000 Binary files a/locale/pl_PL/LC_MESSAGES/laconica.mo and /dev/null differ diff --git a/locale/pl_PL/LC_MESSAGES/statusnet.mo b/locale/pl_PL/LC_MESSAGES/statusnet.mo new file mode 100644 index 0000000000..48e5fae7d3 Binary files /dev/null and b/locale/pl_PL/LC_MESSAGES/statusnet.mo differ diff --git a/locale/pl_PL/LC_MESSAGES/laconica.po b/locale/pl_PL/LC_MESSAGES/statusnet.po similarity index 99% rename from locale/pl_PL/LC_MESSAGES/laconica.po rename to locale/pl_PL/LC_MESSAGES/statusnet.po index cf06ef9580..e866145b20 100644 --- a/locale/pl_PL/LC_MESSAGES/laconica.po +++ b/locale/pl_PL/LC_MESSAGES/statusnet.po @@ -1,10 +1,10 @@ -# #-#-#-#-# laconica.pot (PACKAGE VERSION) #-#-#-#-# +# #-#-#-#-# statusnet.pot (PACKAGE VERSION) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Paweł Wilk , 2008. # -# #-#-#-#-# laconica.new.pot (PACKAGE VERSION) #-#-#-#-# +# #-#-#-#-# statusnet.new.pot (PACKAGE VERSION) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. @@ -263,8 +263,8 @@ msgstr "" #: actions/twitapiusers.php:55 actions/twitapiaccount.php:37 #: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85 #: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121 -#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79 +#: actions/twitapihelp.php:44 actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429 @@ -289,7 +289,7 @@ msgstr "metoda API nie znaleziona!" #: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45 #: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143 -#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172 +#: actions/twitapihelp.php:52 actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 msgid "API method under construction." @@ -1121,11 +1121,11 @@ msgstr "Zaproś nowych użytkowników" #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609 #, php-format msgid "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public License](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." msgstr "" -"Działa pod kontrolą oprogramowania [Laconica](http://laconi.ca/) służącego " +"Działa pod kontrolą oprogramowania [StatusNet](http://status.net/) służącego " "do prowadzenia mikroblogów, w wersji %s, dostępnego na licencji [GNU Affero " "General Public License](http://www.fsf.org/licensing/licenses/agpl-3.0.html)." @@ -4541,7 +4541,7 @@ msgid "Secondary site navigation" msgstr "Subskrypcje" #: lib/action.php:602 lib/action.php:623 -msgid "Laconica software license" +msgid "StatusNet software license" msgstr "" #: lib/action.php:630 diff --git a/locale/pt/LC_MESSAGES/laconica.mo b/locale/pt/LC_MESSAGES/laconica.mo deleted file mode 100644 index e6168a340f..0000000000 Binary files a/locale/pt/LC_MESSAGES/laconica.mo and /dev/null differ diff --git a/locale/pt/LC_MESSAGES/statusnet.mo b/locale/pt/LC_MESSAGES/statusnet.mo new file mode 100644 index 0000000000..35d7053bea Binary files /dev/null and b/locale/pt/LC_MESSAGES/statusnet.mo differ diff --git a/locale/pt/LC_MESSAGES/laconica.po b/locale/pt/LC_MESSAGES/statusnet.po similarity index 99% rename from locale/pt/LC_MESSAGES/laconica.po rename to locale/pt/LC_MESSAGES/statusnet.po index 54d484ba8e..779d7489eb 100644 --- a/locale/pt/LC_MESSAGES/laconica.po +++ b/locale/pt/LC_MESSAGES/statusnet.po @@ -273,8 +273,8 @@ msgstr "" #: actions/twitapiusers.php:55 actions/twitapiaccount.php:37 #: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85 #: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121 -#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79 +#: actions/twitapihelp.php:44 actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429 @@ -299,7 +299,7 @@ msgstr "Método da API não encontrado!" #: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45 #: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143 -#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172 +#: actions/twitapihelp.php:52 actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 msgid "API method under construction." @@ -1143,7 +1143,7 @@ msgstr "Convidar novos utilizadores" #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609 #, php-format msgid "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public License](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." msgstr "" @@ -4433,7 +4433,7 @@ msgid "Secondary site navigation" msgstr "" #: lib/action.php:602 lib/action.php:623 -msgid "Laconica software license" +msgid "StatusNet software license" msgstr "" #: lib/action.php:630 diff --git a/locale/pt_BR/LC_MESSAGES/laconica.mo b/locale/pt_BR/LC_MESSAGES/laconica.mo deleted file mode 100644 index 1f4c5fe27c..0000000000 Binary files a/locale/pt_BR/LC_MESSAGES/laconica.mo and /dev/null differ diff --git a/locale/pt_BR/LC_MESSAGES/statusnet.mo b/locale/pt_BR/LC_MESSAGES/statusnet.mo new file mode 100644 index 0000000000..9db1638b08 Binary files /dev/null and b/locale/pt_BR/LC_MESSAGES/statusnet.mo differ diff --git a/locale/pt_BR/LC_MESSAGES/laconica.po b/locale/pt_BR/LC_MESSAGES/statusnet.po similarity index 99% rename from locale/pt_BR/LC_MESSAGES/laconica.po rename to locale/pt_BR/LC_MESSAGES/statusnet.po index ad20e89f68..7fae3f5f32 100644 --- a/locale/pt_BR/LC_MESSAGES/laconica.po +++ b/locale/pt_BR/LC_MESSAGES/statusnet.po @@ -1,8 +1,8 @@ -# Translation of Laconica to Brazilian Portuguese +# Translation of StatusNet to Brazilian Portuguese # Frederico Goncalves Guimaraes , 2009. msgid "" msgstr "" -"Project-Id-Version: laconica\n" +"Project-Id-Version: statusnet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-01-25 16:24+0000\n" "PO-Revision-Date: 2009-07-14 11:24+0000\n" @@ -274,8 +274,8 @@ msgstr "" #: actions/twitapiusers.php:55 actions/twitapiaccount.php:37 #: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85 #: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121 -#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79 +#: actions/twitapihelp.php:44 actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429 @@ -300,7 +300,7 @@ msgstr "O método da API não foi encontrado!" #: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45 #: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143 -#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172 +#: actions/twitapihelp.php:52 actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 msgid "API method under construction." @@ -1144,11 +1144,11 @@ msgstr "Convidar novos usuários" #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609 #, php-format msgid "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public License](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." msgstr "" -"Ele funciona sob o software de microblogagem [Laconica](http://laconi.ca/), " +"Ele funciona sob o software de microblogagem [StatusNet](http://status.net/), " "versão %s, disponível sob a [GNU Affero General Public License] (http://www." "fsf.org/licensing/licenses/agpl-3.0.html)." @@ -4601,7 +4601,7 @@ msgid "Secondary site navigation" msgstr "Navegação pelas assinaturas" #: lib/action.php:602 lib/action.php:623 -msgid "Laconica software license" +msgid "StatusNet software license" msgstr "" #: lib/action.php:630 diff --git a/locale/ru_RU/LC_MESSAGES/laconica.mo b/locale/ru_RU/LC_MESSAGES/statusnet.mo similarity index 82% rename from locale/ru_RU/LC_MESSAGES/laconica.mo rename to locale/ru_RU/LC_MESSAGES/statusnet.mo index 6ebd0713a1..c4066c65e4 100644 Binary files a/locale/ru_RU/LC_MESSAGES/laconica.mo and b/locale/ru_RU/LC_MESSAGES/statusnet.mo differ diff --git a/locale/ru_RU/LC_MESSAGES/laconica.po b/locale/ru_RU/LC_MESSAGES/statusnet.po similarity index 99% rename from locale/ru_RU/LC_MESSAGES/laconica.po rename to locale/ru_RU/LC_MESSAGES/statusnet.po index 8735bacd33..8a553a37f1 100644 --- a/locale/ru_RU/LC_MESSAGES/laconica.po +++ b/locale/ru_RU/LC_MESSAGES/statusnet.po @@ -1,4 +1,4 @@ -# #-#-#-#-# laconica.new.pot (PACKAGE VERSION) #-#-#-#-# +# #-#-#-#-# statusnet.new.pot (PACKAGE VERSION) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. @@ -244,8 +244,8 @@ msgstr "" #: actions/twitapiusers.php:55 actions/twitapiaccount.php:37 #: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85 #: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121 -#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79 +#: actions/twitapihelp.php:44 actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429 @@ -270,7 +270,7 @@ msgstr "Метод API не найден!" #: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45 #: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143 -#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172 +#: actions/twitapihelp.php:52 actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 msgid "API method under construction." @@ -1116,11 +1116,11 @@ msgstr "Пригласить новых пользователей" #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609 #, php-format msgid "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public License](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." msgstr "" -"Этот сервис работает при помощи [Laconica](http://laconi.ca/) - программного " +"Этот сервис работает при помощи [StatusNet](http://status.net/) - программного " "обеспечения для микроблогинга, версии %s, доступного под лицензией [GNU " "Affero General Public License](http://www.fsf.org/licensing/licenses/agpl-" "3.0.html)." @@ -4559,8 +4559,8 @@ msgid "Secondary site navigation" msgstr "Навигация по подпискам" #: lib/action.php:602 lib/action.php:623 -msgid "Laconica software license" -msgstr "Laconica лицензия" +msgid "StatusNet software license" +msgstr "StatusNet лицензия" #: lib/action.php:630 msgid "All " diff --git a/locale/laconica.po b/locale/statusnet.po similarity index 99% rename from locale/laconica.po rename to locale/statusnet.po index ab8e7458e4..c7ac6ac9b1 100644 --- a/locale/laconica.po +++ b/locale/statusnet.po @@ -247,8 +247,8 @@ msgstr "" #: actions/twitapiusers.php:55 actions/twitapiaccount.php:37 #: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85 #: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121 -#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79 +#: actions/twitapihelp.php:44 actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429 @@ -286,7 +286,7 @@ msgstr "" #: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45 #: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143 -#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172 +#: actions/twitapihelp.php:52 actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 actions/twitapiaccount.php:46 #: actions/twitapiaccount.php:98 actions/twitapiaccount.php:104 @@ -1165,7 +1165,7 @@ msgstr "" #: lib/action.php:756 #, php-format msgid "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public License](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." msgstr "" @@ -4765,7 +4765,7 @@ msgstr "" #: lib/action.php:602 lib/action.php:623 lib/action.php:699 lib/action.php:720 #: lib/action.php:749 lib/action.php:770 -msgid "Laconica software license" +msgid "StatusNet software license" msgstr "" #: lib/action.php:630 lib/action.php:727 lib/action.php:779 @@ -5230,7 +5230,7 @@ msgstr "" #, php-format msgid "" "This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-" -"blogging) service based on the Free Software [Laconica](http://laconi.ca/) " +"blogging) service based on the Free Software [StatusNet](http://status.net/) " "tool. [Join now](%%action.register%%) to share notices about yourself with " "friends, family, and colleagues! ([Read more](%%doc.help%%))" msgstr "" @@ -5262,7 +5262,7 @@ msgstr "" msgid "" "**%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 short messages about " +"[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%%%%))" msgstr "" @@ -5313,7 +5313,7 @@ msgstr "" msgid "" "**%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 " +"[StatusNet](http://status.net/) tool. [Join now](%%%%action.register%%%%) to " "follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))" msgstr "" @@ -5939,7 +5939,7 @@ msgstr "" #, php-format msgid "" "This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-" -"blogging) service based on the Free Software [Laconica](http://laconi.ca/) " +"blogging) service based on the Free Software [StatusNet](http://status.net/) " "tool." msgstr "" @@ -6056,7 +6056,7 @@ msgstr "" msgid "" "**%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 short messages about " +"[StatusNet](http://status.net/) tool. Its members share short messages about " "their life and interests. " msgstr "" @@ -6101,7 +6101,7 @@ msgstr "" msgid "" "**%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. " +"[StatusNet](http://status.net/) tool. " msgstr "" #: actions/subscribers.php:108 diff --git a/locale/sv_SE/LC_MESSAGES/laconica.mo b/locale/sv_SE/LC_MESSAGES/laconica.mo deleted file mode 100644 index e2a8fa9ccc..0000000000 Binary files a/locale/sv_SE/LC_MESSAGES/laconica.mo and /dev/null differ diff --git a/locale/sv_SE/LC_MESSAGES/statusnet.mo b/locale/sv_SE/LC_MESSAGES/statusnet.mo new file mode 100644 index 0000000000..ce3c6c1f55 Binary files /dev/null and b/locale/sv_SE/LC_MESSAGES/statusnet.mo differ diff --git a/locale/sv_SE/LC_MESSAGES/laconica.po b/locale/sv_SE/LC_MESSAGES/statusnet.po similarity index 99% rename from locale/sv_SE/LC_MESSAGES/laconica.po rename to locale/sv_SE/LC_MESSAGES/statusnet.po index 4598be4a23..d0a5001da5 100644 --- a/locale/sv_SE/LC_MESSAGES/laconica.po +++ b/locale/sv_SE/LC_MESSAGES/statusnet.po @@ -271,8 +271,8 @@ msgstr "" #: actions/twitapiusers.php:55 actions/twitapiaccount.php:37 #: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85 #: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121 -#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79 +#: actions/twitapihelp.php:44 actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429 @@ -297,7 +297,7 @@ msgstr "API-metoden hittades inte!" #: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45 #: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143 -#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172 +#: actions/twitapihelp.php:52 actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 msgid "API method under construction." @@ -1139,11 +1139,11 @@ msgstr "Bjud in nya användare" #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609 #, php-format msgid "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public License](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." msgstr "" -"Det drivs med [Laconica](http://laconi.ca/) mikroblogging software, version %" +"Det drivs med [StatusNet](http://status.net/) mikroblogging software, version %" "s, tillgängligt under [GNU Affero General Public License](http://www.fsf.org/" "licensing/licenses/agpl-3.0.html)." @@ -4622,7 +4622,7 @@ msgid "Secondary site navigation" msgstr "Prenumerationer" #: lib/action.php:602 lib/action.php:623 -msgid "Laconica software license" +msgid "StatusNet software license" msgstr "" #: lib/action.php:630 diff --git a/locale/te_IN/LC_MESSAGES/laconica.mo b/locale/te_IN/LC_MESSAGES/laconica.mo deleted file mode 100644 index 5cfa0c3fb5..0000000000 Binary files a/locale/te_IN/LC_MESSAGES/laconica.mo and /dev/null differ diff --git a/locale/te_IN/LC_MESSAGES/statusnet.mo b/locale/te_IN/LC_MESSAGES/statusnet.mo new file mode 100644 index 0000000000..bb837b9778 Binary files /dev/null and b/locale/te_IN/LC_MESSAGES/statusnet.mo differ diff --git a/locale/te_IN/LC_MESSAGES/laconica.po b/locale/te_IN/LC_MESSAGES/statusnet.po similarity index 99% rename from locale/te_IN/LC_MESSAGES/laconica.po rename to locale/te_IN/LC_MESSAGES/statusnet.po index e8522f9718..4576f36138 100644 --- a/locale/te_IN/LC_MESSAGES/laconica.po +++ b/locale/te_IN/LC_MESSAGES/statusnet.po @@ -1,10 +1,10 @@ -# #-#-#-#-# laconica.pot (PACKAGE VERSION) #-#-#-#-# -# Laconica Telugu Translation +# #-#-#-#-# statusnet.pot (PACKAGE VERSION) #-#-#-#-# +# StatusNet Telugu Translation # Copyright (C) 2008 THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the Laconica package. +# This file is distributed under the same license as the StatusNet package. # Veeven , 2008. # -# #-#-#-#-# laconica.new.pot (PACKAGE VERSION) #-#-#-#-# +# #-#-#-#-# statusnet.new.pot (PACKAGE VERSION) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. @@ -237,8 +237,8 @@ msgstr "" #: actions/twitapiusers.php:55 actions/twitapiaccount.php:37 #: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85 #: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121 -#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79 +#: actions/twitapihelp.php:44 actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429 @@ -263,7 +263,7 @@ msgstr "" #: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45 #: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143 -#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172 +#: actions/twitapihelp.php:52 actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 msgid "API method under construction." @@ -1082,7 +1082,7 @@ msgstr "" #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609 #, php-format msgid "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public License](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." msgstr "" @@ -4437,7 +4437,7 @@ msgid "Secondary site navigation" msgstr "చందాలు" #: lib/action.php:602 lib/action.php:623 -msgid "Laconica software license" +msgid "StatusNet software license" msgstr "" #: lib/action.php:630 diff --git a/locale/tr_TR/LC_MESSAGES/laconica.mo b/locale/tr_TR/LC_MESSAGES/laconica.mo deleted file mode 100644 index 4b8b55022d..0000000000 Binary files a/locale/tr_TR/LC_MESSAGES/laconica.mo and /dev/null differ diff --git a/locale/tr_TR/LC_MESSAGES/statusnet.mo b/locale/tr_TR/LC_MESSAGES/statusnet.mo new file mode 100644 index 0000000000..e0ef80560f Binary files /dev/null and b/locale/tr_TR/LC_MESSAGES/statusnet.mo differ diff --git a/locale/tr_TR/LC_MESSAGES/laconica.po b/locale/tr_TR/LC_MESSAGES/statusnet.po similarity index 99% rename from locale/tr_TR/LC_MESSAGES/laconica.po rename to locale/tr_TR/LC_MESSAGES/statusnet.po index cb8bf60e77..e67fbf33c3 100644 --- a/locale/tr_TR/LC_MESSAGES/laconica.po +++ b/locale/tr_TR/LC_MESSAGES/statusnet.po @@ -1,4 +1,4 @@ -# #-#-#-#-# laconica.new.pot (PACKAGE VERSION) #-#-#-#-# +# #-#-#-#-# statusnet.new.pot (PACKAGE VERSION) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. @@ -245,8 +245,8 @@ msgstr "" #: actions/twitapiusers.php:55 actions/twitapiaccount.php:37 #: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85 #: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121 -#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79 +#: actions/twitapihelp.php:44 actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429 @@ -271,7 +271,7 @@ msgstr "" #: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45 #: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143 -#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172 +#: actions/twitapihelp.php:52 actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 msgid "API method under construction." @@ -1096,12 +1096,12 @@ msgstr "" #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609 #, php-format msgid "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public License](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." msgstr "" "nedurum.com [GNU Affero General Public License](http://www.fsf.org/licensing/" -"licenses/agpl-3.0.html) lisansı ile korunan [Laconica](http://laconi.ca/) " +"licenses/agpl-3.0.html) lisansı ile korunan [StatusNet](http://status.net/) " "microbloglama yazılımının %s. versiyonunu kullanmaktadır." #: ../actions/imsettings.php:173 actions/imsettings.php:181 @@ -4506,7 +4506,7 @@ msgid "Secondary site navigation" msgstr "Abonelikler" #: lib/action.php:602 lib/action.php:623 -msgid "Laconica software license" +msgid "StatusNet software license" msgstr "" #: lib/action.php:630 diff --git a/locale/uk_UA/LC_MESSAGES/laconica.mo b/locale/uk_UA/LC_MESSAGES/statusnet.mo similarity index 82% rename from locale/uk_UA/LC_MESSAGES/laconica.mo rename to locale/uk_UA/LC_MESSAGES/statusnet.mo index 34818a2357..e08dc4e9c4 100644 Binary files a/locale/uk_UA/LC_MESSAGES/laconica.mo and b/locale/uk_UA/LC_MESSAGES/statusnet.mo differ diff --git a/locale/uk_UA/LC_MESSAGES/laconica.po b/locale/uk_UA/LC_MESSAGES/statusnet.po similarity index 99% rename from locale/uk_UA/LC_MESSAGES/laconica.po rename to locale/uk_UA/LC_MESSAGES/statusnet.po index 12809a3f62..55cea21c31 100644 --- a/locale/uk_UA/LC_MESSAGES/laconica.po +++ b/locale/uk_UA/LC_MESSAGES/statusnet.po @@ -1,4 +1,4 @@ -# #-#-#-#-# laconica.new.pot (PACKAGE VERSION) #-#-#-#-# +# #-#-#-#-# statusnet.new.pot (PACKAGE VERSION) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-01-25 16:24+0000\n" "PO-Revision-Date: 2009-03-12 16:19+0000\n" -"Last-Translator: Evan Prodromou \n" +"Last-Translator: Evan Prodromou \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -280,8 +280,8 @@ msgstr "" #: actions/twitapiusers.php:55 actions/twitapiaccount.php:37 #: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85 #: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121 -#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79 +#: actions/twitapihelp.php:44 actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429 @@ -306,7 +306,7 @@ msgstr "API метод не знайдено!" #: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45 #: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143 -#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172 +#: actions/twitapihelp.php:52 actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 msgid "API method under construction." @@ -1153,11 +1153,11 @@ msgstr "Запросити нових користувачів" #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609 #, php-format msgid "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public License](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." msgstr "" -"Сервіс працює на [Laconica](http://laconi.ca/) - програмному забезпеченні " +"Сервіс працює на [StatusNet](http://status.net/) - програмному забезпеченні " "для мікроблогів, версія %s, доступному під [GNU Affero General Public " "License](http://www.fsf.org/licensing/licenses/agpl-3.0.html)." @@ -4545,8 +4545,8 @@ msgid "Secondary site navigation" msgstr "Другорядна навігація по сайту" #: lib/action.php:602 lib/action.php:623 -msgid "Laconica software license" -msgstr "Ліцензія Laconica software" +msgid "StatusNet software license" +msgstr "Ліцензія StatusNet software" #: lib/action.php:630 msgid "All " diff --git a/locale/vi_VN/LC_MESSAGES/laconica.mo b/locale/vi_VN/LC_MESSAGES/laconica.mo deleted file mode 100644 index b7f5e3c2c9..0000000000 Binary files a/locale/vi_VN/LC_MESSAGES/laconica.mo and /dev/null differ diff --git a/locale/vi_VN/LC_MESSAGES/statusnet.mo b/locale/vi_VN/LC_MESSAGES/statusnet.mo new file mode 100644 index 0000000000..65add28b47 Binary files /dev/null and b/locale/vi_VN/LC_MESSAGES/statusnet.mo differ diff --git a/locale/vi_VN/LC_MESSAGES/laconica.po b/locale/vi_VN/LC_MESSAGES/statusnet.po similarity index 99% rename from locale/vi_VN/LC_MESSAGES/laconica.po rename to locale/vi_VN/LC_MESSAGES/statusnet.po index 0b9477a6ac..af34d52106 100644 --- a/locale/vi_VN/LC_MESSAGES/laconica.po +++ b/locale/vi_VN/LC_MESSAGES/statusnet.po @@ -1,6 +1,6 @@ msgid "" msgstr "" -"Project-Id-Version: laconica\n" +"Project-Id-Version: statusnet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-01-25 16:24+0000\n" "PO-Revision-Date: 2009-05-10 05:27+0000\n" @@ -271,8 +271,8 @@ msgstr "" #: actions/twitapiusers.php:55 actions/twitapiaccount.php:37 #: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85 #: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121 -#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79 +#: actions/twitapihelp.php:44 actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429 @@ -297,7 +297,7 @@ msgstr "Phương thức API không tìm thấy!" #: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45 #: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143 -#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172 +#: actions/twitapihelp.php:52 actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 msgid "API method under construction." @@ -1147,11 +1147,11 @@ msgstr "Gửi thư mời đến những người chưa có tài khoản" #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609 #, fuzzy, php-format msgid "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public License](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." msgstr "" -"Đang dùng [Laconica](http://laconi.ca/), phiên bản %s phát hành theo bản " +"Đang dùng [StatusNet](http://status.net/), phiên bản %s phát hành theo bản " "quyền [GNU Affero General Public " "License](http://www.fsf.org/licensing/licenses/agpl-3.0.html)." @@ -4705,7 +4705,7 @@ msgid "Secondary site navigation" msgstr "Tôi theo" #: lib/action.php:602 lib/action.php:623 -msgid "Laconica software license" +msgid "StatusNet software license" msgstr "" #: lib/action.php:630 @@ -5097,11 +5097,11 @@ msgstr "Ngừng đăng ký từ người dùng này" #~ msgstr "FAQ - Hỏi đáp" #~ msgid "" -#~ "It runs the [Laconica](http://laconi.ca/) microblogging software, version " +#~ "It runs the [StatusNet](http://status.net/) microblogging software, version " #~ "%s, available under the [GNU Affero General Public License] (http://www." #~ "fsf.org/licensing/licenses/agpl-3.0.html)." #~ msgstr "" -#~ "Microblogging [Laconica](http://laconi.ca/), version %s đã có ở [GNU " +#~ "Microblogging [StatusNet](http://status.net/), version %s đã có ở [GNU " #~ "Affero General Public License] (http://www.fsf.org/licensing/licenses/" #~ "agpl-3.0.html)." @@ -5282,7 +5282,7 @@ msgstr "Ngừng đăng ký từ người dùng này" #~ msgid "" #~ "To use this [Saigonica version](%%doc.source%%), you must write the " -#~ "license is of Laconica and has contributions from Saigonica." +#~ "license is of StatusNet and has contributions from Saigonica." #~ msgstr "" #~ "Để sử dụng [phiên bản Saigonica](%%doc.source%%) này, cần ghi rõ bản " #~ "quyền của Laconia cộng thêm sự đóng góp của Saigonica." diff --git a/locale/zh_CN/LC_MESSAGES/laconica.mo b/locale/zh_CN/LC_MESSAGES/laconica.mo deleted file mode 100644 index 2d380582a0..0000000000 Binary files a/locale/zh_CN/LC_MESSAGES/laconica.mo and /dev/null differ diff --git a/locale/zh_CN/LC_MESSAGES/statusnet.mo b/locale/zh_CN/LC_MESSAGES/statusnet.mo new file mode 100644 index 0000000000..a7a79f40ce Binary files /dev/null and b/locale/zh_CN/LC_MESSAGES/statusnet.mo differ diff --git a/locale/zh_CN/LC_MESSAGES/laconica.po b/locale/zh_CN/LC_MESSAGES/statusnet.po similarity index 99% rename from locale/zh_CN/LC_MESSAGES/laconica.po rename to locale/zh_CN/LC_MESSAGES/statusnet.po index 5d285122de..529d2f4f89 100644 --- a/locale/zh_CN/LC_MESSAGES/laconica.po +++ b/locale/zh_CN/LC_MESSAGES/statusnet.po @@ -258,8 +258,8 @@ msgstr "" #: actions/twitapiusers.php:55 actions/twitapiaccount.php:37 #: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85 #: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121 -#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79 +#: actions/twitapihelp.php:44 actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429 @@ -284,7 +284,7 @@ msgstr "API 方法未实现!" #: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45 #: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143 -#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172 +#: actions/twitapihelp.php:52 actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 msgid "API method under construction." @@ -1107,11 +1107,11 @@ msgstr "邀请新用户" #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609 #, php-format msgid "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public License](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." msgstr "" -"它运行[Laconica](http://laconi.ca/)微博客服务,版本 %s,采用[GNU Affero " +"它运行[StatusNet](http://status.net/)微博客服务,版本 %s,采用[GNU Affero " "General Public License](http://www.fsf.org/licensing/licenses/agpl-3.0.html)" "授权。" @@ -4528,8 +4528,8 @@ msgid "Secondary site navigation" msgstr "次项站导航" #: lib/action.php:602 lib/action.php:623 -msgid "Laconica software license" -msgstr "Laconica软件注册证" +msgid "StatusNet software license" +msgstr "StatusNet软件注册证" #: lib/action.php:630 msgid "All " diff --git a/locale/zh_TW/LC_MESSAGES/laconica.mo b/locale/zh_TW/LC_MESSAGES/statusnet.mo similarity index 89% rename from locale/zh_TW/LC_MESSAGES/laconica.mo rename to locale/zh_TW/LC_MESSAGES/statusnet.mo index 5b23372fb2..e135488319 100644 Binary files a/locale/zh_TW/LC_MESSAGES/laconica.mo and b/locale/zh_TW/LC_MESSAGES/statusnet.mo differ diff --git a/locale/zh_TW/LC_MESSAGES/laconica.po b/locale/zh_TW/LC_MESSAGES/statusnet.po similarity index 99% rename from locale/zh_TW/LC_MESSAGES/laconica.po rename to locale/zh_TW/LC_MESSAGES/statusnet.po index c6f8806238..a941875188 100644 --- a/locale/zh_TW/LC_MESSAGES/laconica.po +++ b/locale/zh_TW/LC_MESSAGES/statusnet.po @@ -9,7 +9,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-01-25 16:24+0000\n" "PO-Revision-Date: 2009-03-12 16:21+0000\n" -"Last-Translator: Evan Prodromou \n" +"Last-Translator: Evan Prodromou \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -237,8 +237,8 @@ msgstr "" #: actions/twitapiusers.php:55 actions/twitapiaccount.php:37 #: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85 #: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121 -#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82 -#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79 +#: actions/twitapihelp.php:44 actions/twitapistatusnet.php:82 +#: actions/twitapistatusnet.php:151 actions/twitapistatuses.php:79 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429 @@ -263,7 +263,7 @@ msgstr "" #: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45 #: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143 -#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172 +#: actions/twitapihelp.php:52 actions/twitapistatusnet.php:172 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37 #: actions/twitapistatuses.php:562 msgid "API method under construction." @@ -1077,7 +1077,7 @@ msgstr "" #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609 #, php-format msgid "" -"It runs the [Laconica](http://laconi.ca/) microblogging software, version %" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" "s, available under the [GNU Affero General Public License](http://www.fsf." "org/licensing/licenses/agpl-3.0.html)." msgstr "" @@ -4398,7 +4398,7 @@ msgid "Secondary site navigation" msgstr "" #: lib/action.php:602 lib/action.php:623 -msgid "Laconica software license" +msgid "StatusNet software license" msgstr "" #: lib/action.php:630 diff --git a/plugins/Autocomplete/Autocomplete.js b/plugins/Autocomplete/Autocomplete.js index e799c11e50..dfadea0045 100644 --- a/plugins/Autocomplete/Autocomplete.js +++ b/plugins/Autocomplete/Autocomplete.js @@ -17,7 +17,7 @@ $(document).ready(function(){ }); } ); - $.getJSON($('address .url')[0].href+'/api/laconica/groups/list.json?user_id=' + current_user['id'] + '&callback=?', + $.getJSON($('address .url')[0].href+'/api/statusnet/groups/list.json?user_id=' + current_user['id'] + '&callback=?', function(groups){ $('#notice_data-text').autocomplete(groups, { multiple: true, diff --git a/plugins/Autocomplete/AutocompletePlugin.php b/plugins/Autocomplete/AutocompletePlugin.php index 58b6a84cab..b753972703 100644 --- a/plugins/Autocomplete/AutocompletePlugin.php +++ b/plugins/Autocomplete/AutocompletePlugin.php @@ -1,6 +1,6 @@ . * * @category Plugin - * @package Laconica + * @package StatusNet * @author Craig Andrews * @copyright 2009 Craig Andrews http://candrews.integralblue.com * @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); } @@ -52,7 +52,7 @@ EOT; } } - function onEndShowLaconicaStyles($action) + function onEndShowStatusNetStyles($action) { if (common_logged_in()) { $action->cssLink('plugins/Autocomplete/jquery-autocomplete/jquery.autocomplete.css'); diff --git a/plugins/BlogspamNetPlugin.php b/plugins/BlogspamNetPlugin.php index d9372bcd56..c14569746f 100644 --- a/plugins/BlogspamNetPlugin.php +++ b/plugins/BlogspamNetPlugin.php @@ -1,6 +1,6 @@ . * * @category Plugin - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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')) { exit(1); } @@ -45,10 +45,10 @@ define('BLOGSPAMNETPLUGIN_VERSION', '0.1'); * hits, but it's better than nothing. * * @category Plugin - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 Event */ @@ -139,6 +139,6 @@ class BlogspamNetPlugin extends Plugin function userAgent() { - return 'BlogspamNetPlugin/'.BLOGSPAMNETPLUGIN_VERSION . ' Laconica/' . LACONICA_VERSION; + return 'BlogspamNetPlugin/'.BLOGSPAMNETPLUGIN_VERSION . ' StatusNet/' . STATUSNET_VERSION; } } diff --git a/plugins/Comet/CometPlugin.php b/plugins/Comet/CometPlugin.php index 1735d2b15a..300d1e9a24 100644 --- a/plugins/Comet/CometPlugin.php +++ b/plugins/Comet/CometPlugin.php @@ -1,6 +1,6 @@ . * * @category Plugin - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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,10 +37,10 @@ require_once INSTALLDIR.'/plugins/Realtime/RealtimePlugin.php'; * Plugin to do realtime updates using Comet * * @category Plugin - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 CometPlugin extends RealtimePlugin diff --git a/plugins/FBConnect/FBCLoginGroupNav.php b/plugins/FBConnect/FBCLoginGroupNav.php index 6eb09c3c01..6e12c20403 100644 --- a/plugins/FBConnect/FBCLoginGroupNav.php +++ b/plugins/FBConnect/FBCLoginGroupNav.php @@ -1,6 +1,6 @@ . * * @category Menu - * @package Laconica - * @author Evan Prodromou - * @author Zach Copley - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Zach Copley + * @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/widget.php'; * Menu for login group of actions * * @category Output - * @package Laconica - * @author Evan Prodromou - * @author Zach Copley + * @package StatusNet + * @author Evan Prodromou + * @author Zach Copley * @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 */ diff --git a/plugins/FBConnect/FBCSettingsNav.php b/plugins/FBConnect/FBCSettingsNav.php index 8b84118532..29724d6bdf 100644 --- a/plugins/FBConnect/FBCSettingsNav.php +++ b/plugins/FBConnect/FBCSettingsNav.php @@ -1,6 +1,6 @@ . * * @category Menu - * @package Laconica - * @author Evan Prodromou - * @author Zach Copley - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Zach Copley + * @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/widget.php'; * A widget for showing the connect group local nav menu * * @category Output - * @package Laconica - * @author Evan Prodromou - * @author Zach Copley + * @package StatusNet + * @author Evan Prodromou + * @author Zach Copley * @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 */ diff --git a/plugins/FBConnect/FBC_XDReceiver.php b/plugins/FBConnect/FBC_XDReceiver.php index 19251cca4d..2bc790d5a0 100644 --- a/plugins/FBConnect/FBC_XDReceiver.php +++ b/plugins/FBConnect/FBC_XDReceiver.php @@ -1,6 +1,6 @@ . * * @category Plugin - * @package Laconica - * @author Zach Copley - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Zach Copley + * @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/ */ require_once INSTALLDIR . '/plugins/FBConnect/FBConnectPlugin.php'; diff --git a/plugins/FBConnect/FBConnectLogin.php b/plugins/FBConnect/FBConnectLogin.php index 205086cd8b..5696d88489 100644 --- a/plugins/FBConnect/FBConnectLogin.php +++ b/plugins/FBConnect/FBConnectLogin.php @@ -1,6 +1,6 @@ . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/plugins/FBConnect/FBConnectPlugin.css b/plugins/FBConnect/FBConnectPlugin.css index e52675459e..49217bf13f 100644 --- a/plugins/FBConnect/FBConnectPlugin.css +++ b/plugins/FBConnect/FBConnectPlugin.css @@ -1,10 +1,10 @@ /** Styles for Facebook logo and Facebook user profile avatar. * - * @package Laconica - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Sarven Capadisli + * @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/ */ #site_nav_global_primary #nav_fb { diff --git a/plugins/FBConnect/FBConnectPlugin.php b/plugins/FBConnect/FBConnectPlugin.php index c1bd1c0944..593b49b4ed 100644 --- a/plugins/FBConnect/FBConnectPlugin.php +++ b/plugins/FBConnect/FBConnectPlugin.php @@ -1,6 +1,6 @@ . * * @category Plugin - * @package Laconica - * @author Zach Copley - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Zach Copley + * @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); } @@ -45,10 +45,10 @@ require_once INSTALLDIR . '/plugins/FBConnect/FBC_XDReceiver.php'; * Plugin to enable Facebook Connect * * @category Plugin - * @package Laconica - * @author Zach Copley + * @package StatusNet + * @author Zach Copley * @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 FBConnectPlugin extends Plugin @@ -148,7 +148,7 @@ class FBConnectPlugin extends Plugin } } - function onEndShowLaconicaStyles($action) + function onEndShowStatusNetStyles($action) { if ($this->reqFbScripts($action)) { diff --git a/plugins/FBConnect/FBConnectSettings.php b/plugins/FBConnect/FBConnectSettings.php index d1bea0854e..911c567873 100644 --- a/plugins/FBConnect/FBConnectSettings.php +++ b/plugins/FBConnect/FBConnectSettings.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica - * @author Zach Copley - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Zach Copley + * @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,10 +37,10 @@ require_once INSTALLDIR.'/lib/connectsettingsaction.php'; * Facebook Connect settings action * * @category Settings - * @package Laconica - * @author Zach Copley + * @package StatusNet + * @author Zach Copley * @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 FBConnectSettingsAction extends ConnectSettingsAction diff --git a/plugins/FBConnect/README b/plugins/FBConnect/README index 11e5ce4537..77d57eff92 100644 --- a/plugins/FBConnect/README +++ b/plugins/FBConnect/README @@ -1,18 +1,18 @@ -This plugin allows you to utilize Facebook Connect with Laconica. +This plugin allows you to utilize Facebook Connect with StatusNet. Supported Facebook Connect features: - Authenticate (register/login/logout -- works similar to OpenID) -- Associate an existing Laconica account with a Facebook account -- Disconnect a Facebook account from a Laconica account +- Associate an existing StatusNet account with a Facebook account +- Disconnect a Facebook account from a StatusNet account Future planned functionality: -- Invite Facebook friends to use your Laconica installation -- Auto-subscribe Facebook friends already using Laconica -- Share Laconica favorite notices to your Facebook stream +- Invite Facebook friends to use your StatusNet installation +- Auto-subscribe Facebook friends already using StatusNet +- Share StatusNet favorite notices to your Facebook stream To use the plugin you will need to configure a Facebook application -to point to your Laconica installation (see the Installation section +to point to your StatusNet installation (see the Installation section below). Installation @@ -26,16 +26,16 @@ Facebook developer wiki: http://wiki.developers.facebook.com/index.php/Connect/Setting_Up_Your_Site -If you already are using the build-in Laconica Facebook application, +If you already are using the build-in StatusNet Facebook application, you can modify your existing application's configuration using the Facebook Developer Application on Facebook. Use it to edit your application settings, and under the 'Connect' tab, change the 'Connect -URL' to be the main URL for your Laconica site. E.g.: +URL' to be the main URL for your StatusNet site. E.g.: - http://SITE/PATH_TO_LACONICA/ + http://SITE/PATH_TO_STATUSNET/ After you application is created and configured, you'll need to add its -API key and secret to your Laconica config.php file: +API key and secret to your StatusNet config.php file: $config['facebook']['apikey'] = 'APIKEY'; $config['facebook']['secret'] = 'SECRET'; @@ -47,11 +47,11 @@ config.php: To try out the plugin, fire up your browser and connect to: - http://SITE/PATH_TO_LACONICA/main/facebooklogin + http://SITE/PATH_TO_STATUSNET/main/facebooklogin or, if you do not have fancy URLs turned on: - http://SITE/PATH_TO_LACONICA/index.php/main/facebooklogin + http://SITE/PATH_TO_STATUSNET/index.php/main/facebooklogin You should see a page with a blue button that says: "Connect with Facebook". @@ -62,10 +62,10 @@ Connect/Disconnect existing account If the Facebook Connect plugin is enabled, there will be a new Facebook Connect Settings tab under each user's Connect menu. Users can connect and disconnect to their Facebook accounts from it. Note: Before a user -can disconnect from Facebook, she must set a normal Laconica password. +can disconnect from Facebook, she must set a normal StatusNet password. Otherwise, she might not be able to login in to her account in the future. This is usually only required for users who have used Facebook -Connect to register their Laconica account, and therefore haven't +Connect to register their StatusNet account, and therefore haven't already set a local password. Helpful links diff --git a/plugins/GoogleAnalyticsPlugin.php b/plugins/GoogleAnalyticsPlugin.php index 1ecbb664e0..7f3d209ee6 100644 --- a/plugins/GoogleAnalyticsPlugin.php +++ b/plugins/GoogleAnalyticsPlugin.php @@ -1,6 +1,6 @@ . * * @category Plugin - * @package Laconica - * @author Evan Prodromou - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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')) { exit(1); } @@ -40,10 +40,10 @@ if (!defined('LACONICA')) { * Piwik (http://www.piwik.org/) instead! * * @category Plugin - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 Event */ diff --git a/plugins/InfiniteScroll/InfiniteScrollPlugin.php b/plugins/InfiniteScroll/InfiniteScrollPlugin.php index 1e4a03e4f1..c955298cb9 100644 --- a/plugins/InfiniteScroll/InfiniteScrollPlugin.php +++ b/plugins/InfiniteScroll/InfiniteScrollPlugin.php @@ -1,6 +1,6 @@ . * * @category Plugin - * @package Laconica + * @package StatusNet * @author Craig Andrews * @copyright 2009 Craig Andrews http://candrews.integralblue.com * @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); } diff --git a/plugins/InfiniteScroll/readme.txt b/plugins/InfiniteScroll/readme.txt index 3ce3b7fd23..2428cc69a3 100644 --- a/plugins/InfiniteScroll/readme.txt +++ b/plugins/InfiniteScroll/readme.txt @@ -1,4 +1,4 @@ -Infinite Scroll adds the following functionality to your Laconica installation: When a user scrolls towards the bottom of the page, the next page of notices is automatically retrieved and appended. This means they never need to click "Next Page", which dramatically increases stickiness. +Infinite Scroll adds the following functionality to your StatusNet installation: When a user scrolls towards the bottom of the page, the next page of notices is automatically retrieved and appended. This means they never need to click "Next Page", which dramatically increases stickiness. Installation ============ diff --git a/plugins/LilUrl/LilUrlPlugin.php b/plugins/LilUrl/LilUrlPlugin.php new file mode 100644 index 0000000000..7665b6c1e4 --- /dev/null +++ b/plugins/LilUrl/LilUrlPlugin.php @@ -0,0 +1,64 @@ +. + * + * @category Plugin + * @package StatusNet + * @author Craig Andrews + * @copyright 2009 Craig Andrews http://candrews.integralblue.com + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +require_once(INSTALLDIR.'/lib/Shorturl_api.php'); + +class LilUrlPlugin extends Plugin +{ + function __construct() + { + parent::__construct(); + } + + function onInitializePlugin(){ + $this->registerUrlShortener( + 'ur1.ca', + array('freeService'=>true), + array('LilUrl',array('http://ur1.ca/')) + ); + } +} + +class LilUrl extends ShortUrlApi +{ + protected function shorten_imp($url) { + $data['longurl'] = $url; + $response = $this->http_post($data); + if (!$response) return $url; + $y = @simplexml_load_string($response); + if (!isset($y->body)) return $url; + $x = $y->body->p[0]->a->attributes(); + if (isset($x['href'])) return $x['href']; + return $url; + } +} diff --git a/plugins/LinkbackPlugin.php b/plugins/LinkbackPlugin.php index 93a0294c4c..c49f70de0d 100644 --- a/plugins/LinkbackPlugin.php +++ b/plugins/LinkbackPlugin.php @@ -1,6 +1,6 @@ . * * @category Plugin - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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')) { exit(1); } @@ -42,10 +42,10 @@ define('LINKBACKPLUGIN_VERSION', '0.1'); * are URLs, we test each URL to see if it supports any * * @category Plugin - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 Event */ @@ -225,6 +225,6 @@ class LinkbackPlugin extends Plugin function userAgent() { return 'LinkbackPlugin/'.LINKBACKPLUGIN_VERSION . - ' Laconica/' . LACONICA_VERSION; + ' StatusNet/' . STATUSNET_VERSION; } } diff --git a/plugins/Meteor/MeteorPlugin.php b/plugins/Meteor/MeteorPlugin.php index d54d565bda..5b345d7c2f 100644 --- a/plugins/Meteor/MeteorPlugin.php +++ b/plugins/Meteor/MeteorPlugin.php @@ -1,6 +1,6 @@ . * * @category Plugin - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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,10 +37,10 @@ require_once INSTALLDIR.'/plugins/Realtime/RealtimePlugin.php'; * Plugin to do realtime updates using Meteor * * @category Plugin - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 MeteorPlugin extends RealtimePlugin diff --git a/plugins/OpenID/finishaddopenid.php b/plugins/OpenID/finishaddopenid.php index 7753158d5d..6e889205d7 100644 --- a/plugins/OpenID/finishaddopenid.php +++ b/plugins/OpenID/finishaddopenid.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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.'/plugins/OpenID/openid.php'; * Handle the return from an OpenID verification * * @category Settings - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 diff --git a/plugins/OpenID/finishopenidlogin.php b/plugins/OpenID/finishopenidlogin.php index bc0d2d66c3..50a9c15c87 100644 --- a/plugins/OpenID/finishopenidlogin.php +++ b/plugins/OpenID/finishopenidlogin.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/plugins/OpenID/openid.php'; @@ -410,7 +410,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 diff --git a/plugins/OpenID/openid.php b/plugins/OpenID/openid.php index 4787cd605d..0944117c00 100644 --- a/plugins/OpenID/openid.php +++ b/plugins/OpenID/openid.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/plugins/OpenID/User_openid.php'); diff --git a/plugins/OpenID/openidlogin.php b/plugins/OpenID/openidlogin.php index 3d968c56e2..07c82db3e1 100644 --- a/plugins/OpenID/openidlogin.php +++ b/plugins/OpenID/openidlogin.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/plugins/OpenID/openid.php'; diff --git a/plugins/OpenID/openidsettings.php b/plugins/OpenID/openidsettings.php index 26bf648366..104ea8d889 100644 --- a/plugins/OpenID/openidsettings.php +++ b/plugins/OpenID/openidsettings.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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.'/plugins/OpenID/openid.php'; * Lets users add, edit and delete OpenIDs from their account * * @category Settings - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 diff --git a/plugins/OpenID/publicxrds.php b/plugins/OpenID/publicxrds.php index f088c25d12..1b2b359caa 100644 --- a/plugins/OpenID/publicxrds.php +++ b/plugins/OpenID/publicxrds.php @@ -6,14 +6,14 @@ * PHP version 5 * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @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 . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } @@ -39,11 +39,11 @@ require_once INSTALLDIR.'/plugins/OpenID/openid.php'; * Public XRDS for OpenID * * @category Action - * @package Laconica - * @author Evan Prodromou - * @author Robin Millette + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * @todo factor out similarities with XrdsAction */ diff --git a/plugins/PiwikAnalyticsPlugin.php b/plugins/PiwikAnalyticsPlugin.php index dc3c7c37fe..85a24c1320 100644 --- a/plugins/PiwikAnalyticsPlugin.php +++ b/plugins/PiwikAnalyticsPlugin.php @@ -1,6 +1,6 @@ . * * @category Plugin - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @author Tobias Diekershoff - * @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/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } @@ -45,13 +45,13 @@ if (!defined('LACONICA')) { * * exchange example.com/piwik/ with the url to your piwik installation and * make sure you don't forget the final / - * exchange id with the ID your laconica installation has in your Piwik analytics + * exchange id with the ID your statusnet installation has in your Piwik analytics * * @category Plugin - * @package Laconica + * @package StatusNet * @author Tobias Diekershoff * @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 Event */ @@ -60,7 +60,7 @@ class PiwikAnalyticsPlugin extends Plugin { /** the base of your Piwik installation */ var $piwikroot = null; - /** the Piwik Id of your laconica installation */ + /** the Piwik Id of your statusnet installation */ var $piwikId = null; /** diff --git a/plugins/PtitUrl/PtitUrlPlugin.php b/plugins/PtitUrl/PtitUrlPlugin.php new file mode 100644 index 0000000000..f00d3e2f21 --- /dev/null +++ b/plugins/PtitUrl/PtitUrlPlugin.php @@ -0,0 +1,62 @@ +. + * + * @category Plugin + * @package StatusNet + * @author Craig Andrews + * @copyright 2009 Craig Andrews http://candrews.integralblue.com + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +class PtitUrlPlugin extends Plugin +{ + function __construct() + { + parent::__construct(); + } + + function onInitializePlugin(){ + $this->registerUrlShortener( + 'ptiturl.com', + array(), + array('PtitUrl',array('http://ptiturl.com/?creer=oui&action=Reduire&url=')) + ); + } +} + +class PtitUrl extends ShortUrlApi +{ + protected function shorten_imp($url) { + $response = $this->http_get($url); + if (!$response) return $url; + $response = $this->tidy($response); + $y = @simplexml_load_string($response); + if (!isset($y->body)) return $url; + $xml = $y->body->center->table->tr->td->pre->a->attributes(); + if (isset($xml['href'])) return $xml['href']; + return $url; + } +} diff --git a/plugins/PubSubHubBub/PubSubHubBubPlugin.php b/plugins/PubSubHubBub/PubSubHubBubPlugin.php new file mode 100644 index 0000000000..013a234d73 --- /dev/null +++ b/plugins/PubSubHubBub/PubSubHubBubPlugin.php @@ -0,0 +1,122 @@ +. + * + * @category Plugin + * @package StatusNet + * @author Craig Andrews + * @copyright 2009 Craig Andrews http://candrews.integralblue.com + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +define('DEFAULT_HUB','http://2pubsubhubbub.appspot.com'); + +require_once(INSTALLDIR.'/plugins/PubSubHubBub/publisher.php'); + +class PubSubHubBubPlugin extends Plugin +{ + private $hub; + + function __construct() + { + parent::__construct(); + } + + function onInitializePlugin(){ + $this->hub = common_config('PubSubHubBub', 'hub'); + if(empty($this->hub)){ + $this->hub = DEFAULT_HUB; + } + } + + function onStartApiAtom($action){ + $action->element('link',array('rel'=>'hub','href'=>$this->hub),null); + } + + function onStartApiRss($action){ + $action->element('atom:link',array('rel'=>'hub','href'=>$this->hub),null); + } + + function onEndNoticeSave($notice){ + $publisher = new Publisher($this->hub); + + $feeds = array(); + + //public timeline feeds + $feeds[]=common_local_url('api',array('apiaction' => 'statuses','method' => 'public_timeline.rss')); + $feeds[]=common_local_url('api',array('apiaction' => 'statuses','method' => 'public_timeline.atom')); + + //author's own feeds + $user = User::staticGet('id',$notice->profile_id); + $feeds[]=common_local_url('api',array('apiaction' => 'statuses','method' => 'user_timeline','argument' => $user->nickname.'.rss')); + $feeds[]=common_local_url('api',array('apiaction' => 'statuses','method' => 'user_timeline','argument' => $user->nickname.'.atom')); + + //tag feeds + $tag = new Notice_tag(); + $tag->notice_id = $notice->id; + if ($tag->find()) { + while ($tag->fetch()) { + $feeds[]=common_local_url('api',array('apiaction' => 'tags','method' => 'timeline', 'argument'=>$tag->tag.'.atom')); + $feeds[]=common_local_url('api',array('apiaction' => 'tags','method' => 'timeline', 'argument'=>$tag->tag.'.rss')); + } + } + + //group feeds + $group_inbox = new Group_inbox(); + $group_inbox->notice_id = $notice->id; + if ($group_inbox->find()) { + while ($group_inbox->fetch()) { + $group = User_group::staticGet('id',$group_inbox->group_id); + $feeds[]=common_local_url('api',array('apiaction' => 'groups','method' => 'timeline','argument' => $group->nickname.'.rss')); + $feeds[]=common_local_url('api',array('apiaction' => 'groups','method' => 'timeline','argument' => $group->nickname.'.atom')); + } + } + + //feed of each user that subscribes to the notice's author + $notice_inbox = new Notice_inbox(); + $notice_inbox->notice_id = $notice->id; + if ($notice_inbox->find()) { + while ($notice_inbox->fetch()) { + $user = User::staticGet('id',$notice_inbox->user_id); + $feeds[]=common_local_url('api',array('apiaction' => 'statuses','method' => 'user_timeline','argument' => $user->nickname.'.rss')); + $feeds[]=common_local_url('api',array('apiaction' => 'statuses','method' => 'user_timeline','argument' => $user->nickname.'.atom')); + } + } + + /* TODO: when the reply page gets RSS and ATOM feeds, implement this + //feed of user replied to + if($notice->reply_to){ + $user = User::staticGet('id',$notice->reply_to); + $feeds[]=common_local_url('api',array('apiaction' => 'statuses','method' => 'user_timeline','argument' => $user->nickname.'.rss')); + $feeds[]=common_local_url('api',array('apiaction' => 'statuses','method' => 'user_timeline','argument' => $user->nickname.'.atom')); + }*/ + + foreach(array_unique($feeds) as $feed){ + if(! $publisher->publish_update($feed)){ + common_log_line(LOG_WARNING,$feed.' was not published to hub at '.$this->hub.':'.$publisher->last_response()); + } + } + } +} diff --git a/plugins/PubSubHubBub/publisher.php b/plugins/PubSubHubBub/publisher.php new file mode 100644 index 0000000000..f176a9b8a4 --- /dev/null +++ b/plugins/PubSubHubBub/publisher.php @@ -0,0 +1,86 @@ +hub_url = $hub_url; + } + + // accepts either a single url or an array of urls + public function publish_update($topic_urls, $http_function = false) { + if (!isset($topic_urls)) + throw new Exception('Please specify a topic url'); + + // check that we're working with an array + if (!is_array($topic_urls)) { + $topic_urls = array($topic_urls); + } + + // set the mode to publish + $post_string = "hub.mode=publish"; + // loop through each topic url + foreach ($topic_urls as $topic_url) { + + // lightweight check that we're actually working w/ a valid url + if (!preg_match("|^https?://|i",$topic_url)) + throw new Exception('The specified topic url does not appear to be valid: '.$topic_url); + + // append the topic url parameters + $post_string .= "&hub.url=".urlencode($topic_url); + } + + // make the http post request and return true/false + // easy to over-write to use your own http function + if ($http_function) + return $http_function($this->hub_url,$post_string); + else + return $this->http_post($this->hub_url,$post_string); + } + + // returns any error message from the latest request + public function last_response() { + return $this->last_response; + } + + // default http function that uses curl to post to the hub endpoint + private function http_post($url, $post_string) { + + // add any additional curl options here + $options = array(CURLOPT_URL => $url, + CURLOPT_POST => true, + CURLOPT_POSTFIELDS => $post_string, + CURLOPT_USERAGENT => "PubSubHubbub-Publisher-PHP/1.0"); + + $ch = curl_init(); + curl_setopt_array($ch, $options); + + $response = curl_exec($ch); + $this->last_response = $response; + $info = curl_getinfo($ch); + + curl_close($ch); + + // all good + if ($info['http_code'] == 204) + return true; + return false; + } +} + +?> \ No newline at end of file diff --git a/plugins/Realtime/RealtimePlugin.php b/plugins/Realtime/RealtimePlugin.php index 75bb8a91e9..82eca3d08c 100644 --- a/plugins/Realtime/RealtimePlugin.php +++ b/plugins/Realtime/RealtimePlugin.php @@ -1,6 +1,6 @@ . * * @category Plugin - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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,10 +38,10 @@ if (!defined('LACONICA')) { * this superclass extracts out some of the common functionality * * @category Plugin - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 RealtimePlugin extends Plugin diff --git a/plugins/SimpleUrl/SimpleUrlPlugin.php b/plugins/SimpleUrl/SimpleUrlPlugin.php new file mode 100644 index 0000000000..82d7720487 --- /dev/null +++ b/plugins/SimpleUrl/SimpleUrlPlugin.php @@ -0,0 +1,79 @@ +. + * + * @category Plugin + * @package StatusNet + * @author Craig Andrews + * @copyright 2009 Craig Andrews http://candrews.integralblue.com + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +class SimpleUrlPlugin extends Plugin +{ + function __construct() + { + parent::__construct(); + } + + function onInitializePlugin(){ + $this->registerUrlShortener( + 'is.gd', + array(), + array('SimpleUrl',array('http://is.gd/api.php?longurl=')) + ); + $this->registerUrlShortener( + 'snipr.com', + array(), + array('SimpleUrl',array('http://snipr.com/site/snip?r=simple&link=')) + ); + $this->registerUrlShortener( + 'metamark.net', + array(), + array('SimpleUrl',array('http://metamark.net/api/rest/simple?long_url=')) + ); + $this->registerUrlShortener( + 'tinyurl.com', + array(), + array('SimpleUrl',array('http://tinyurl.com/api-create.php?url=')) + ); + } +} + +class SimpleUrl extends ShortUrlApi +{ + protected function shorten_imp($url) { + $curlh = curl_init(); + curl_setopt($curlh, CURLOPT_CONNECTTIMEOUT, 20); // # seconds to wait + curl_setopt($curlh, CURLOPT_USERAGENT, 'StatusNet'); + curl_setopt($curlh, CURLOPT_RETURNTRANSFER, true); + + curl_setopt($curlh, CURLOPT_URL, $this->service_url.urlencode($url)); + $short_url = curl_exec($curlh); + + curl_close($curlh); + return $short_url; + } +} diff --git a/plugins/TemplatePlugin.php b/plugins/TemplatePlugin.php index 03daf6219c..cfa0511625 100644 --- a/plugins/TemplatePlugin.php +++ b/plugins/TemplatePlugin.php @@ -8,14 +8,14 @@ * The method is disabled unless the user is #1, the first user of the system * * @category Plugin - * @package Laconica + * @package StatusNet * @author Brian Hendrickson * @copyright 2009 Megapump, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://megapump.com/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } @@ -195,16 +195,16 @@ class TemplatePlugin extends Plugin { ); // use the PHP template - // unless laconica config: + // unless statusnet config: // $config['template']['mode'] = 'html'; if (!(common_config('template', 'mode') == 'html')) { - $tpl_file = 'tpl/index.php'; + $tpl_file = $this->templateFolder() . '/index.php'; $tags = array_merge($vars,$this->blocks); include $tpl_file; return; } - $tpl_file = 'tpl/index.html'; + $tpl_file = $this->templateFolder() . '/index.html'; // read the static template $output = file_get_contents( $tpl_file ); @@ -236,6 +236,9 @@ class TemplatePlugin extends Plugin { return true; } + function templateFolder() { + return 'tpl'; + } // catching the StartShowHTML event to halt the rendering function onStartShowHTML( &$act ) { @@ -258,7 +261,7 @@ class TemplatePlugin extends Plugin { * parameter "template", containing the new template code * * @category Plugin - * @package Laconica + * @package StatusNet * @author Brian Hendrickson * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://megapump.com/ @@ -280,7 +283,7 @@ class TemplateAction extends Action if (!isset($_SERVER['PHP_AUTH_USER'])) { // not authenticated, show login form - header('WWW-Authenticate: Basic realm="Laconica API"'); + header('WWW-Authenticate: Basic realm="StatusNet API"'); // cancelled the browser login form $this->clientError(_('Authentication error!'), $code = 401); @@ -300,7 +303,7 @@ class TemplateAction extends Action $this->clientError(_('only User #1 can update the template'), $code = 401); // open the old template - $tpl_file = 'tpl/index.html'; + $tpl_file = $this->templateFolder() . '/index.html'; $fp = fopen( $tpl_file, 'w+' ); // overwrite with the new template @@ -323,13 +326,13 @@ class TemplateAction extends Action } /** - * Function for retrieving a laconica display section + * Function for retrieving a statusnet display section * * requires one parameter, the name of the section * section names are listed in the comments of the TemplatePlugin class * * @category Plugin - * @package Laconica + * @package StatusNet * @author Brian Hendrickson * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://megapump.com/ diff --git a/plugins/TightUrl/TightUrlPlugin.php b/plugins/TightUrl/TightUrlPlugin.php new file mode 100644 index 0000000000..48efb355f0 --- /dev/null +++ b/plugins/TightUrl/TightUrlPlugin.php @@ -0,0 +1,62 @@ +. + * + * @category Plugin + * @package StatusNet + * @author Craig Andrews + * @copyright 2009 Craig Andrews http://candrews.integralblue.com + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +class TightUrlPlugin extends Plugin +{ + function __construct() + { + parent::__construct(); + } + + function onInitializePlugin(){ + $this->registerUrlShortener( + '2tu.us', + array('freeService'=>true), + array('TightUrl',array('http://2tu.us/?save=y&url=')) + ); + } +} + +class TightUrl extends ShortUrlApi +{ + protected function shorten_imp($url) { + $response = $this->http_get($url); + if (!$response) return $url; + $response = $this->tidy($response); + $y = @simplexml_load_string($response); + if (!isset($y->body)) return $url; + $xml = $y->body->p[0]->code[0]->a->attributes(); + if (isset($xml['href'])) return $xml['href']; + return $url; + } +} diff --git a/plugins/TwitterBridge/daemons/synctwitterfriends.php b/plugins/TwitterBridge/daemons/synctwitterfriends.php index b7be5d043a..0668c6222f 100755 --- a/plugins/TwitterBridge/daemons/synctwitterfriends.php +++ b/plugins/TwitterBridge/daemons/synctwitterfriends.php @@ -1,8 +1,8 @@ #!/usr/bin/env php - * @author Evan Prodromou + * @package StatusNet + * @author Zach Copley + * @author Evan Prodromou * @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/ */ $helptext = <<credentials); + $client = null; - $client = new TwitterOAuthClient($token->key, $token->secret); + if (TwitterOAuthClient::isPackedToken($flink->credentials)) { + $token = TwitterOAuthClient::unpackToken($flink->credentials); + $client = new TwitterOAuthClient($token->key, $token->secret); + common_debug($this->name() . '- Grabbing friends IDs with OAuth.'); + } else { + $client = new TwitterBasicAuthClient($flink); + common_debug($this->name() . '- Grabbing friends IDs with basic auth.'); + } try { $friends_ids = $client->friendsIds(); - } catch (OAuthCurlException $e) { + } catch (Exception $e) { common_log(LOG_WARNING, $this->name() . ' - cURL error getting friend ids ' . $e->getCode() . ' - ' . $e->getMessage()); @@ -178,7 +185,7 @@ class SyncTwitterFriendsDaemon extends ParallelizingDaemon try { $more_friends = $client->statusesFriends(null, null, null, $i); - } catch (OAuthCurlException $e) { + } catch (Exception $e) { common_log(LOG_WARNING, $this->name() . ' - cURL error getting Twitter statuses/friends ' . "page $i - " . $e->getCode() . ' - ' . diff --git a/plugins/TwitterBridge/daemons/twitterqueuehandler.php b/plugins/TwitterBridge/daemons/twitterqueuehandler.php index 9aa9d1ed0a..f0e76bb745 100755 --- a/plugins/TwitterBridge/daemons/twitterqueuehandler.php +++ b/plugins/TwitterBridge/daemons/twitterqueuehandler.php @@ -1,8 +1,8 @@ #!/usr/bin/env php - * @author Evan Prodromou + * @package StatusNet + * @author Zach Copley + * @author Evan Prodromou * @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/ */ // NOTE: an Avatar path MUST be set in config.php for this -// script to work: e.g.: $config['avatar']['path'] = '/laconica/avatar'; +// script to work: e.g.: $config['avatar']['path'] = '/statusnet/avatar'; class TwitterStatusFetcher extends ParallelizingDaemon { @@ -149,9 +149,9 @@ class TwitterStatusFetcher extends ParallelizingDaemon function getTimeline($flink) { - if (empty($flink)) { + if (empty($flink)) { common_log(LOG_WARNING, $this->name() . - " - Can't retrieve Foreign_link for foreign ID $fid"); + " - Can't retrieve Foreign_link for foreign ID $fid"); return; } @@ -162,17 +162,24 @@ class TwitterStatusFetcher extends ParallelizingDaemon // to start importing? How many statuses? Right now I'm going // with the default last 20. - $token = TwitterOAuthClient::unpackToken($flink->credentials); + $client = null; - $client = new TwitterOAuthClient($token->key, $token->secret); + if (TwitterOAuthClient::isPackedToken($flink->credentials)) { + $token = TwitterOAuthClient::unpackToken($flink->credentials); + $client = new TwitterOAuthClient($token->key, $token->secret); + common_debug($this->name() . ' - Grabbing friends timeline with OAuth.'); + } else { + $client = new TwitterBasicAuthClient($flink); + common_debug($this->name() . ' - Grabbing friends timeline with basic auth.'); + } $timeline = null; try { $timeline = $client->statusesFriendsTimeline(); - } catch (OAuthClientCurlException $e) { + } catch (Exception $e) { common_log(LOG_WARNING, $this->name() . - ' - OAuth client unable to get friends timeline for user ' . + ' - Twitter client unable to get friends timeline for user ' . $flink->user_id . ' - code: ' . $e->getCode() . 'msg: ' . $e->getMessage()); } @@ -186,7 +193,7 @@ class TwitterStatusFetcher extends ParallelizingDaemon foreach (array_reverse($timeline) as $status) { - // Hacktastic: filter out stuff coming from this Laconica + // Hacktastic: filter out stuff coming from this StatusNet $source = mb_strtolower(common_config('integration', 'source')); @@ -479,7 +486,7 @@ class TwitterStatusFetcher extends ParallelizingDaemon default: // Note: Twitter's big avatars are a different size than - // Laconica's (Laconica's = 96) + // StatusNet's (StatusNet's = 96) $avatar->width = 73; $avatar->height = 73; diff --git a/plugins/TwitterBridge/twitter.php b/plugins/TwitterBridge/twitter.php index 280cdb0a33..b49e2e1190 100644 --- a/plugins/TwitterBridge/twitter.php +++ b/plugins/TwitterBridge/twitter.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } @@ -154,80 +154,134 @@ function broadcast_twitter($notice) TWITTER_SERVICE); if (is_twitter_bound($notice, $flink)) { - - $user = $flink->getUser(); - - // XXX: Hack to get around PHP cURL's use of @ being a a meta character - $statustxt = preg_replace('/^@/', ' @', $notice->content); - - $token = TwitterOAuthClient::unpackToken($flink->credentials); - - $client = new TwitterOAuthClient($token->key, $token->secret); - - $status = null; - - try { - $status = $client->statusesUpdate($statustxt); - } catch (OAuthClientCurlException $e) { - - if ($e->getMessage() == 'The requested URL returned error: 401') { - - $errmsg = sprintf('User %1$s (user id: %2$s) has an invalid ' . - 'Twitter OAuth access token.', - $user->nickname, $user->id); - common_log(LOG_WARNING, $errmsg); - - // Bad auth token! We need to delete the foreign_link - // to Twitter and inform the user. - - remove_twitter_link($flink); - return true; - - } else { - - // Some other error happened, so we should probably - // try to send again later. - - $errmsg = sprintf('cURL error trying to send notice to Twitter ' . - 'for user %1$s (user id: %2$s) - ' . - 'code: %3$s message: $4$s.', - $user->nickname, $user->id, - $e->getCode(), $e->getMessage()); - common_log(LOG_WARNING, $errmsg); - - return false; - } + if (TwitterOAuthClient::isPackedToken($flink->credentials)) { + return broadcast_oauth($notice, $flink); + } else { + return broadcast_basicauth($notice, $flink); } - - if (empty($status)) { - - // This could represent a failure posting, - // or the Twitter API might just be behaving flakey. - - $errmsg = sprint('No data returned by Twitter API when ' . - 'trying to send update for %1$s (user id %2$s).', - $user->nickname, $user->id); - common_log(LOG_WARNING, $errmsg); - - return false; - } - - // Notice crossed the great divide - - $msg = sprintf('Twitter bridge posted notice %s to Twitter.', - $notice->id); - common_log(LOG_INFO, $msg); } return true; } +function broadcast_oauth($notice, $flink) { + $user = $flink->getUser(); + $statustxt = format_status($notice); + // Convert !groups to #hashes + $statustxt = preg_replace('/(^|\s)!([A-Za-z0-9]{1,64})/', "\\1#\\2", $statustxt); + $token = TwitterOAuthClient::unpackToken($flink->credentials); + $client = new TwitterOAuthClient($token->key, $token->secret); + $status = null; + + try { + $status = $client->statusesUpdate($statustxt); + } catch (OAuthClientCurlException $e) { + return process_error($e, $flink); + } + + if (empty($status)) { + + // This could represent a failure posting, + // or the Twitter API might just be behaving flakey. + + $errmsg = sprintf('Twitter bridge - No data returned by Twitter API when ' . + 'trying to send update for %1$s (user id %2$s).', + $user->nickname, $user->id); + common_log(LOG_WARNING, $errmsg); + + return false; + } + + // Notice crossed the great divide + + $msg = sprintf('Twitter bridge - posted notice %s to Twitter using OAuth.', + $notice->id); + common_log(LOG_INFO, $msg); + + return true; +} + +function broadcast_basicauth($notice, $flink) +{ + $user = $flink->getUser(); + + $statustxt = format_status($notice); + + $client = new TwitterBasicAuthClient($flink); + $status = null; + + try { + $status = $client->statusesUpdate($statustxt); + } catch (BasicAuthCurlException $e) { + return process_error($e, $flink); + } + + if (empty($status)) { + + $errmsg = sprintf('Twitter bridge - No data returned by Twitter API when ' . + 'trying to send update for %1$s (user id %2$s).', + $user->nickname, $user->id); + common_log(LOG_WARNING, $errmsg); + + $errmsg = sprintf('No data returned by Twitter API when ' . + 'trying to send update for %1$s (user id %2$s).', + $user->nickname, $user->id); + common_log(LOG_WARNING, $errmsg); + return false; + } + + $msg = sprintf('Twitter bridge - posted notice %s to Twitter using basic auth.', + $notice->id); + common_log(LOG_INFO, $msg); + + return true; +} + +function process_error($e, $flink) +{ + $user = $flink->getUser(); + $errmsg = $e->getMessage(); + $delivered = false; + + switch($errmsg) { + case 'The requested URL returned error: 401': + $logmsg = sprintf('Twiter bridge - User %1$s (user id: %2$s) has an invalid ' . + 'Twitter screen_name/password combo or an invalid acesss token.', + $user->nickname, $user->id); + $delivered = true; + remove_twitter_link($flink); + break; + case 'The requested URL returned error: 403': + $logmsg = sprintf('Twitter bridge - User %1$s (user id: %2$s) has exceeded ' . + 'his/her Twitter request limit.', + $user->nickname, $user->id); + break; + default: + $logmsg = sprintf('Twitter bridge - cURL error trying to send notice to Twitter ' . + 'for user %1$s (user id: %2$s) - ' . + 'code: %3$s message: %4$s.', + $user->nickname, $user->id, + $e->getCode(), $e->getMessage()); + break; + } + + common_log(LOG_WARNING, $logmsg); + + return $delivered; +} + +function format_status($notice) +{ + // XXX: Hack to get around PHP cURL's use of @ being a a meta character + return preg_replace('/^@/', ' @', $notice->content); +} + function remove_twitter_link($flink) { $user = $flink->getUser(); common_log(LOG_INFO, 'Removing Twitter bridge Foreign link for ' . - "user $user->nickname (user id: $user->id)."); + "user $user->nickname (user id: $user->id)."); $result = $flink->delete(); @@ -255,4 +309,3 @@ function remove_twitter_link($flink) } } - diff --git a/plugins/TwitterBridge/twitterauthorization.php b/plugins/TwitterBridge/twitterauthorization.php index a545284342..2a93ff13e2 100644 --- a/plugins/TwitterBridge/twitterauthorization.php +++ b/plugins/TwitterBridge/twitterauthorization.php @@ -1,6 +1,6 @@ . * - * @category Twitter - * @package Laconica - * @author Zach Copely - * @copyright 2009 Control Yourself, Inc. + * @category TwitterauthorizationAction + * @package StatusNet + * @author Zach Copely + * @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); } @@ -36,14 +36,14 @@ require_once INSTALLDIR . '/plugins/TwitterBridge/twitter.php'; /** * Class for doing OAuth authentication against Twitter * - * Peforms the OAuth "dance" between Laconica and Twitter -- requests a token, + * Peforms the OAuth "dance" between StatusNet and Twitter -- requests a token, * authorizes it, and exchanges it for an access token. It also creates a link - * (Foreign_link) between the Laconica user and Twitter user and stores the + * (Foreign_link) between the StatusNet user and Twitter user and stores the * access token and secret in the link. * * @category Twitter - * @package Laconica - * @author Zach Copley + * @package StatusNet + * @author Zach Copley * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://laconi.ca/ * diff --git a/plugins/TwitterBridge/twitteroauthclient.php b/plugins/TwitterBridge/twitteroauthclient.php index b7dc4a80c3..bad2b74ca3 100644 --- a/plugins/TwitterBridge/twitteroauthclient.php +++ b/plugins/TwitterBridge/twitteroauthclient.php @@ -1,6 +1,6 @@ . * * @category Integration - * @package Laconica - * @author Zach Copley - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Zach Copley + * @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); } @@ -35,10 +35,10 @@ if (!defined('LACONICA')) { * Class for talking to the Twitter API with OAuth. * * @category Integration - * @package Laconica - * @author Zach Copley + * @package StatusNet + * @author Zach Copley * @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 TwitterOAuthClient extends OAuthClient @@ -81,6 +81,15 @@ class TwitterOAuthClient extends OAuthClient return new OAuthToken($vals[0], $vals[1]); } + static function isPackedToken($str) + { + if (strpos($str, chr(0)) === false) { + return false; + } else { + return true; + } + } + /** * Builds a link to Twitter's endpoint for authorizing a request token * @@ -109,7 +118,7 @@ class TwitterOAuthClient extends OAuthClient } /** - * Calls Twitter's /stutuses/update API method + * Calls Twitter's /statuses/update API method * * @param string $status text of the status * @param int $in_reply_to_status_id optional id of the status it's @@ -128,7 +137,7 @@ class TwitterOAuthClient extends OAuthClient } /** - * Calls Twitter's /stutuses/friends_timeline API method + * Calls Twitter's /statuses/friends_timeline API method * * @param int $since_id show statuses after this id * @param int $max_id show statuses before this id @@ -158,7 +167,7 @@ class TwitterOAuthClient extends OAuthClient } /** - * Calls Twitter's /stutuses/friends API method + * Calls Twitter's /statuses/friends API method * * @param int $id id of the user whom you wish to see friends of * @param int $user_id numerical user id @@ -188,7 +197,7 @@ class TwitterOAuthClient extends OAuthClient } /** - * Calls Twitter's /stutuses/friends/ids API method + * Calls Twitter's /statuses/friends/ids API method * * @param int $id id of the user whom you wish to see friends of * @param int $user_id numerical user id diff --git a/plugins/TwitterBridge/twittersettings.php b/plugins/TwitterBridge/twittersettings.php index b3d4a971f6..2afa85ba4c 100644 --- a/plugins/TwitterBridge/twittersettings.php +++ b/plugins/TwitterBridge/twittersettings.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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 . '/plugins/TwitterBridge/twitter.php'; * Settings for Twitter integration * * @category Settings - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 */ @@ -75,7 +75,7 @@ class TwittersettingsAction extends ConnectSettingsAction * Content area of the page * * Shows a form for associating a Twitter account with this - * Laconica account. Also lets the user set preferences. + * StatusNet account. Also lets the user set preferences. * * @return void */ @@ -160,7 +160,7 @@ class TwittersettingsAction extends ConnectSettingsAction ($flink->noticesync & FOREIGN_NOTICE_RECV) : false); $this->elementEnd('li'); - + } else { // preserve setting even if bidrection bridge toggled off if ($flink && ($flink->noticesync & FOREIGN_NOTICE_RECV)) { diff --git a/plugins/WikiHashtagsPlugin.php b/plugins/WikiHashtagsPlugin.php index 6d186a5fed..0c5649aa45 100644 --- a/plugins/WikiHashtagsPlugin.php +++ b/plugins/WikiHashtagsPlugin.php @@ -1,6 +1,6 @@ . * * @category Plugin - * @package Laconica - * @author Evan Prodromou - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @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')) { exit(1); } @@ -37,10 +37,10 @@ define('WIKIHASHTAGSPLUGIN_VERSION', '0.1'); * Plugin to use WikiHashtags * * @category Plugin - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @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 Event */ @@ -104,6 +104,6 @@ class WikiHashtagsPlugin extends Plugin function userAgent() { return 'WikiHashtagsPlugin/'.WIKIHASHTAGSPLUGIN_VERSION . - ' Laconica/' . LACONICA_VERSION; + ' StatusNet/' . STATUSNET_VERSION; } } diff --git a/plugins/recaptcha/README b/plugins/recaptcha/README index 3100f697e4..ce23a26953 100644 --- a/plugins/recaptcha/README +++ b/plugins/recaptcha/README @@ -1,4 +1,4 @@ -Laconica reCAPTCHA plugin 0.2 8/3/09 +StatusNet reCAPTCHA plugin 0.2 8/3/09 ==================================== Adds a captcha to your registration page to reduce automated spam bots registering. diff --git a/plugins/recaptcha/recaptcha.php b/plugins/recaptcha/recaptcha.php index 38a860fc75..94cf0ccd17 100644 --- a/plugins/recaptcha/recaptcha.php +++ b/plugins/recaptcha/recaptcha.php @@ -1,6 +1,6 @@ . * * @category Plugin - * @package Laconica + * @package StatusNet * @author Eric Helgeson * @copyright 2009 * @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); } diff --git a/scripts/allsites.php b/scripts/allsites.php index d6768c2785..cf1419e550 100755 --- a/scripts/allsites.php +++ b/scripts/allsites.php @@ -1,8 +1,8 @@ #!/usr/bin/env php -Fixup records in a database that stored the data incorrectly (pre-0.7.4 for Laconica). +Fixup records in a database that stored the data incorrectly (pre-0.7.4 for StatusNet). ENDOFHELP; diff --git a/scripts/getpiddir.php b/scripts/getpiddir.php index 9927cc6d95..8274c37c0f 100755 --- a/scripts/getpiddir.php +++ b/scripts/getpiddir.php @@ -1,8 +1,8 @@ #!/usr/bin/env php /tmp/rebuilddb_psql.sql psql -c "drop schema public cascade; create schema public;" $DB psql -c "grant all privileges on schema public to $user;" $DB -psql $DB < ../db/laconica_pg.sql +psql $DB < ../db/statusnet_pg.sql psql $DB < /tmp/rebuilddb_psql.sql for tab in `psql -c '\dts' $DB -tA | cut -d\| -f2`; do psql -c "ALTER TABLE \"$tab\" OWNER TO $user;" $DB diff --git a/scripts/reportsnapshot.php b/scripts/reportsnapshot.php index c644b557f0..71f1019ee6 100644 --- a/scripts/reportsnapshot.php +++ b/scripts/reportsnapshot.php @@ -1,8 +1,8 @@ #!/usr/bin/env php . -# This program tries to start the daemons for Laconica. +# This program tries to start the daemons for StatusNet. # Note that the 'maildaemon' needs to run as a mail filter. /usr/local/bin/indexer --config /usr/local/etc/sphinx.conf --all --rotate diff --git a/scripts/sphinx-indexer.sh b/scripts/sphinx-indexer.sh index fe7c16bea1..1ec0826bed 100755 --- a/scripts/sphinx-indexer.sh +++ b/scripts/sphinx-indexer.sh @@ -1,8 +1,8 @@ #!/bin/sh -# Laconica - a distributed open-source microblogging tool +# StatusNet - a distributed open-source microblogging tool -# Copyright (C) 2008, 2009, Control Yourself, Inc. +# 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 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -# This program tries to start the daemons for Laconica. +# This program tries to start the daemons for StatusNet. # Note that the 'maildaemon' needs to run as a mail filter. /usr/local/bin/indexer --config /usr/local/etc/sphinx.conf --all diff --git a/scripts/startdaemons.sh b/scripts/startdaemons.sh index 9ead20acd6..298162673c 100755 --- a/scripts/startdaemons.sh +++ b/scripts/startdaemons.sh @@ -1,8 +1,8 @@ #!/bin/sh -# Laconica - a distributed open-source microblogging tool +# StatusNet - a distributed open-source microblogging tool -# Copyright (C) 2008, 2009, Control Yourself, Inc. +# 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 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -# This program tries to start the daemons for Laconica. +# This program tries to start the daemons for StatusNet. # Note that the 'maildaemon' needs to run as a mail filter. ARGSG= diff --git a/scripts/laconica.spec b/scripts/statusnet.spec similarity index 65% rename from scripts/laconica.spec rename to scripts/statusnet.spec index 331e10671b..ca2e483a77 100644 --- a/scripts/laconica.spec +++ b/scripts/statusnet.spec @@ -4,13 +4,13 @@ BuildRequires: php-pear BuildRequires: httpd-devel -Name: laconica +Name: statusnet Version: %{LACVER} Release: 1%{?dist} License: GAGPL v3 or later -Source: laconica-%{version}.tar.gz +Source: statusnet-%{version}.tar.gz Group: Applications/Internet -Summary: Laconica, the Open Source microblogging platform +Summary: StatusNet, the Open Source microblogging platform BuildArch: noarch Requires: httpd @@ -31,7 +31,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build %define confpath %{_sysconfdir}/%{name} %description -From the ABOUT file: Laconica (pronounced "luh-KAWN-ih-kuh") is a Free +From the ABOUT file: StatusNet (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 @@ -49,16 +49,16 @@ similar service to sites like Twitter, Jaiku, and Plurk. mkdir -p %{buildroot}%{wwwpath} cp -a * %{buildroot}%{wwwpath} -mkdir -p %{buildroot}%{_datadir}/laconica -cp -a db %{buildroot}%{_datadir}/laconica/db +mkdir -p %{buildroot}%{_datadir}/statusnet +cp -a db %{buildroot}%{_datadir}/statusnet/db -mkdir -p %{buildroot}%{_datadir}/laconica/avatar +mkdir -p %{buildroot}%{_datadir}/statusnet/avatar mkdir -p %{buildroot}%{_sysconfdir}/httpd/conf.d -cat > %{buildroot}%{_sysconfdir}/httpd/conf.d/laconica.conf <<"EOF" -Alias /laconica/ "/var/www/laconica/" +cat > %{buildroot}%{_sysconfdir}/httpd/conf.d/statusnet.conf <<"EOF" +Alias /statusnet/ "/var/www/statusnet/" - + Options Indexes FollowSymLinks AllowOverride All Order allow,deny @@ -73,26 +73,26 @@ rm -rf %buildroot %defattr(-,root,root) %dir %{wwwpath} %{wwwpath}/* -%{_datadir}/laconica/* -%attr(-,apache,apache) %dir %{_datadir}/laconica/avatar +%{_datadir}/statusnet/* +%attr(-,apache,apache) %dir %{_datadir}/statusnet/avatar %doc COPYING README doc-src/* -%config(noreplace) %{_sysconfdir}/httpd/conf.d/laconica.conf +%config(noreplace) %{_sysconfdir}/httpd/conf.d/statusnet.conf %changelog -* Wed Apr 03 2009 Zach Copley - 0.7.3 +* Wed Apr 03 2009 Zach Copley - 0.7.3 - Changed version number to 0.7.3. * Fri Mar 13 2009 Ken Sedgwick - 0.7.2.1-1 -- Factored laconica version to the first line of the file. +- Factored statusnet version to the first line of the file. -* Wed Mar 03 2009 Zach Copley - 0.7.2 +* Wed Mar 03 2009 Zach Copley - 0.7.2 - Changed version number to 0.7.2. * Sat Feb 28 2009 Ken Sedgwick - 0.7.1-1 - Modified RPM for Fedora. * Thu Feb 13 2009 tuukka.pasanen@ilmi.fi -- packaged laconica version 0.7.1 +- packaged statusnet version 0.7.1 * Wed Feb 04 2009 tuukka.pasanen@ilmi.fi -- packaged laconica version 0.7.0 using the buildservice spec file wizard +- packaged statusnet version 0.7.0 using the buildservice spec file wizard diff --git a/scripts/stopdaemons.sh b/scripts/stopdaemons.sh index 894e5aaffe..55b404c1ad 100755 --- a/scripts/stopdaemons.sh +++ b/scripts/stopdaemons.sh @@ -1,8 +1,8 @@ #!/bin/bash -# Laconica - a distributed open-source microblogging tool +# StatusNet - a distributed open-source microblogging tool -# Copyright (C) 2008, 2009, Control Yourself, Inc. +# 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 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -# This program tries to stop the daemons for Laconica that were +# This program tries to stop the daemons for StatusNet that were # previously started by startdaemons.sh SDIR=`dirname $0` diff --git a/scripts/triminboxes.php b/scripts/triminboxes.php index 27e200fef3..da09817e5b 100644 --- a/scripts/triminboxes.php +++ b/scripts/triminboxes.php @@ -1,8 +1,8 @@ #!/usr/bin/env php assertEquals($expected, $rendered); + } + + static public function provider() + { + return array( + array('hello', + 'hello'), + array('#hello people', + '# people'), + array('"#hello" people', + '"#" people'), + array('say "#hello" people', + 'say "#" people'), + array('say (#hello) people', + 'say (#) people'), + array('say [#hello] people', + 'say [#] people'), + array('say {#hello} people', + 'say {#} people'), + array('say \'#hello\' people', + 'say \'#\' people'), + ); + } +} + diff --git a/tests/URLDetectionTest.php b/tests/URLDetectionTest.php new file mode 100644 index 0000000000..9a103b6f7c --- /dev/null +++ b/tests/URLDetectionTest.php @@ -0,0 +1,249 @@ +assertEquals($expected, $rendered); + } + + static public function provider() + { + return array( + array('http://127.0.0.1', + 'http://127.0.0.1'), + array('127.0.0.1', + '127.0.0.1'), + array('127.0.0.1:99', + '127.0.0.1:99'), + array('127.0.0.1/Name:test.php', + '127.0.0.1/Name:test.php'), + array('127.0.0.1/~test', + '127.0.0.1/~test'), + array('127.0.0.1/test%20stuff', + '127.0.0.1/test%20stuff'), + array('http://[::1]:99/test.php', + 'http://[::1]:99/test.php'), + array('http://::1/test.php', + 'http://::1/test.php'), + array('http://::1', + 'http://::1'), + array('2001:4978:1b5:0:21d:e0ff:fe66:59ab/test.php', + '2001:4978:1b5:0:21d:e0ff:fe66:59ab/test.php'), + array('[2001:4978:1b5:0:21d:e0ff:fe66:59ab]:99/test.php', + '[2001:4978:1b5:0:21d:e0ff:fe66:59ab]:99/test.php'), + array('2001:4978:1b5:0:21d:e0ff:fe66:59ab', + '2001:4978:1b5:0:21d:e0ff:fe66:59ab'), + array('http://127.0.0.1', + 'http://127.0.0.1'), + array('example.com', + 'example.com'), + array('example.com', + 'example.com'), + array('http://example.com', + 'http://example.com'), + array('http://example.com.', + 'http://example.com.'), + array('/var/lib/example.so', + '/var/lib/example.so'), + array('example', + 'example'), + array('user@example.com', + 'user@example.com'), + array('user_name+other@example.com', + 'user_name+other@example.com'), + array('mailto:user@example.com', + 'mailto:user@example.com'), + array('mailto:user@example.com?subject=test', + 'mailto:user@example.com?subject=test'), + array('#example', + '#'), + array('#example.com', + '#'), + array('#.net', + '#'), + array('http://example', + 'http://example'), + array('http://3xampl3', + 'http://3xampl3'), + array('http://example/', + 'http://example/'), + array('http://example/path', + 'http://example/path'), + array('http://example.com', + 'http://example.com'), + array('https://example.com', + 'https://example.com'), + array('ftp://example.com', + 'ftp://example.com'), + array('ftps://example.com', + 'ftps://example.com'), + array('http://user@example.com', + 'http://user@example.com'), + array('http://user:pass@example.com', + 'http://user:pass@example.com'), + array('http://example.com:8080', + 'http://example.com:8080'), + array('http://example.com:8080/test.php', + 'http://example.com:8080/test.php'), + array('example.com:8080/test.php', + 'example.com:8080/test.php'), + array('http://www.example.com', + 'http://www.example.com'), + array('http://example.com/', + 'http://example.com/'), + array('http://example.com/path', + 'http://example.com/path'), + array('http://example.com/path.html', + 'http://example.com/path.html'), + array('http://example.com/path.html#fragment', + 'http://example.com/path.html#fragment'), + array('http://example.com/path.php?foo=bar&bar=foo', + 'http://example.com/path.php?foo=bar&bar=foo'), + array('http://example.com.', + 'http://example.com.'), + array('http://müllärör.de', + 'http://müllärör.de'), + array('http://ﺱﺲﺷ.com', + 'http://ﺱﺲﺷ.com'), + array('http://сделаткартинки.com', + 'http://сделаткартинки.com'), + array('http://tūdaliņ.lv', + 'http://tūdaliņ.lv'), + array('http://brændendekærlighed.com', + 'http://brændendekærlighed.com'), + array('http://あーるいん.com', + 'http://あーるいん.com'), + array('http://예비교사.com', + 'http://예비교사.com'), + array('http://example.com.', + 'http://example.com.'), + array('http://example.com?', + 'http://example.com?'), + array('http://example.com!', + 'http://example.com!'), + array('http://example.com,', + 'http://example.com,'), + array('http://example.com;', + 'http://example.com;'), + array('http://example.com:', + 'http://example.com:'), + array('\'http://example.com\'', + '\'http://example.com\''), + array('"http://example.com"', + '"http://example.com"'), + array('http://example.com', + 'http://example.com'), + array('(http://example.com)', + '(http://example.com)'), + array('[http://example.com]', + '[http://example.com]'), + array('', + '<http://example.com>'), + array('http://example.com/path/(foo)/bar', + 'http://example.com/path/(foo)/bar'), + array('http://example.com/path/[foo]/bar', + 'http://example.com/path/[foo]/bar'), + array('http://example.com/path/foo/(bar)', + 'http://example.com/path/foo/(bar)'), + //Not a valid url - urls cannot contain unencoded square brackets + array('http://example.com/path/foo/[bar]', + 'http://example.com/path/foo/[bar]'), + array('Hey, check out my cool site http://example.com okay?', + 'Hey, check out my cool site http://example.com okay?'), + array('What about parens (e.g. http://example.com/path/foo/(bar))?', + 'What about parens (e.g. http://example.com/path/foo/(bar))?'), + array('What about parens (e.g. http://example.com/path/foo/(bar)?', + 'What about parens (e.g. http://example.com/path/foo/(bar)?'), + array('What about parens (e.g. http://example.com/path/foo/(bar).)?', + 'What about parens (e.g. http://example.com/path/foo/(bar).)?'), + //Not a valid url - urls cannot contain unencoded commas + array('What about parens (e.g. http://example.com/path/(foo,bar)?', + 'What about parens (e.g. http://example.com/path/(foo,bar)?'), + array('Unbalanced too (e.g. http://example.com/path/((((foo)/bar)?', + 'Unbalanced too (e.g. http://example.com/path/((((foo)/bar)?'), + array('Unbalanced too (e.g. http://example.com/path/(foo))))/bar)?', + 'Unbalanced too (e.g. http://example.com/path/(foo))))/bar)?'), + array('Unbalanced too (e.g. http://example.com/path/foo/((((bar)?', + 'Unbalanced too (e.g. http://example.com/path/foo/((((bar)?'), + array('Unbalanced too (e.g. http://example.com/path/foo/(bar))))?', + 'Unbalanced too (e.g. http://example.com/path/foo/(bar))))?'), + array('example.com', + 'example.com'), + array('example.org', + 'example.org'), + array('example.co.uk', + 'example.co.uk'), + array('www.example.co.uk', + 'www.example.co.uk'), + array('farm1.images.example.co.uk', + 'farm1.images.example.co.uk'), + array('example.museum', + 'example.museum'), + array('example.travel', + 'example.travel'), + array('example.com.', + 'example.com.'), + array('example.com?', + 'example.com?'), + array('example.com!', + 'example.com!'), + array('example.com,', + 'example.com,'), + array('example.com;', + 'example.com;'), + array('example.com:', + 'example.com:'), + array('\'example.com\'', + '\'example.com\''), + array('"example.com"', + '"example.com"'), + array('example.com', + 'example.com'), + array('(example.com)', + '(example.com)'), + array('[example.com]', + '[example.com]'), + array('', + '<example.com>'), + array('Hey, check out my cool site example.com okay?', + 'Hey, check out my cool site example.com okay?'), + array('Hey, check out my cool site example.com.I made it.', + 'Hey, check out my cool site example.com.I made it.'), + array('Hey, check out my cool site example.com.Funny thing...', + 'Hey, check out my cool site example.com.Funny thing...'), + array('Hey, check out my cool site example.com.You will love it.', + 'Hey, check out my cool site example.com.You will love it.'), + array('What about parens (e.g. example.com/path/foo/(bar))?', + 'What about parens (e.g. example.com/path/foo/(bar))?'), + array('What about parens (e.g. example.com/path/foo/(bar)?', + 'What about parens (e.g. example.com/path/foo/(bar)?'), + array('What about parens (e.g. example.com/path/foo/(bar).)?', + 'What about parens (e.g. example.com/path/foo/(bar).)?'), + array('What about parens (e.g. example.com/path/(foo,bar)?', + 'What about parens (e.g. example.com/path/(foo,bar)?'), + array('file.ext', + 'file.ext'), + array('file.html', + 'file.html'), + array('file.php', + 'file.php') + ); + } +} + diff --git a/theme/base/css/display.css b/theme/base/css/display.css index 364ea0b623..6f1a29f4aa 100644 --- a/theme/base/css/display.css +++ b/theme/base/css/display.css @@ -1,10 +1,10 @@ /** theme: base * - * @package Laconica - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Sarven Capadisli + * @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/ */ * { margin:0; padding:0; } diff --git a/theme/base/css/mobile.css b/theme/base/css/mobile.css index eee98317cc..f6c53ea8dc 100644 --- a/theme/base/css/mobile.css +++ b/theme/base/css/mobile.css @@ -1,10 +1,10 @@ /** theme: base * - * @package Laconica + * @package StatusNet * @author Meitar Moscovitz - * @author Sarven Capadisli + * @author Sarven Capadisli * @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/ */ body { diff --git a/theme/base/css/print.css b/theme/base/css/print.css index d76dd608c4..094d07fed2 100644 --- a/theme/base/css/print.css +++ b/theme/base/css/print.css @@ -1,10 +1,10 @@ /** theme: base * - * @package Laconica - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Sarven Capadisli + * @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/ */ a:after { background-color:#fff; } diff --git a/theme/biz/css/base.css b/theme/biz/css/base.css index 696fd0645b..5245ea5d2f 100644 --- a/theme/biz/css/base.css +++ b/theme/biz/css/base.css @@ -1,10 +1,10 @@ /** theme: biz base * - * @package Laconica - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Sarven Capadisli + * @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/ */ * { margin:0; padding:0; } diff --git a/theme/biz/css/display.css b/theme/biz/css/display.css index 3af4c06b91..240060b104 100644 --- a/theme/biz/css/display.css +++ b/theme/biz/css/display.css @@ -1,10 +1,10 @@ /** theme: biz * - * @package Laconica - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Sarven Capadisli + * @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/ */ @import url(base.css); diff --git a/theme/cloudy/css/display.css b/theme/cloudy/css/display.css index e3c5c3cc03..3851bc057a 100644 --- a/theme/cloudy/css/display.css +++ b/theme/cloudy/css/display.css @@ -1,10 +1,10 @@ /** theme: cloudy * - * @package Laconica - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Sarven Capadisli + * @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/ */ * { margin:0; padding:0; } diff --git a/theme/default/css/display.css b/theme/default/css/display.css index 6a4b87df1a..a1c4a2171d 100644 --- a/theme/default/css/display.css +++ b/theme/default/css/display.css @@ -1,10 +1,10 @@ /** theme: default * - * @package Laconica - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Sarven Capadisli + * @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/ */ @import url(../../base/css/display.css); diff --git a/theme/default/logo.png b/theme/default/logo.png index 322cbe9034..550d373fef 100644 Binary files a/theme/default/logo.png and b/theme/default/logo.png differ diff --git a/theme/h4ck3r/css/base.css b/theme/h4ck3r/css/base.css index 41b3a77e6e..18ea742a59 100644 --- a/theme/h4ck3r/css/base.css +++ b/theme/h4ck3r/css/base.css @@ -1,10 +1,10 @@ /** theme: h4ck3r base * - * @package Laconica - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Sarven Capadisli + * @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/ */ * { margin:0; padding:0; } diff --git a/theme/h4ck3r/css/display.css b/theme/h4ck3r/css/display.css index 31d49a58e5..58b3f242ae 100644 --- a/theme/h4ck3r/css/display.css +++ b/theme/h4ck3r/css/display.css @@ -1,10 +1,10 @@ /** theme: h4ck3r * - * @package Laconica - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Sarven Capadisli + * @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/ */ @import url(base.css); diff --git a/theme/identica/css/display.css b/theme/identica/css/display.css index 0688db4256..51286657ec 100644 --- a/theme/identica/css/display.css +++ b/theme/identica/css/display.css @@ -1,10 +1,10 @@ /** theme: identica * - * @package Laconica - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Sarven Capadisli + * @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/ */ @import url(../../base/css/display.css); diff --git a/theme/otalk/css/base.css b/theme/otalk/css/base.css index b399925700..8af86f9dbe 100644 --- a/theme/otalk/css/base.css +++ b/theme/otalk/css/base.css @@ -1,10 +1,10 @@ /** theme: otalk base * - * @package Laconica - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Sarven Capadisli + * @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/ */ * { margin:0; padding:0; } diff --git a/theme/otalk/css/display.css b/theme/otalk/css/display.css index d2a4719a84..bdfaea7494 100644 --- a/theme/otalk/css/display.css +++ b/theme/otalk/css/display.css @@ -1,10 +1,10 @@ /** theme: otalk * - * @package Laconica - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Sarven Capadisli + * @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/ */ @import url(base.css); diff --git a/theme/pigeonthoughts/css/base.css b/theme/pigeonthoughts/css/base.css index 980d7ddd77..4b30710fb6 100644 --- a/theme/pigeonthoughts/css/base.css +++ b/theme/pigeonthoughts/css/base.css @@ -1,10 +1,10 @@ /** theme: pigeonthoughts base * - * @package Laconica - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Sarven Capadisli + * @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/ */ * { margin:0; padding:0; } diff --git a/theme/pigeonthoughts/css/display.css b/theme/pigeonthoughts/css/display.css index 1bf37bf738..2b91741825 100644 --- a/theme/pigeonthoughts/css/display.css +++ b/theme/pigeonthoughts/css/display.css @@ -1,10 +1,10 @@ /** theme: pigeonthoughts * - * @package Laconica - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Sarven Capadisli + * @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/ */ @import url(base.css); diff --git a/theme/readme.txt b/theme/readme.txt index 83b5a61d0d..151b1fb71c 100644 --- a/theme/readme.txt +++ b/theme/readme.txt @@ -1,6 +1,6 @@ -/** Howto: create a laconica theme +/** Howto: create a statusnet theme * - * @package Laconica + * @package StatusNet * @author Sarven Capadisli * @copyright 2009 Control Yourself, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 @@ -18,7 +18,7 @@ Location of key paths and files under theme/: ./default/images/ ./base/display.css contains layout, typography rules: -Only alter this file if you want to change the layout of the site. Please note that, any updates to this in future laconica releases may not be compatible with your version. +Only alter this file if you want to change the layout of the site. Please note that, any updates to this in future statusnet releases may not be compatible with your version. ./default/css/display.css contains only the background images and colour rules: This file is a good basis for creating your own theme. diff --git a/tpl/index.php b/tpl/index.php index be375e75a6..36a1611449 100644 --- a/tpl/index.php +++ b/tpl/index.php @@ -1,4 +1,4 @@ - +xml version="1.0" encoding="UTF-8"?> <?php echo section('title'); ?>