From 7a61b0737d00adbdaaea7e82fa3a1702286332aa Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 5 Aug 2009 16:06:15 -0400 Subject: [PATCH 001/134] update version to 0.8.1pre1 --- lib/common.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/common.php b/lib/common.php index b3d3018620..8cd3ae2fc0 100644 --- a/lib/common.php +++ b/lib/common.php @@ -19,7 +19,7 @@ if (!defined('LACONICA')) { exit(1); } -define('LACONICA_VERSION', '0.8.1dev'); +define('LACONICA_VERSION', '0.8.1pre1'); define('AVATAR_PROFILE_SIZE', 96); define('AVATAR_STREAM_SIZE', 48); From a0f6b4f078252389eacf53dce1c5ca10951c76ac Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 12 Aug 2009 11:16:31 -0700 Subject: [PATCH 002/134] ServerErrorAction always logs --- lib/servererroraction.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/servererroraction.php b/lib/servererroraction.php index db73521668..c46f3228b0 100644 --- a/lib/servererroraction.php +++ b/lib/servererroraction.php @@ -52,6 +52,7 @@ require_once INSTALLDIR.'/lib/error.php'; * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ */ + class ServerErrorAction extends ErrorAction { function __construct($message='Error', $code=500) @@ -66,6 +67,10 @@ class ServerErrorAction extends ErrorAction 505 => 'HTTP Version Not Supported'); $this->default = 500; + + // Server errors must be logged. + + common_log(LOG_ERR, "ServerErrorAction: $code $message"); } // XXX: Should these error actions even be invokable via URI? From 70ca03f33615f0d6504df91cd40fa04a228fa42f Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Fri, 21 Aug 2009 12:47:01 -0400 Subject: [PATCH 003/134] Use currying to call the url callbacks, and use preg_replace_callback This definitely looks neater than the string maniplation it replaces --- lib/util.php | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/lib/util.php b/lib/util.php index 748c8332f0..f732d8b554 100644 --- a/lib/util.php +++ b/lib/util.php @@ -445,24 +445,32 @@ function common_replace_urls_callback($text, $callback, $notice_id = null) { '(?:[:/][^\s]*)?'. ')'. '#ix'; - preg_match_all($regex, $text, $matches); - // Then clean up what the regex left behind - $offset = 0; - foreach($matches[1] as $url) { - // Call user specified func - if (empty($notice_id)) { - $modified_url = call_user_func($callback, $url); - } else { - $modified_url = call_user_func($callback, array($url, $notice_id)); - } - // 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); + $callback_helper = curry(callback_helper, 3); + return preg_replace_callback($regex, $callback_helper($callback,$notice_id) ,$text); +} + +function callback_helper($callback, $notice_id, $matches) { + if(empty($notice_id)){ + return $callback($matches[1],$notice_id); + }else{ + return $callback($matches[1]); } +} - return $text; +function curry($func, $arity) { + return create_function('', " + \$args = func_get_args(); + if(count(\$args) >= $arity) + return call_user_func_array('$func', \$args); + \$args = var_export(\$args, 1); + return create_function('',' + \$a = func_get_args(); + \$z = ' . \$args . '; + \$a = array_merge(\$z,\$a); + return call_user_func_array(\'$func\', \$a); + '); + "); } function common_linkify($url) { From 871903a319aab5704504991208d992fadb72fdf7 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Fri, 21 Aug 2009 15:56:15 -0400 Subject: [PATCH 004/134] Linkifier support many more urls, and less mismatches --- lib/util.php | 77 ++++++++++++++++++++++++++++++---------------------- 1 file changed, 45 insertions(+), 32 deletions(-) diff --git a/lib/util.php b/lib/util.php index f732d8b554..4e809029f9 100644 --- a/lib/util.php +++ b/lib/util.php @@ -413,15 +413,16 @@ function common_replace_urls_callback($text, $callback, $notice_id = null) { // Start off with a regex $regex = '#'. '(?:^|\s+)('. - '(?:'. - '(?:https?|ftps?|mms|rtsp|gopher|news|nntp|telnet|wais|file|prospero|webcal|irc)://'. - '|'. - '(?:mailto|aim|tel|xmpp):'. - ')?'. - '(?:'. - '(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'. //IPv4 - '|(?:'. - '(?:[0-9a-f]{1,4}:){1,1}(?::[0-9a-f]{1,4}){1,6}|'. //IPv6 + '(?:'. //Known protocols + '(?:'. + '(?:https?|ftps?|mms|rtsp|gopher|news|nntp|telnet|wais|file|prospero|webcal|irc)://'. + '|'. + '(?:mailto|aim|tel|xmpp):'. + ')\S+'. + ')'. + '|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'. //IPv4 + '|(?:'. //IPv6 + '(?:[0-9a-f]{1,4}:){1,1}(?::[0-9a-f]{1,4}){1,6}|'. '(?:[0-9a-f]{1,4}:){1,2}(?::[0-9a-f]{1,4}){1,5}|'. '(?:[0-9a-f]{1,4}:){1,3}(?::[0-9a-f]{1,4}){1,4}|'. '(?:[0-9a-f]{1,4}:){1,4}(?::[0-9a-f]{1,4}){1,3}|'. @@ -438,39 +439,46 @@ function common_replace_urls_callback($text, $callback, $notice_id = null) { '(?:[0-9a-f]{1,4}:){1,4}(?::[0-9a-f]{1,4}){1,1}:(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}|'. '(?:(?:[0-9a-f]{1,4}:){1,5}|:):(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}|'. ':(?::[0-9a-f]{1,4}){1,5}:(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}'. - ')|'. - '(?:[^.\s/:]+\.)+'. //DNS - '(?:museum|travel|onion|[a-z]{2,4})'. + ')|(?:'. //DNS + '\S+\.(?:museum|travel|onion|local|[a-z]{2,4})'. ')'. - '(?:[:/][^\s]*)?'. - ')'. + '(?:[:/]\S*)?'. + ')(?:$|\s+)'. '#ix'; - $callback_helper = curry(callback_helper, 3); - return preg_replace_callback($regex, $callback_helper($callback,$notice_id) ,$text); +//preg_match_all($regex,$text,$matches); +//print_r($matches); +//die("here"); + return preg_replace_callback($regex, curry(callback_helper,$callback,$notice_id) ,$text); } -function callback_helper($callback, $notice_id, $matches) { +function callback_helper($matches, $callback, $notice_id) { + $spaces_left = (strlen($matches[0]) - strlen(ltrim($matches[0]))); + $spaces_right = (strlen($matches[0]) - strlen(rtrim($matches[0]))); if(empty($notice_id)){ - return $callback($matches[1],$notice_id); + $result = call_user_func_array($callback,$matches[1]); }else{ - return $callback($matches[1]); + $result = call_user_func_array($callback, array($matches[1],$notice_id) ); } + return str_repeat(' ',$spaces_left) . $result . str_repeat(' ',$spaces_right); } -function curry($func, $arity) { - return create_function('', " - \$args = func_get_args(); - if(count(\$args) >= $arity) - return call_user_func_array('$func', \$args); - \$args = var_export(\$args, 1); - return create_function('',' - \$a = func_get_args(); - \$z = ' . \$args . '; - \$a = array_merge(\$z,\$a); - return call_user_func_array(\'$func\', \$a); - '); - "); +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) { @@ -478,6 +486,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); From 5c21a371d61b4cd3dd125f2c43aa80c52c9c316d Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Tue, 18 Aug 2009 20:59:18 -0700 Subject: [PATCH 005/134] Include php-gettext 1.0.7 into extlibs; loading it up if native gettext extension is not present. This provides a pure PHP implementation of the gettext functions. This should help get laconica running on shared hosting environments where PHP's gettext module may not be installed. Also gets us one step closer to running on Mac OS X 10.5 with Apple's preinstalled PHP, which doesn't provide an easy way to add modules. Source: http://savannah.nongnu.org/projects/php-gettext Copyright (c) 2005 Steven Armstrong GPLv2 or later --- extlib/php-gettext/.DS_Store | Bin 0 -> 6148 bytes extlib/php-gettext/AUTHORS | 3 + extlib/php-gettext/COPYING | 340 +++++++++++++++++++++++++++++++ extlib/php-gettext/ChangeLog | 144 +++++++++++++ extlib/php-gettext/README | 189 +++++++++++++++++ extlib/php-gettext/gettext.inc | 318 +++++++++++++++++++++++++++++ extlib/php-gettext/gettext.php | 358 +++++++++++++++++++++++++++++++++ extlib/php-gettext/streams.php | 166 +++++++++++++++ install.php | 3 +- lib/common.php | 3 + 10 files changed, 1522 insertions(+), 2 deletions(-) create mode 100644 extlib/php-gettext/.DS_Store create mode 100644 extlib/php-gettext/AUTHORS create mode 100644 extlib/php-gettext/COPYING create mode 100644 extlib/php-gettext/ChangeLog create mode 100644 extlib/php-gettext/README create mode 100644 extlib/php-gettext/gettext.inc create mode 100644 extlib/php-gettext/gettext.php create mode 100644 extlib/php-gettext/streams.php diff --git a/extlib/php-gettext/.DS_Store b/extlib/php-gettext/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 +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..d57aac6496 --- /dev/null +++ b/extlib/php-gettext/streams.php @@ -0,0 +1,166 @@ +. + + 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 + 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/install.php b/install.php index 9bcee275f1..c13f70272d 100644 --- a/install.php +++ b/install.php @@ -49,8 +49,7 @@ function checkPrereqs() } $reqs = array('gd', 'curl', - 'xmlwriter', 'mbstring', - 'gettext'); + 'xmlwriter', 'mbstring'); foreach ($reqs as $req) { if (!checkExtension($req)) { diff --git a/lib/common.php b/lib/common.php index 6c4b856e00..72c093bf30 100644 --- a/lib/common.php +++ b/lib/common.php @@ -47,6 +47,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 From 8bca90b8d2804675421464a3db1b447a439a456c Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Tue, 18 Aug 2009 21:02:46 -0700 Subject: [PATCH 006/134] Tweak to php-gettext stream reader; initialize local variable before appending data to it to avoid triggering an E_NOTICE message. --- extlib/php-gettext/streams.php | 1 + 1 file changed, 1 insertion(+) diff --git a/extlib/php-gettext/streams.php b/extlib/php-gettext/streams.php index d57aac6496..3eafa74828 100644 --- a/extlib/php-gettext/streams.php +++ b/extlib/php-gettext/streams.php @@ -108,6 +108,7 @@ class FileReader { // 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; From 8246977ef00970f76da28500e40f170e68544bf9 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Tue, 18 Aug 2009 21:21:57 -0700 Subject: [PATCH 007/134] kill stupid Finder metadata file that made it into my checkin presumably due to 'git add php-gettext' deciding to find all hidden files in the directory for me :P --- extlib/php-gettext/.DS_Store | Bin 6148 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 extlib/php-gettext/.DS_Store diff --git a/extlib/php-gettext/.DS_Store b/extlib/php-gettext/.DS_Store deleted file mode 100644 index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 Date: Fri, 21 Aug 2009 20:01:33 -0400 Subject: [PATCH 008/134] URLs surrounded by (),{}, and [] are correctly handled now! --- lib/util.php | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/lib/util.php b/lib/util.php index 4e809029f9..575e796f11 100644 --- a/lib/util.php +++ b/lib/util.php @@ -412,13 +412,13 @@ function common_render_text($text) function common_replace_urls_callback($text, $callback, $notice_id = null) { // Start off with a regex $regex = '#'. - '(?:^|\s+)('. + '(?:^|[\s\(\)\[\]\{\}]+)('. '(?:'. //Known protocols '(?:'. '(?:https?|ftps?|mms|rtsp|gopher|news|nntp|telnet|wais|file|prospero|webcal|irc)://'. '|'. '(?:mailto|aim|tel|xmpp):'. - ')\S+'. + ')[^\s\(\)\[\]\{\}]+'. ')'. '|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'. //IPv4 '|(?:'. //IPv6 @@ -442,25 +442,23 @@ function common_replace_urls_callback($text, $callback, $notice_id = null) { ')|(?:'. //DNS '\S+\.(?:museum|travel|onion|local|[a-z]{2,4})'. ')'. - '(?:[:/]\S*)?'. - ')(?:$|\s+)'. + '([^\s\(\)\[\]\{\}]*)'. + ')'. '#ix'; - -//preg_match_all($regex,$text,$matches); -//print_r($matches); -//die("here"); return preg_replace_callback($regex, curry(callback_helper,$callback,$notice_id) ,$text); } function callback_helper($matches, $callback, $notice_id) { - $spaces_left = (strlen($matches[0]) - strlen(ltrim($matches[0]))); - $spaces_right = (strlen($matches[0]) - strlen(rtrim($matches[0]))); + $pos = strpos($matches[0],$matches[1]); + $left = substr($matches[0],0,$pos); + $right = substr($matches[0],$pos+strlen($matches[1])); + if(empty($notice_id)){ $result = call_user_func_array($callback,$matches[1]); }else{ $result = call_user_func_array($callback, array($matches[1],$notice_id) ); } - return str_repeat(' ',$spaces_left) . $result . str_repeat(' ',$spaces_right); + return $left . $result . $right; } function curry($fn) { From 579a41b56f3d11f77d837b286753fd7ac528590f Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Fri, 21 Aug 2009 21:11:23 -0400 Subject: [PATCH 009/134] Improve url finding more. Properly end urls when a space is caught. --- lib/util.php | 65 +++++++++++++++++++++++++++++----------------------- 1 file changed, 36 insertions(+), 29 deletions(-) diff --git a/lib/util.php b/lib/util.php index 575e796f11..091533afb1 100644 --- a/lib/util.php +++ b/lib/util.php @@ -412,37 +412,44 @@ function common_render_text($text) function common_replace_urls_callback($text, $callback, $notice_id = null) { // Start off with a regex $regex = '#'. - '(?:^|[\s\(\)\[\]\{\}]+)('. - '(?:'. //Known protocols - '(?:'. - '(?:https?|ftps?|mms|rtsp|gopher|news|nntp|telnet|wais|file|prospero|webcal|irc)://'. - '|'. - '(?:mailto|aim|tel|xmpp):'. - ')[^\s\(\)\[\]\{\}]+'. + '(?:^|[\s\(\)\[\]\{\}]+)'. + '('. + '(?:'. + '(?:'. //Known protocols + '(?:'. + '(?:https?|ftps?|mms|rtsp|gopher|news|nntp|telnet|wais|file|prospero|webcal|irc)://'. + '|'. + '(?:mailto|aim|tel|xmpp):'. + ')[^\s\/]+'. + ')'. + '|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'. //IPv4 + '|(?:'. //IPv6 + '(?:[0-9a-f]{1,4}:){1,1}(?::[0-9a-f]{1,4}){1,6}|'. + '(?:[0-9a-f]{1,4}:){1,2}(?::[0-9a-f]{1,4}){1,5}|'. + '(?:[0-9a-f]{1,4}:){1,3}(?::[0-9a-f]{1,4}){1,4}|'. + '(?:[0-9a-f]{1,4}:){1,4}(?::[0-9a-f]{1,4}){1,3}|'. + '(?:[0-9a-f]{1,4}:){1,5}(?::[0-9a-f]{1,4}){1,2}|'. + '(?:[0-9a-f]{1,4}:){1,6}(?::[0-9a-f]{1,4}){1,1}|'. + '(?:(?:[0-9a-f]{1,4}:){1,7}|:):|'. + ':(?::[0-9a-f]{1,4}){1,7}|'. + '(?:(?:(?:[0-9a-f]{1,4}:){6})(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3})|'. + '(?:(?:[0-9a-f]{1,4}:){5}[0-9a-f]{1,4}:(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3})|'. + '(?:[0-9a-f]{1,4}:){5}:[0-9a-f]{1,4}:(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}|'. + '(?:[0-9a-f]{1,4}:){1,1}(?::[0-9a-f]{1,4}){1,4}:(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}|'. + '(?:[0-9a-f]{1,4}:){1,2}(?::[0-9a-f]{1,4}){1,3}:(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}|'. + '(?:[0-9a-f]{1,4}:){1,3}(?::[0-9a-f]{1,4}){1,2}:(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}|'. + '(?:[0-9a-f]{1,4}:){1,4}(?::[0-9a-f]{1,4}){1,1}:(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}|'. + '(?:(?:[0-9a-f]{1,4}:){1,5}|:):(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}|'. + ':(?::[0-9a-f]{1,4}){1,5}:(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}'. + ')|(?:'. //DNS + '\S+\.(?:museum|travel|onion|local|[a-z]{2,4})'. + ')'. ')'. - '|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'. //IPv4 - '|(?:'. //IPv6 - '(?:[0-9a-f]{1,4}:){1,1}(?::[0-9a-f]{1,4}){1,6}|'. - '(?:[0-9a-f]{1,4}:){1,2}(?::[0-9a-f]{1,4}){1,5}|'. - '(?:[0-9a-f]{1,4}:){1,3}(?::[0-9a-f]{1,4}){1,4}|'. - '(?:[0-9a-f]{1,4}:){1,4}(?::[0-9a-f]{1,4}){1,3}|'. - '(?:[0-9a-f]{1,4}:){1,5}(?::[0-9a-f]{1,4}){1,2}|'. - '(?:[0-9a-f]{1,4}:){1,6}(?::[0-9a-f]{1,4}){1,1}|'. - '(?:(?:[0-9a-f]{1,4}:){1,7}|:):|'. - ':(?::[0-9a-f]{1,4}){1,7}|'. - '(?:(?:(?:[0-9a-f]{1,4}:){6})(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3})|'. - '(?:(?:[0-9a-f]{1,4}:){5}[0-9a-f]{1,4}:(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3})|'. - '(?:[0-9a-f]{1,4}:){5}:[0-9a-f]{1,4}:(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}|'. - '(?:[0-9a-f]{1,4}:){1,1}(?::[0-9a-f]{1,4}){1,4}:(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}|'. - '(?:[0-9a-f]{1,4}:){1,2}(?::[0-9a-f]{1,4}){1,3}:(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}|'. - '(?:[0-9a-f]{1,4}:){1,3}(?::[0-9a-f]{1,4}){1,2}:(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}|'. - '(?:[0-9a-f]{1,4}:){1,4}(?::[0-9a-f]{1,4}){1,1}:(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}|'. - '(?:(?:[0-9a-f]{1,4}:){1,5}|:):(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}|'. - ':(?::[0-9a-f]{1,4}){1,5}:(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}'. - ')|(?:'. //DNS - '\S+\.(?:museum|travel|onion|local|[a-z]{2,4})'. + '(?:'. + '$|(?:'. + '/[^\s\(\)\[\]\{\}]*'. + ')'. ')'. - '([^\s\(\)\[\]\{\}]*)'. ')'. '#ix'; return preg_replace_callback($regex, curry(callback_helper,$callback,$notice_id) ,$text); From 86ba7b13c2c48280fe371b81ffa14a8b387cd61b Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Fri, 21 Aug 2009 22:58:43 -0400 Subject: [PATCH 010/134] Finally got the IPv6 regex right in the url finder --- lib/util.php | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/lib/util.php b/lib/util.php index 091533afb1..2be4213e79 100644 --- a/lib/util.php +++ b/lib/util.php @@ -423,24 +423,8 @@ function common_replace_urls_callback($text, $callback, $notice_id = null) { ')[^\s\/]+'. ')'. '|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'. //IPv4 - '|(?:'. //IPv6 - '(?:[0-9a-f]{1,4}:){1,1}(?::[0-9a-f]{1,4}){1,6}|'. - '(?:[0-9a-f]{1,4}:){1,2}(?::[0-9a-f]{1,4}){1,5}|'. - '(?:[0-9a-f]{1,4}:){1,3}(?::[0-9a-f]{1,4}){1,4}|'. - '(?:[0-9a-f]{1,4}:){1,4}(?::[0-9a-f]{1,4}){1,3}|'. - '(?:[0-9a-f]{1,4}:){1,5}(?::[0-9a-f]{1,4}){1,2}|'. - '(?:[0-9a-f]{1,4}:){1,6}(?::[0-9a-f]{1,4}){1,1}|'. - '(?:(?:[0-9a-f]{1,4}:){1,7}|:):|'. - ':(?::[0-9a-f]{1,4}){1,7}|'. - '(?:(?:(?:[0-9a-f]{1,4}:){6})(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3})|'. - '(?:(?:[0-9a-f]{1,4}:){5}[0-9a-f]{1,4}:(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3})|'. - '(?:[0-9a-f]{1,4}:){5}:[0-9a-f]{1,4}:(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}|'. - '(?:[0-9a-f]{1,4}:){1,1}(?::[0-9a-f]{1,4}){1,4}:(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}|'. - '(?:[0-9a-f]{1,4}:){1,2}(?::[0-9a-f]{1,4}){1,3}:(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}|'. - '(?:[0-9a-f]{1,4}:){1,3}(?::[0-9a-f]{1,4}){1,2}:(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}|'. - '(?:[0-9a-f]{1,4}:){1,4}(?::[0-9a-f]{1,4}){1,1}:(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}|'. - '(?:(?:[0-9a-f]{1,4}:){1,5}|:):(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}|'. - ':(?::[0-9a-f]{1,4}){1,5}:(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}'. + '|(?:'. //IPv6 + '(?:(?:(?:[0-9A-Fa-f]{1,4}:){7}(?:(?:[0-9A-Fa-f]{1,4})|:))|(?:(?:[0-9A-Fa-f]{1,4}:){6}(?::|(?:(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})|(?::[0-9A-Fa-f]{1,4})))|(?:(?:[0-9A-Fa-f]{1,4}:){5}(?:(?::(?:(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|(?:(?::[0-9A-Fa-f]{1,4}){1,2})))|(?:(?:[0-9A-Fa-f]{1,4}:){4}(?::[0-9A-Fa-f]{1,4}){0,1}(?:(?::(?:(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|(?:(?::[0-9A-Fa-f]{1,4}){1,2})))|(?:(?:[0-9A-Fa-f]{1,4}:){3}(?::[0-9A-Fa-f]{1,4}){0,2}(?:(?::(?:(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|(?:(?::[0-9A-Fa-f]{1,4}){1,2})))|(?:(?:[0-9A-Fa-f]{1,4}:){2}(?::[0-9A-Fa-f]{1,4}){0,3}(?:(?::(?:(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|(?:(?::[0-9A-Fa-f]{1,4}){1,2})))|(?:(?:[0-9A-Fa-f]{1,4}:)(?::[0-9A-Fa-f]{1,4}){0,4}(?:(?::(?:(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|(?:(?::[0-9A-Fa-f]{1,4}){1,2})))|(?::(?::[0-9A-Fa-f]{1,4}){0,5}(?:(?::(?:(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|(?:(?::[0-9A-Fa-f]{1,4}){1,2})))|(?:(?:(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})))'. ')|(?:'. //DNS '\S+\.(?:museum|travel|onion|local|[a-z]{2,4})'. ')'. From 5d5b9f7022ad144cc747a33bcabea773d2f92b28 Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Thu, 30 Jul 2009 00:20:13 +0000 Subject: [PATCH 011/134] Add new Foreign_link col to store OAuth access token --- classes/Foreign_link.php | 1 + classes/laconica.ini | 1 + db/laconica.sql | 3 ++- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/classes/Foreign_link.php b/classes/Foreign_link.php index c0b356eced..a3a159eb54 100644 --- a/classes/Foreign_link.php +++ b/classes/Foreign_link.php @@ -14,6 +14,7 @@ class Foreign_link extends Memcached_DataObject public $foreign_id; // bigint(8) primary_key not_null unsigned public $service; // int(4) primary_key not_null public $credentials; // varchar(255) + public $token; // varchar(255) public $noticesync; // tinyint(1) not_null default_1 public $friendsync; // tinyint(1) not_null default_2 public $profilesync; // tinyint(1) not_null default_1 diff --git a/classes/laconica.ini b/classes/laconica.ini index 766bed75de..85d5f528d1 100644 --- a/classes/laconica.ini +++ b/classes/laconica.ini @@ -127,6 +127,7 @@ user_id = 129 foreign_id = 129 service = 129 credentials = 2 +token = 2 noticesync = 145 friendsync = 145 profilesync = 145 diff --git a/db/laconica.sql b/db/laconica.sql index 2c04f680a8..8b1152cbdc 100644 --- a/db/laconica.sql +++ b/db/laconica.sql @@ -291,7 +291,8 @@ create table foreign_link ( user_id int comment 'link to user on this system, if exists' references user (id), foreign_id bigint unsigned comment 'link to user on foreign service, if exists' references foreign_user(id), service int not null comment 'foreign key to service' references foreign_service(id), - credentials varchar(255) comment 'authc credentials, typically a password', + credentials varchar(255) comment 'auth credentials, typically a password or token secret', + token varchar(255) comment 'access token', noticesync tinyint not null default 1 comment 'notice synchronization, bit 1 = sync outgoing, bit 2 = sync incoming, bit 3 = filter local replies', friendsync tinyint not null default 2 comment 'friend synchronization, bit 1 = sync outgoing, bit 2 = sync incoming', profilesync tinyint not null default 1 comment 'profile synchronization, bit 1 = sync outgoing, bit 2 = sync incoming', From e9edaab3588b18677c2b37a3115f447307e64689 Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Sat, 1 Aug 2009 08:20:44 +0000 Subject: [PATCH 012/134] Twitter OAuth server dance working --- actions/twitterauthorization.php | 136 +++++++++++++++++++++++++++++++ actions/twittersettings.php | 111 ++++++++++++------------- lib/common.php | 3 + lib/router.php | 4 + lib/twitteroauthclient.php | 109 +++++++++++++++++++++++++ 5 files changed, 302 insertions(+), 61 deletions(-) create mode 100644 actions/twitterauthorization.php create mode 100644 lib/twitteroauthclient.php diff --git a/actions/twitterauthorization.php b/actions/twitterauthorization.php new file mode 100644 index 0000000000..f19cd7f653 --- /dev/null +++ b/actions/twitterauthorization.php @@ -0,0 +1,136 @@ +. + * + * @category TwitterauthorizationAction + * @package Laconica + * @author Zach Copely + * @copyright 2009 Control Yourself, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://laconi.ca/ + */ + +if (!defined('LACONICA')) { + exit(1); +} + +class TwitterauthorizationAction extends Action +{ + + function prepare($args) + { + parent::prepare($args); + + $this->oauth_token = $this->arg('oauth_token'); + + return true; + } + + function handle($args) + { + parent::handle($args); + + if (!common_logged_in()) { + $this->clientError(_('Not logged in.'), 403); + } + + $user = common_current_user(); + $flink = Foreign_link::getByUserID($user->id, TWITTER_SERVICE); + + // If there's already a foreign link record, it means we already + // have an access token, and this is unecessary. So go back. + + if (isset($flink)) { + common_redirect(common_local_url('twittersettings')); + } + + // $this->oauth_token is only populated once Twitter authorizes our + // request token. If it's empty we're at the beginning of the auth + // process + + if (empty($this->oauth_token)) { + + // Get a new request token and authorize it + + $client = new TwitterOAuthClient(); + $req_tok = $client->getRequestToken(); + + // Sock the request token away in the session temporarily + + $_SESSION['twitter_request_token'] = $req_tok->key; + $_SESSION['twitter_request_token_secret'] = $req_tok->key; + + $auth_link = $client->getAuthorizeLink($req_tok); + common_redirect($auth_link); + + } else { + + // Check to make sure Twitter sent us the same request token we sent + + if ($_SESSION['twitter_request_token'] != $this->oauth_token) { + $this->serverError(_('Couldn\'t link your Twitter account.')); + } + + $client = new TwitterOAuthClient($_SESSION['twitter_request_token'], + $_SESSION['twitter_request_token_secret']); + + // Exchange the request token for an access token + + $atok = $client->getAccessToken(); + + // Save the access token and Twitter user info + + $client = new TwitterOAuthClient($atok->key, $atok->secret); + + $twitter_user = $client->verify_credentials(); + + $user = common_current_user(); + + $flink = new Foreign_link(); + + $flink->user_id = $user->id; + $flink->foreign_id = $twitter_user->id; + $flink->service = TWITTER_SERVICE; + $flink->token = $atok->key; + $flink->credentials = $atok->secret; + $flink->created = common_sql_now(); + + $flink->set_flags(true, false, false, false); + + $flink_id = $flink->insert(); + + if (empty($flink_id)) { + common_log_db_error($flink, 'INSERT', __FILE__); + $this->serverError(_('Couldn\'t link your Twitter account.')); + } + + save_twitter_user($twitter_user->id, $twitter_user->screen_name); + + // clean up the the mess we made in the session + + unset($_SESSION['twitter_request_token']); + unset($_SESSION['twitter_request_token_secret']); + + common_redirect(common_local_url('twittersettings')); + } + } + +} + diff --git a/actions/twittersettings.php b/actions/twittersettings.php index 2b742788ee..acc9fb935f 100644 --- a/actions/twittersettings.php +++ b/actions/twittersettings.php @@ -69,9 +69,8 @@ class TwittersettingsAction extends ConnectSettingsAction function getInstructions() { - return _('Add your Twitter account to automatically send '. - ' your notices to Twitter, ' . - 'and subscribe to Twitter friends already here.'); + return _('Connect your Twitter account to share your updates ' . + 'with your Twitter friends and vice-versa.'); } /** @@ -93,7 +92,7 @@ class TwittersettingsAction extends ConnectSettingsAction $flink = Foreign_link::getByUserID($user->id, TWITTER_SERVICE); - if ($flink) { + if (!empty($flink)) { $fuser = $flink->getForeignUser(); } @@ -102,73 +101,61 @@ class TwittersettingsAction extends ConnectSettingsAction 'class' => 'form_settings', 'action' => common_local_url('twittersettings'))); - $this->elementStart('fieldset', array('id' => 'settings_twitter_account')); - $this->element('legend', null, _('Twitter Account')); + $this->hidden('token', common_session_token()); - if ($fuser) { + + + if (empty($fuser)) { + + $this->elementStart('fieldset', array('id' => 'settings_twitter_account')); $this->elementStart('ul', 'form_data'); - $this->elementStart('li', array('id' => 'settings_twitter_remove')); - $this->element('span', 'twitter_user', $fuser->nickname); - $this->element('a', array('href' => $fuser->uri), $fuser->uri); - $this->element('p', 'form_note', - _('Current verified Twitter account.')); - $this->hidden('flink_foreign_id', $flink->foreign_id); - $this->elementEnd('li'); + $this->elementStart('li', array('id' => 'settings_twitter_login_button')); + $this->element('a', array('href' => common_local_url('twitterauthorization')), + 'Connect my Twitter account'); + $this->elementEnd('li'); $this->elementEnd('ul'); - $this->submit('remove', _('Remove')); + $this->elementEnd('fieldset'); + } else { + + $this->elementStart('fieldset', + array('id' => 'settings_twitter_preferences')); + $this->element('legend', null, _('Preferences')); + $this->elementStart('ul', 'form_data'); - $this->elementStart('li', array('id' => 'settings_twitter_login')); - $this->input('twitter_username', _('Twitter user name'), - ($this->arg('twitter_username')) ? - $this->arg('twitter_username') : - $profile->nickname, - _('No spaces, please.')); // hey, it's what Twitter says + $this->elementStart('li'); + $this->checkbox('noticesend', + _('Automatically send my notices to Twitter.'), + ($flink) ? + ($flink->noticesync & FOREIGN_NOTICE_SEND) : + true); $this->elementEnd('li'); $this->elementStart('li'); - $this->password('twitter_password', _('Twitter password')); - $this->elementend('li'); - $this->elementEnd('ul'); - } - $this->elementEnd('fieldset'); + $this->checkbox('replysync', + _('Send local "@" replies to Twitter.'), + ($flink) ? + ($flink->noticesync & FOREIGN_NOTICE_SEND_REPLY) : + true); + $this->elementEnd('li'); + $this->elementStart('li'); + $this->checkbox('friendsync', + _('Subscribe to my Twitter friends here.'), + ($flink) ? + ($flink->friendsync & FOREIGN_FRIEND_RECV) : + false); + $this->elementEnd('li'); - $this->elementStart('fieldset', - array('id' => 'settings_twitter_preferences')); - $this->element('legend', null, _('Preferences')); - - $this->elementStart('ul', 'form_data'); - $this->elementStart('li'); - $this->checkbox('noticesend', - _('Automatically send my notices to Twitter.'), - ($flink) ? - ($flink->noticesync & FOREIGN_NOTICE_SEND) : - true); - $this->elementEnd('li'); - $this->elementStart('li'); - $this->checkbox('replysync', - _('Send local "@" replies to Twitter.'), - ($flink) ? - ($flink->noticesync & FOREIGN_NOTICE_SEND_REPLY) : - true); - $this->elementEnd('li'); - $this->elementStart('li'); - $this->checkbox('friendsync', - _('Subscribe to my Twitter friends here.'), - ($flink) ? - ($flink->friendsync & FOREIGN_FRIEND_RECV) : - false); - $this->elementEnd('li'); - - if (common_config('twitterbridge','enabled')) { + if (common_config('twitterbridge','enabled')) { $this->elementStart('li'); $this->checkbox('noticerecv', - _('Import my Friends Timeline.'), - ($flink) ? - ($flink->noticesync & FOREIGN_NOTICE_RECV) : - false); + _('Import my Friends Timeline.'), + ($flink) ? + ($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)) { $this->hidden('noticerecv', true, 'noticerecv'); } @@ -181,11 +168,13 @@ class TwittersettingsAction extends ConnectSettingsAction } else { $this->submit('add', _('Add')); } + $this->elementEnd('fieldset'); + } - $this->showTwitterSubscriptions(); + $this->showTwitterSubscriptions(); - $this->elementEnd('form'); + $this->elementEnd('form'); } /** diff --git a/lib/common.php b/lib/common.php index 8cd3ae2fc0..5d6956d9b2 100644 --- a/lib/common.php +++ b/lib/common.php @@ -188,6 +188,9 @@ $config = 'integration' => array('source' => 'Laconica', # source attribute for Twitter 'taguri' => $_server.',2009'), # base for tag URIs + 'twitter' => + array('consumer_key' => null, + 'consumer_secret' => null), 'memcached' => array('enabled' => false, 'server' => 'localhost', diff --git a/lib/router.php b/lib/router.php index 19839b9972..6651773c0d 100644 --- a/lib/router.php +++ b/lib/router.php @@ -88,6 +88,10 @@ class Router $m->connect('doc/:title', array('action' => 'doc')); + // Twitter + + $m->connect('twitter/authorization', array('action' => 'twitterauthorization')); + // facebook $m->connect('facebook', array('action' => 'facebookhome')); diff --git a/lib/twitteroauthclient.php b/lib/twitteroauthclient.php new file mode 100644 index 0000000000..616fbc2134 --- /dev/null +++ b/lib/twitteroauthclient.php @@ -0,0 +1,109 @@ +sha1_method = new OAuthSignatureMethod_HMAC_SHA1(); + $consumer_key = common_config('twitter', 'consumer_key'); + $consumer_secret = common_config('twitter', 'consumer_secret'); + $this->consumer = new OAuthConsumer($consumer_key, $consumer_secret); + $this->token = null; + + if (isset($oauth_token) && isset($oauth_token_secret)) { + $this->token = new OAuthToken($oauth_token, $oauth_token_secret); + } + } + + function getRequestToken() + { + $response = $this->oAuthGet(TwitterOAuthClient::$requestTokenURL); + parse_str($response); + $token = new OAuthToken($oauth_token, $oauth_token_secret); + return $token; + } + + function getAuthorizeLink($request_token) + { + // Not sure Twitter actually looks at oauth_callback + + return TwitterOAuthClient::$authorizeURL . + '?oauth_token=' . $request_token->key . '&oauth_callback=' . + urlencode(common_local_url('twitterauthorization')); + } + + function getAccessToken() + { + $response = $this->oAuthPost(TwitterOAuthClient::$accessTokenURL); + parse_str($response); + $token = new OAuthToken($oauth_token, $oauth_token_secret); + return $token; + } + + function verify_credentials() + { + $url = 'https://twitter.com/account/verify_credentials.json'; + $response = $this->oAuthGet($url); + $twitter_user = json_decode($response); + return $twitter_user; + } + + function oAuthGet($url) + { + $request = OAuthRequest::from_consumer_and_token($this->consumer, + $this->token, 'GET', $url, null); + $request->sign_request($this->sha1_method, + $this->consumer, $this->token); + + return $this->httpRequest($request->to_url()); + } + + function oAuthPost($url, $params = null) + { + $request = OAuthRequest::from_consumer_and_token($this->consumer, + $this->token, 'POST', $url, $params); + $request->sign_request($this->sha1_method, + $this->consumer, $this->token); + + return $this->httpRequest($request->get_normalized_http_url(), + $request->to_postdata()); + } + + function httpRequest($url, $params = null) + { + $options = array( + CURLOPT_RETURNTRANSFER => true, + CURLOPT_FAILONERROR => true, + CURLOPT_HEADER => false, + CURLOPT_FOLLOWLOCATION => true, + CURLOPT_USERAGENT => 'Laconica', + 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; + } + + $ch = curl_init($url); + curl_setopt_array($ch, $options); + $response = curl_exec($ch); + curl_close($ch); + + return $response; + } + +} From 500f0c70725ebd4d0765ec547c7739d8f8268c39 Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Mon, 3 Aug 2009 22:46:01 +0000 Subject: [PATCH 013/134] Make the TwitterQueuehandler post to Twitter using OAuth --- actions/twitterauthorization.php | 48 ++++++++---- lib/mail.php | 19 ++--- lib/twitter.php | 129 ++++++++++++------------------- lib/twitteroauthclient.php | 39 +++++++--- 4 files changed, 122 insertions(+), 113 deletions(-) diff --git a/actions/twitterauthorization.php b/actions/twitterauthorization.php index f19cd7f653..519427dacd 100644 --- a/actions/twitterauthorization.php +++ b/actions/twitterauthorization.php @@ -67,39 +67,57 @@ class TwitterauthorizationAction extends Action if (empty($this->oauth_token)) { - // Get a new request token and authorize it + try { - $client = new TwitterOAuthClient(); - $req_tok = $client->getRequestToken(); + // Get a new request token and authorize it - // Sock the request token away in the session temporarily + $client = new TwitterOAuthClient(); + $req_tok = $client->getRequestToken(); - $_SESSION['twitter_request_token'] = $req_tok->key; - $_SESSION['twitter_request_token_secret'] = $req_tok->key; + // Sock the request token away in the session temporarily + + $_SESSION['twitter_request_token'] = $req_tok->key; + $_SESSION['twitter_request_token_secret'] = $req_tok->key; + + $auth_link = $client->getAuthorizeLink($req_tok); + + } catch (TwitterOAuthClientException $e) { + $msg = sprintf('OAuth client cURL error - code: %1s, msg: %2s', + $e->getCode(), $e->getMessage()); + $this->serverError(_('Couldn\'t link your Twitter account.')); + } - $auth_link = $client->getAuthorizeLink($req_tok); common_redirect($auth_link); } else { - // Check to make sure Twitter sent us the same request token we sent + // Check to make sure Twitter returned the same request + // token we sent them if ($_SESSION['twitter_request_token'] != $this->oauth_token) { $this->serverError(_('Couldn\'t link your Twitter account.')); } - $client = new TwitterOAuthClient($_SESSION['twitter_request_token'], - $_SESSION['twitter_request_token_secret']); + try { - // Exchange the request token for an access token + $client = new TwitterOAuthClient($_SESSION['twitter_request_token'], + $_SESSION['twitter_request_token_secret']); - $atok = $client->getAccessToken(); + // Exchange the request token for an access token - // Save the access token and Twitter user info + $atok = $client->getAccessToken(); - $client = new TwitterOAuthClient($atok->key, $atok->secret); + // Save the access token and Twitter user info - $twitter_user = $client->verify_credentials(); + $client = new TwitterOAuthClient($atok->key, $atok->secret); + + $twitter_user = $client->verify_credentials(); + + } catch (OAuthClientException $e) { + $msg = sprintf('OAuth client cURL error - code: %1s, msg: %2s', + $e->getCode(), $e->getMessage()); + $this->serverError(_('Couldn\'t link your Twitter account.')); + } $user = common_current_user(); diff --git a/lib/mail.php b/lib/mail.php index 0050ad8104..16c1b0f30a 100644 --- a/lib/mail.php +++ b/lib/mail.php @@ -645,13 +645,14 @@ function mail_twitter_bridge_removed($user) $subject = sprintf(_('Your Twitter bridge has been disabled.')); - $body = sprintf(_("Hi, %1\$s. We're sorry to inform you that your " . - 'link to Twitter has been disabled. Your Twitter credentials ' . - 'have either changed (did you recently change your Twitter ' . - 'password?) or you have otherwise revoked our access to your ' . - "Twitter account.\n\n" . - 'You can re-enable your Twitter bridge by visiting your ' . - "Twitter settings page:\n\n\t%2\$s\n\n" . + $site_name = common_config('site', 'name'); + + $body = sprintf(_('Hi, %1$s. We\'re sorry to inform you that your ' . + 'link to Twitter has been disabled. We no longer seem to have ' . + 'permission to update your Twitter status. (Did you revoke ' . + '%3$s\'s access?)' . "\n\n" . + 'You can re-enable your Twitter bridge by visiting your ' . + "Twitter settings page:\n\n\t%2\$s\n\n" . "Regards,\n%3\$s\n"), $profile->getBestName(), common_local_url('twittersettings'), @@ -679,11 +680,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/twitter.php b/lib/twitter.php index 47af32e61f..2369ac2678 100644 --- a/lib/twitter.php +++ b/lib/twitter.php @@ -360,106 +360,74 @@ function is_twitter_bound($notice, $flink) { function broadcast_twitter($notice) { - $flink = Foreign_link::getByUserID($notice->profile_id, TWITTER_SERVICE); if (is_twitter_bound($notice, $flink)) { - $fuser = $flink->getForeignUser(); - $twitter_user = $fuser->nickname; - $twitter_password = $flink->credentials; - $uri = 'http://www.twitter.com/statuses/update.json'; + $user = $flink->getUser(); // XXX: Hack to get around PHP cURL's use of @ being a a meta character $statustxt = preg_replace('/^@/', ' @', $notice->content); - $options = array( - CURLOPT_USERPWD => "$twitter_user:$twitter_password", - CURLOPT_POST => true, - CURLOPT_POSTFIELDS => - array( - 'status' => $statustxt, - 'source' => common_config('integration', 'source') - ), - CURLOPT_RETURNTRANSFER => true, - CURLOPT_FAILONERROR => true, - CURLOPT_HEADER => false, - CURLOPT_FOLLOWLOCATION => true, - CURLOPT_USERAGENT => "Laconica", - CURLOPT_CONNECTTIMEOUT => 120, // XXX: How long should this be? - CURLOPT_TIMEOUT => 120, + $client = new TwitterOAuthClient($flink->token, $flink->credentials); - # Twitter is strict about accepting invalid "Expect" headers - CURLOPT_HTTPHEADER => array('Expect:') - ); + $status = null; - $ch = curl_init($uri); - curl_setopt_array($ch, $options); - $data = curl_exec($ch); - $errmsg = curl_error($ch); - $errno = curl_errno($ch); + try { + $status = $client->statuses_update($statustxt); + } catch (OAuthClientCurlException $e) { - if (!empty($errmsg)) { - common_debug("cURL error ($errno): $errmsg - " . - "trying to send notice for $twitter_user.", - __FILE__); + if ($e->getMessage() == 'The requested URL returned error: 401') { - $user = $flink->getUser(); + $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); - if ($errmsg == 'The requested URL returned error: 401') { - common_debug(sprintf('User %s (user id: %s) ' . - 'has bad Twitter credentials!', - $user->nickname, $user->id)); + // Bad auth token! We need to delete the foreign_link + // to Twitter and inform the user. - // Bad credentials 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 try to - // send again later - - return false; - } - - } - - curl_close($ch); - - if (empty($data)) { - common_debug("No data returned by Twitter's " . - "API trying to send update for $twitter_user", - __FILE__); - - // XXX: Not sure this represents a failure to send, but it - // probably does - - return false; + remove_twitter_link($flink); + return true; } else { - // Twitter should return a status - $status = json_decode($data); + // Some other error happened, so we should probably + // try to send again later. - if (empty($status)) { - common_debug("Unexpected data returned by Twitter " . - " API trying to send update for $twitter_user", - __FILE__); + $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); - // XXX: Again, this could represent a failure posting - // or the Twitter API might just be behaving flakey. - // We're treating it as a failure to post. - - return false; - } + return false; } } + 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; } @@ -480,17 +448,20 @@ function remove_twitter_link($flink) // Notify the user that her Twitter bridge is down + if (isset($user->email)) { + $result = mail_twitter_bridge_removed($user); if (!$result) { $msg = 'Unable to send email to notify ' . - "$user->nickname (user id: $user->id) " . - 'that their Twitter bridge link was ' . + "$user->nickname (user id: $user->id) " . + 'that their Twitter bridge link was ' . 'removed!'; common_log(LOG_WARNING, $msg); } + } } diff --git a/lib/twitteroauthclient.php b/lib/twitteroauthclient.php index 616fbc2134..63ffe1c7ce 100644 --- a/lib/twitteroauthclient.php +++ b/lib/twitteroauthclient.php @@ -2,6 +2,8 @@ require_once('OAuth.php'); +class OAuthClientCurlException extends Exception { } + class TwitterOAuthClient { public static $requestTokenURL = 'https://twitter.com/oauth/request_token'; @@ -54,6 +56,16 @@ class TwitterOAuthClient return $twitter_user; } + function statuses_update($status, $in_reply_to_status_id = null) + { + $url = 'https://twitter.com/statuses/update.json'; + $params = array('status' => $status, + 'in_reply_to_status_id' => $in_reply_to_status_id); + $response = $this->oAuthPost($url, $params); + $status = json_decode($response); + return $status; + } + function oAuthGet($url) { $request = OAuthRequest::from_consumer_and_token($this->consumer, @@ -91,19 +103,26 @@ class TwitterOAuthClient // Twitter is strict about accepting invalid "Expect" headers CURLOPT_HTTPHEADER => array('Expect:') - ); + ); - if (isset($params)) { - $options[CURLOPT_POST] = true; - $options[CURLOPT_POSTFIELDS] = $params; - } + if (isset($params)) { + $options[CURLOPT_POST] = true; + $options[CURLOPT_POSTFIELDS] = $params; + } - $ch = curl_init($url); - curl_setopt_array($ch, $options); - $response = curl_exec($ch); - curl_close($ch); + $ch = curl_init($url); + curl_setopt_array($ch, $options); + $response = curl_exec($ch); - return $response; + if ($response === false) { + $msg = curl_error($ch); + $code = curl_errno($ch); + throw new OAuthClientCurlException($msg, $code); + } + + curl_close($ch); + + return $response; } } From 590f21c6a96d4d83370c9a0c590bdf5f9cc17769 Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Tue, 4 Aug 2009 00:02:07 +0000 Subject: [PATCH 014/134] Allow removal of Twitter account. Deleted dead code. --- actions/twittersettings.php | 346 ++++++------------------------------ 1 file changed, 53 insertions(+), 293 deletions(-) diff --git a/actions/twittersettings.php b/actions/twittersettings.php index acc9fb935f..7fffa0af01 100644 --- a/actions/twittersettings.php +++ b/actions/twittersettings.php @@ -34,8 +34,6 @@ if (!defined('LACONICA')) { require_once INSTALLDIR.'/lib/connectsettingsaction.php'; require_once INSTALLDIR.'/lib/twitter.php'; -define('SUBSCRIPTIONS', 80); - /** * Settings for Twitter integration * @@ -70,7 +68,7 @@ class TwittersettingsAction extends ConnectSettingsAction function getInstructions() { return _('Connect your Twitter account to share your updates ' . - 'with your Twitter friends and vice-versa.'); + 'with your Twitter friends and vice-versa.'); } /** @@ -104,179 +102,83 @@ class TwittersettingsAction extends ConnectSettingsAction $this->hidden('token', common_session_token()); + $this->elementStart('fieldset', array('id' => 'settings_twitter_account')); if (empty($fuser)) { - - $this->elementStart('fieldset', array('id' => 'settings_twitter_account')); $this->elementStart('ul', 'form_data'); $this->elementStart('li', array('id' => 'settings_twitter_login_button')); $this->element('a', array('href' => common_local_url('twitterauthorization')), - 'Connect my Twitter account'); - $this->elementEnd('li'); + 'Connect my Twitter account'); + $this->elementEnd('li'); $this->elementEnd('ul'); + + $this->elementEnd('fieldset'); + } else { + $this->element('legend', null, _('Twitter account')); + $this->elementStart('p', array('id' => 'form_confirmed')); + $this->element('a', array('href' => $fuser->uri), $fuser->nickname); + $this->elementEnd('p'); + $this->element('p', 'form_note', + _('Connected Twitter account')); + + $this->submit('remove', _('Remove')); + $this->elementEnd('fieldset'); - } else { + $this->elementStart('fieldset', array('id' => 'settings_twitter_preferences')); - $this->elementStart('fieldset', - array('id' => 'settings_twitter_preferences')); $this->element('legend', null, _('Preferences')); - $this->elementStart('ul', 'form_data'); $this->elementStart('li'); $this->checkbox('noticesend', - _('Automatically send my notices to Twitter.'), - ($flink) ? - ($flink->noticesync & FOREIGN_NOTICE_SEND) : - true); + _('Automatically send my notices to Twitter.'), + ($flink) ? + ($flink->noticesync & FOREIGN_NOTICE_SEND) : + true); $this->elementEnd('li'); $this->elementStart('li'); $this->checkbox('replysync', - _('Send local "@" replies to Twitter.'), - ($flink) ? - ($flink->noticesync & FOREIGN_NOTICE_SEND_REPLY) : - true); + _('Send local "@" replies to Twitter.'), + ($flink) ? + ($flink->noticesync & FOREIGN_NOTICE_SEND_REPLY) : + true); $this->elementEnd('li'); $this->elementStart('li'); $this->checkbox('friendsync', - _('Subscribe to my Twitter friends here.'), - ($flink) ? - ($flink->friendsync & FOREIGN_FRIEND_RECV) : - false); + _('Subscribe to my Twitter friends here.'), + ($flink) ? + ($flink->friendsync & FOREIGN_FRIEND_RECV) : + false); $this->elementEnd('li'); if (common_config('twitterbridge','enabled')) { - $this->elementStart('li'); - $this->checkbox('noticerecv', - _('Import my Friends Timeline.'), - ($flink) ? - ($flink->noticesync & FOREIGN_NOTICE_RECV) : - false); - $this->elementEnd('li'); - - // preserve setting even if bidrection bridge toggled off - - if ($flink && ($flink->noticesync & FOREIGN_NOTICE_RECV)) { - $this->hidden('noticerecv', true, 'noticerecv'); - } - } - - $this->elementEnd('ul'); - - if ($flink) { - $this->submit('save', _('Save')); - } else { - $this->submit('add', _('Add')); - } - - $this->elementEnd('fieldset'); - } - - $this->showTwitterSubscriptions(); - - $this->elementEnd('form'); - } - - /** - * Gets some of the user's Twitter friends - * - * Gets the number of Twitter friends that are on this - * instance of Laconica. - * - * @return array array of User objects - */ - - function subscribedTwitterUsers() - { - - $current_user = common_current_user(); - - $qry = 'SELECT "user".* ' . - 'FROM subscription ' . - 'JOIN "user" ON subscription.subscribed = "user".id ' . - 'JOIN foreign_link ON foreign_link.user_id = "user".id ' . - 'WHERE subscriber = %d ' . - 'ORDER BY "user".nickname'; - - $user = new User(); - - $user->query(sprintf($qry, $current_user->id)); - - $users = array(); - - while ($user->fetch()) { - - // Don't include the user's own self-subscription - if ($user->id != $current_user->id) { - $users[] = clone($user); - } - } - - return $users; - } - - /** - * Show user's Twitter friends - * - * Gets the number of Twitter friends that are on this - * instance of Laconica, and shows their mini-avatars. - * - * @return void - */ - - function showTwitterSubscriptions() - { - - $friends = $this->subscribedTwitterUsers(); - - $friends_count = count($friends); - - if ($friends_count > 0) { - $this->elementStart('div', array('id' => 'entity_subscriptions', - 'class' => 'section')); - $this->element('h2', null, _('Twitter Friends')); - $this->elementStart('ul', 'entities users xoxo'); - - for ($i = 0; $i < min($friends_count, SUBSCRIPTIONS); $i++) { - - $other = Profile::staticGet($friends[$i]->id); - - if (!$other) { - common_log_db_error($subs, 'SELECT', __FILE__); - continue; - } - - $this->elementStart('li', 'vcard'); - $this->elementStart('a', array('title' => ($other->fullname) ? - $other->fullname : - $other->nickname, - 'href' => $other->profileurl, - 'class' => 'url')); - - $avatar = $other->getAvatar(AVATAR_MINI_SIZE); - - $avatar_url = ($avatar) ? - $avatar->displayUrl() : - Avatar::defaultImage(AVATAR_MINI_SIZE); - - $this->element('img', array('src' => $avatar_url, - 'width' => AVATAR_MINI_SIZE, - 'height' => AVATAR_MINI_SIZE, - 'class' => 'avatar photo', - 'alt' => ($other->fullname) ? - $other->fullname : - $other->nickname)); - - $this->element('span', 'fn nickname', $other->nickname); - $this->elementEnd('a'); + $this->elementStart('li'); + $this->checkbox('noticerecv', + _('Import my Friends Timeline.'), + ($flink) ? + ($flink->noticesync & FOREIGN_NOTICE_RECV) : + false); $this->elementEnd('li'); + // preserve setting even if bidrection bridge toggled off + + if ($flink && ($flink->noticesync & FOREIGN_NOTICE_RECV)) { + $this->hidden('noticerecv', true, 'noticerecv'); + } } $this->elementEnd('ul'); - $this->elementEnd('div'); + if ($flink) { + $this->submit('save', _('Save')); + } else { + $this->submit('add', _('Add')); + } + + $this->elementEnd('fieldset'); } + + $this->elementEnd('form'); } /** @@ -292,7 +194,6 @@ class TwittersettingsAction extends ConnectSettingsAction function handlePost() { - // CSRF protection $token = $this->trimmed('token'); if (!$token || $token != common_session_token()) { @@ -303,8 +204,6 @@ class TwittersettingsAction extends ConnectSettingsAction if ($this->arg('save')) { $this->savePreferences(); - } else if ($this->arg('add')) { - $this->addTwitterAccount(); } else if ($this->arg('remove')) { $this->removeTwitterAccount(); } else { @@ -312,82 +211,6 @@ class TwittersettingsAction extends ConnectSettingsAction } } - /** - * Associate a Twitter account with the user's account - * - * Validates post input; verifies it against Twitter; and if - * successful stores in the database. - * - * @return void - */ - - function addTwitterAccount() - { - $screen_name = $this->trimmed('twitter_username'); - $password = $this->trimmed('twitter_password'); - $noticesend = $this->boolean('noticesend'); - $noticerecv = $this->boolean('noticerecv'); - $replysync = $this->boolean('replysync'); - $friendsync = $this->boolean('friendsync'); - - if (!Validate::string($screen_name, - array('min_length' => 1, - 'max_length' => 15, - 'format' => VALIDATE_NUM.VALIDATE_ALPHA.'_'))) { - $this->showForm(_('Username must have only numbers, '. - 'upper- and lowercase letters, '. - 'and underscore (_). 15 chars max.')); - return; - } - - if (!$this->verifyCredentials($screen_name, $password)) { - $this->showForm(_('Could not verify your Twitter credentials!')); - return; - } - - $twit_user = twitter_user_info($screen_name, $password); - - if (!$twit_user) { - $this->showForm(sprintf(_('Unable to retrieve account information '. - 'For "%s" from Twitter.'), - $screen_name)); - return; - } - - if (!save_twitter_user($twit_user->id, $screen_name)) { - $this->showForm(_('Unable to save your Twitter settings!')); - return; - } - - $user = common_current_user(); - - $flink = new Foreign_link(); - - $flink->user_id = $user->id; - $flink->foreign_id = $twit_user->id; - $flink->service = TWITTER_SERVICE; - $flink->credentials = $password; - $flink->created = common_sql_now(); - - $flink->set_flags($noticesend, $noticerecv, $replysync, $friendsync); - - $flink_id = $flink->insert(); - - if (!$flink_id) { - common_log_db_error($flink, 'INSERT', __FILE__); - $this->showForm(_('Unable to save your Twitter settings!')); - return; - } - - if ($friendsync) { - save_twitter_friends($user, $twit_user->id, $screen_name, $password); - $flink->last_friendsync = common_sql_now(); - $flink->update(); - } - - $this->showForm(_('Twitter settings saved.'), true); - } - /** * Disassociate an existing Twitter account from this account * @@ -397,20 +220,11 @@ class TwittersettingsAction extends ConnectSettingsAction function removeTwitterAccount() { $user = common_current_user(); - - $flink = Foreign_link::getByUserID($user->id, 1); - - $flink_foreign_id = $this->arg('flink_foreign_id'); - - // Maybe an old tab open...? - if ($flink->foreign_id != $flink_foreign_id) { - $this->showForm(_('That is not your Twitter account.')); - return; - } + $flink = Foreign_link::getByUserID($user->id, TWITTER_SERVICE); $result = $flink->delete(); - if (!$result) { + if (empty($result)) { common_log_db_error($flink, 'DELETE', __FILE__); $this->serverError(_('Couldn\'t remove Twitter user.')); return; @@ -433,32 +247,16 @@ class TwittersettingsAction extends ConnectSettingsAction $replysync = $this->boolean('replysync'); $user = common_current_user(); + $flink = Foreign_link::getByUserID($user->id, TWITTER_SERVICE); - $flink = Foreign_link::getByUserID($user->id, 1); - - if (!$flink) { + if (empty($flink)) { common_log_db_error($flink, 'SELECT', __FILE__); $this->showForm(_('Couldn\'t save Twitter preferences.')); return; } - $twitter_id = $flink->foreign_id; - $password = $flink->credentials; - - $fuser = $flink->getForeignUser(); - - if (!$fuser) { - common_log_db_error($fuser, 'SELECT', __FILE__); - $this->showForm(_('Couldn\'t save Twitter preferences.')); - return; - } - - $screen_name = $fuser->nickname; - $original = clone($flink); - $flink->set_flags($noticesend, $noticerecv, $replysync, $friendsync); - $result = $flink->update($original); if ($result === false) { @@ -467,45 +265,7 @@ class TwittersettingsAction extends ConnectSettingsAction return; } - if ($friendsync) { - save_twitter_friends($user, $flink->foreign_id, $screen_name, $password); - } - $this->showForm(_('Twitter preferences saved.'), true); } - /** - * Verifies a username and password against Twitter's API - * - * @param string $screen_name Twitter user name - * @param string $password Twitter password - * - * @return boolean success flag - */ - - function verifyCredentials($screen_name, $password) - { - $uri = 'http://twitter.com/account/verify_credentials.json'; - - $data = get_twitter_data($uri, $screen_name, $password); - - if (!$data) { - return false; - } - - $user = json_decode($data); - - if (!$user) { - return false; - } - - $twitter_id = $user->id; - - if ($twitter_id) { - return $twitter_id; - } - - return false; - } - } From ee006dbb0eb8e9d59e5d7b0083918521646102a0 Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Tue, 4 Aug 2009 00:46:18 +0000 Subject: [PATCH 015/134] Moved some stuff to a base class --- actions/twitterauthorization.php | 2 +- lib/oauthclient.php | 111 +++++++++++++++++++++++++++++++ lib/twitteroauthclient.php | 98 ++------------------------- 3 files changed, 118 insertions(+), 93 deletions(-) create mode 100644 lib/oauthclient.php diff --git a/actions/twitterauthorization.php b/actions/twitterauthorization.php index 519427dacd..2390034cde 100644 --- a/actions/twitterauthorization.php +++ b/actions/twitterauthorization.php @@ -80,7 +80,7 @@ class TwitterauthorizationAction extends Action $_SESSION['twitter_request_token_secret'] = $req_tok->key; $auth_link = $client->getAuthorizeLink($req_tok); - + } catch (TwitterOAuthClientException $e) { $msg = sprintf('OAuth client cURL error - code: %1s, msg: %2s', $e->getCode(), $e->getMessage()); diff --git a/lib/oauthclient.php b/lib/oauthclient.php new file mode 100644 index 0000000000..11de991c81 --- /dev/null +++ b/lib/oauthclient.php @@ -0,0 +1,111 @@ +sha1_method = new OAuthSignatureMethod_HMAC_SHA1(); + $this->consumer = new OAuthConsumer($consumer_key, $consumer_secret); + $this->token = null; + + if (isset($oauth_token) && isset($oauth_token_secret)) { + $this->token = new OAuthToken($oauth_token, $oauth_token_secret); + } + } + + function getRequestToken() + { + $response = $this->oAuthGet(TwitterOAuthClient::$requestTokenURL); + parse_str($response); + $token = new OAuthToken($oauth_token, $oauth_token_secret); + return $token; + } + + function getAuthorizeLink($request_token, $oauth_callback = null) + { + $url = TwitterOAuthClient::$authorizeURL . '?oauth_token=' . + $request_token->key; + + if (isset($oauth_callback)) { + $url .= '&oauth_callback=' . urlencode($oauth_callback); + } + + return $url; + } + + function getAccessToken() + { + $response = $this->oAuthPost(TwitterOAuthClient::$accessTokenURL); + parse_str($response); + $token = new OAuthToken($oauth_token, $oauth_token_secret); + return $token; + } + + function oAuthGet($url) + { + $request = OAuthRequest::from_consumer_and_token($this->consumer, + $this->token, 'GET', $url, null); + $request->sign_request($this->sha1_method, + $this->consumer, $this->token); + + return $this->httpRequest($request->to_url()); + } + + function oAuthPost($url, $params = null) + { + $request = OAuthRequest::from_consumer_and_token($this->consumer, + $this->token, 'POST', $url, $params); + $request->sign_request($this->sha1_method, + $this->consumer, $this->token); + + return $this->httpRequest($request->get_normalized_http_url(), + $request->to_postdata()); + } + + function httpRequest($url, $params = null) + { + $options = array( + CURLOPT_RETURNTRANSFER => true, + CURLOPT_FAILONERROR => true, + CURLOPT_HEADER => false, + CURLOPT_FOLLOWLOCATION => true, + CURLOPT_USERAGENT => 'Laconica', + 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; + } + + $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 OAuthClientCurlException($msg, $code); + } + + curl_close($ch); + + return $response; + } + +} diff --git a/lib/twitteroauthclient.php b/lib/twitteroauthclient.php index 63ffe1c7ce..e1190f1675 100644 --- a/lib/twitteroauthclient.php +++ b/lib/twitteroauthclient.php @@ -1,10 +1,6 @@ sha1_method = new OAuthSignatureMethod_HMAC_SHA1(); $consumer_key = common_config('twitter', 'consumer_key'); $consumer_secret = common_config('twitter', 'consumer_secret'); - $this->consumer = new OAuthConsumer($consumer_key, $consumer_secret); - $this->token = null; - if (isset($oauth_token) && isset($oauth_token_secret)) { - $this->token = new OAuthToken($oauth_token, $oauth_token_secret); - } + parent::__construct($consumer_key, $consumer_secret, + $oauth_token, $oauth_token_secret); } - function getRequestToken() - { - $response = $this->oAuthGet(TwitterOAuthClient::$requestTokenURL); - parse_str($response); - $token = new OAuthToken($oauth_token, $oauth_token_secret); - return $token; - } + function getAuthorizeLink($request_token) { + return parent::getAuthorizeLink($request_token, + common_local_url('twitterauthorization')); - function getAuthorizeLink($request_token) - { - // Not sure Twitter actually looks at oauth_callback - - return TwitterOAuthClient::$authorizeURL . - '?oauth_token=' . $request_token->key . '&oauth_callback=' . - urlencode(common_local_url('twitterauthorization')); - } - - function getAccessToken() - { - $response = $this->oAuthPost(TwitterOAuthClient::$accessTokenURL); - parse_str($response); - $token = new OAuthToken($oauth_token, $oauth_token_secret); - return $token; } function verify_credentials() @@ -66,63 +39,4 @@ class TwitterOAuthClient return $status; } - function oAuthGet($url) - { - $request = OAuthRequest::from_consumer_and_token($this->consumer, - $this->token, 'GET', $url, null); - $request->sign_request($this->sha1_method, - $this->consumer, $this->token); - - return $this->httpRequest($request->to_url()); - } - - function oAuthPost($url, $params = null) - { - $request = OAuthRequest::from_consumer_and_token($this->consumer, - $this->token, 'POST', $url, $params); - $request->sign_request($this->sha1_method, - $this->consumer, $this->token); - - return $this->httpRequest($request->get_normalized_http_url(), - $request->to_postdata()); - } - - function httpRequest($url, $params = null) - { - $options = array( - CURLOPT_RETURNTRANSFER => true, - CURLOPT_FAILONERROR => true, - CURLOPT_HEADER => false, - CURLOPT_FOLLOWLOCATION => true, - CURLOPT_USERAGENT => 'Laconica', - 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; - } - - $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 OAuthClientCurlException($msg, $code); - } - - curl_close($ch); - - return $response; - } - } From fd9d653eb3794c491ff162e165b51ad36762d55d Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Tue, 4 Aug 2009 02:21:18 +0000 Subject: [PATCH 016/134] Make TwitterStatusFetcher daemon work with OAuth --- lib/twitteroauthclient.php | 19 +++++++++++++++++++ scripts/twitterstatusfetcher.php | 32 +++++++++++++++----------------- 2 files changed, 34 insertions(+), 17 deletions(-) diff --git a/lib/twitteroauthclient.php b/lib/twitteroauthclient.php index e1190f1675..aabda8d6ad 100644 --- a/lib/twitteroauthclient.php +++ b/lib/twitteroauthclient.php @@ -39,4 +39,23 @@ class TwitterOAuthClient extends OAuthClient return $status; } + function statuses_friends_timeline($since_id = null, $max_id = null, + $cnt = null, $page = null) { + + $url = 'http://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->oAuthGet($url); + $statuses = json_decode($response); + return $statuses; + } + } diff --git a/scripts/twitterstatusfetcher.php b/scripts/twitterstatusfetcher.php index e1745cfc08..d9f035fa61 100755 --- a/scripts/twitterstatusfetcher.php +++ b/scripts/twitterstatusfetcher.php @@ -191,7 +191,7 @@ class TwitterStatusFetcher extends Daemon { $flink = new Foreign_link(); - $flink->service = 1; // Twitter + $flink->service = TWITTER_SERVICE; $flink->orderBy('last_noticesync'); @@ -241,35 +241,33 @@ class TwitterStatusFetcher extends Daemon function getTimeline($flink) { - if (empty($flink)) { + if (empty($flink)) { common_log(LOG_WARNING, "Can't retrieve Foreign_link for foreign ID $fid"); return; } - $fuser = $flink->getForeignUser(); - - if (empty($fuser)) { - common_log(LOG_WARNING, "Unmatched user for ID " . - $flink->user_id); - return; - } - if (defined('SCRIPT_DEBUG')) { common_debug('Trying to get timeline for Twitter user ' . - "$fuser->nickname ($flink->foreign_id)."); + $flink->foreign_id); } // XXX: Biggest remaining issue - How do we know at which status // to start importing? How many statuses? Right now I'm going // with the default last 20. - $url = 'http://twitter.com/statuses/friends_timeline.json'; + $client = new TwitterOAuthClient($flink->token, $flink->credentials); - $timeline_json = get_twitter_data($url, $fuser->nickname, - $flink->credentials); + $timeline = null; - $timeline = json_decode($timeline_json); + try { + $timeline = $client->statuses_friends_timeline(); + } catch (OAuthClientCurlException $e) { + common_log(LOG_WARNING, + 'OAuth client unable to get friends timeline for user ' . + $flink->user_id . ' - code: ' . + $e->getCode() . 'msg: ' . $e->getMessage()); + } if (empty($timeline)) { common_log(LOG_WARNING, "Empty timeline."); @@ -303,7 +301,7 @@ class TwitterStatusFetcher extends Daemon $id = $this->ensureProfile($status->user); $profile = Profile::staticGet($id); - if (!$profile) { + if (empty($profile)) { common_log(LOG_ERR, 'Problem saving notice. No associated Profile.'); return null; @@ -318,7 +316,7 @@ class TwitterStatusFetcher extends Daemon // check to see if we've already imported the status - if (!$notice) { + if (empty($notice)) { $notice = new Notice(); From aa4066bac6415f900d7179816eb269e9f50a1103 Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Tue, 4 Aug 2009 17:19:05 +0000 Subject: [PATCH 017/134] Use ssl for fetching frinds_timeline from Twitter since it requires auth and is a protected resource --- lib/twitteroauthclient.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/twitteroauthclient.php b/lib/twitteroauthclient.php index aabda8d6ad..c5f114fb02 100644 --- a/lib/twitteroauthclient.php +++ b/lib/twitteroauthclient.php @@ -42,7 +42,7 @@ class TwitterOAuthClient extends OAuthClient function statuses_friends_timeline($since_id = null, $max_id = null, $cnt = null, $page = null) { - $url = 'http://twitter.com/statuses/friends_timeline.json'; + $url = 'https://twitter.com/statuses/friends_timeline.json'; $params = array('since_id' => $since_id, 'max_id' => $max_id, 'count' => $cnt, From 27aeba01dd366f15f7847267b7518fb873987ddb Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 24 Aug 2009 11:55:46 -0400 Subject: [PATCH 018/134] Better (hopefully) database connection management for child processes Conflicts: scripts/twitterstatusfetcher.php --- scripts/twitterstatusfetcher.php | 33 ++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/scripts/twitterstatusfetcher.php b/scripts/twitterstatusfetcher.php index d9f035fa61..10aef9ca3e 100755 --- a/scripts/twitterstatusfetcher.php +++ b/scripts/twitterstatusfetcher.php @@ -99,13 +99,6 @@ class TwitterStatusFetcher extends Daemon foreach ($flinks as $f) { - // We have to disconnect from the DB before forking so - // each sub-process will open its own connection and - // avoid stomping on the others - - $conn = &$f->getDatabaseConnection(); - $conn->disconnect(); - $pid = pcntl_fork(); if ($pid == -1) { @@ -125,7 +118,24 @@ class TwitterStatusFetcher extends Daemon } else { // Child + + // Each child ps needs its own DB connection + + // Note: DataObject::getDatabaseConnection() creates + // a new connection if there isn't one already + + global $_DB_DATAOBJECT; + $conn = &$f->getDatabaseConnection(); + $this->getTimeline($f); + + $conn->disconnect(); + + // XXX: Couldn't find a less brutal way to blow + // away a cached connection + + unset($_DB_DATAOBJECT['CONNECTIONS']); + exit(); } @@ -189,7 +199,10 @@ class TwitterStatusFetcher extends Daemon function refreshFlinks() { + global $_DB_DATAOBJECT; + $flink = new Foreign_link(); + $conn = &$flink->getDatabaseConnection(); $flink->service = TWITTER_SERVICE; @@ -215,6 +228,9 @@ class TwitterStatusFetcher extends Daemon $flink->free(); unset($flink); + $conn->disconnect(); + unset($_DB_DATAOBJECT['CONNECTIONS']); + return $flinks; } @@ -299,6 +315,7 @@ class TwitterStatusFetcher extends Daemon function saveStatus($status, $flink) { $id = $this->ensureProfile($status->user); + $profile = Profile::staticGet($id); if (empty($profile)) { @@ -356,7 +373,7 @@ class TwitterStatusFetcher extends Daemon $profileurl = 'http://twitter.com/' . $user->screen_name; $profile = Profile::staticGet('profileurl', $profileurl); - if ($profile) { + if (!empty($profile)) { if (defined('SCRIPT_DEBUG')) { common_debug("Profile for $profile->nickname found."); } From f3cdc7f272e409d391979d3e6c58dd63573530c0 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 24 Aug 2009 15:46:12 -0400 Subject: [PATCH 019/134] Add unit test directory and first test --- tests/URLDetectionTest.php | 189 +++++++++++++++++++++++++++++++++++++ 1 file changed, 189 insertions(+) create mode 100644 tests/URLDetectionTest.php diff --git a/tests/URLDetectionTest.php b/tests/URLDetectionTest.php new file mode 100644 index 0000000000..f35b03eaf2 --- /dev/null +++ b/tests/URLDetectionTest.php @@ -0,0 +1,189 @@ +assertEquals($expected, $rendered); + } + + static public function provider() + { + return array( + array('example', + 'example'), + array('http://example', + 'http://example'), + 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://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://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)'), + 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).)?'), + 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') + ); + } +} + From 6bae2ad03a538c8c301b173b0dd6845aa181f3c5 Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Tue, 25 Aug 2009 09:14:43 +1200 Subject: [PATCH 020/134] fix up tpl/index.php so doesn't throw errors on hosts with php shorttags on --- tpl/index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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'); ?> From 008a4898c8f3b2624bde54517a54ac64c4ad354d Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Mon, 24 Aug 2009 20:03:22 +1200 Subject: [PATCH 021/134] moved template folder into it's own method, so can be overridden --- plugins/TemplatePlugin.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/plugins/TemplatePlugin.php b/plugins/TemplatePlugin.php index 03daf6219c..6c14f19881 100644 --- a/plugins/TemplatePlugin.php +++ b/plugins/TemplatePlugin.php @@ -198,13 +198,13 @@ class TemplatePlugin extends Plugin { // unless laconica 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 ) { @@ -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 From eceffc4c01acd8e07cdb3b0a8591a7e65e5317be Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Tue, 25 Aug 2009 09:23:09 +1200 Subject: [PATCH 022/134] ignore the local folder --- .gitignore | 1 + 1 file changed, 1 insertion(+) 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 From ce442c049b8286451dcd9fb7efc9eea71f4de737 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 24 Aug 2009 17:44:19 -0400 Subject: [PATCH 023/134] remove some merge cruft from the end of twitter.php --- lib/twitter.php | 61 ------------------------------------------------- 1 file changed, 61 deletions(-) diff --git a/lib/twitter.php b/lib/twitter.php index 11c1374283..2a8f6d7d88 100644 --- a/lib/twitter.php +++ b/lib/twitter.php @@ -255,64 +255,3 @@ function remove_twitter_link($flink) } } - - $result = mail_twitter_bridge_removed($user); - - if (!$result) { - - $msg = 'Unable to send email to notify ' . - "$user->nickname (user id: $user->id) " . - 'that their Twitter bridge link was ' . - 'removed!'; - - common_log(LOG_WARNING, $msg); - } - } - -} - - $result = mail_twitter_bridge_removed($user); - - if (!$result) { - - $msg = 'Unable to send email to notify ' . - "$user->nickname (user id: $user->id) " . - 'that their Twitter bridge link was ' . - 'removed!'; - - common_log(LOG_WARNING, $msg); - } - } - -} - - $result = mail_twitter_bridge_removed($user); - - if (!$result) { - - $msg = 'Unable to send email to notify ' . - "$user->nickname (user id: $user->id) " . - 'that their Twitter bridge link was ' . - 'removed!'; - - common_log(LOG_WARNING, $msg); - } - } - -} - - $result = mail_twitter_bridge_removed($user); - - if (!$result) { - - $msg = 'Unable to send email to notify ' . - "$user->nickname (user id: $user->id) " . - 'that their Twitter bridge link was ' . - 'removed!'; - - common_log(LOG_WARNING, $msg); - } - } - -} - From add42759c9ae1e8d765fa2098bd12ff8ba4d4eea Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 24 Aug 2009 17:48:24 -0400 Subject: [PATCH 024/134] change class to rel in unit tests for URL check --- tests/URLDetectionTest.php | 144 ++++++++++++++++++------------------- 1 file changed, 72 insertions(+), 72 deletions(-) diff --git a/tests/URLDetectionTest.php b/tests/URLDetectionTest.php index f35b03eaf2..ed29dc88ea 100644 --- a/tests/URLDetectionTest.php +++ b/tests/URLDetectionTest.php @@ -34,149 +34,149 @@ class URLDetectionTest extends PHPUnit_Framework_TestCase array('http://example/path', 'http://example/path'), array('http://example.com', - 'http://example.com'), + 'http://example.com'), array('https://example.com', - 'https://example.com'), + 'https://example.com'), array('ftp://example.com', - 'ftp://example.com'), + 'ftp://example.com'), array('ftps://example.com', - 'ftps://example.com'), + 'ftps://example.com'), array('http://user@example.com', - 'http://user@example.com'), + 'http://user@example.com'), array('http://user:pass@example.com', - 'http://user:pass@example.com'), + 'http://user:pass@example.com'), array('http://example.com:8080', - 'http://example.com:8080'), + 'http://example.com:8080'), array('http://www.example.com', - 'http://www.example.com'), + 'http://www.example.com'), array('http://example.com/', - 'http://example.com/'), + 'http://example.com/'), array('http://example.com/path', - 'http://example.com/path'), + 'http://example.com/path'), array('http://example.com/path.html', - 'http://example.com/path.html'), + 'http://example.com/path.html'), array('http://example.com/path.html#fragment', - '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'), + 'http://example.com/path.php?foo=bar&bar=foo'), array('http://müllärör.de', - 'http://müllärör.de'), + 'http://müllärör.de'), array('http://ﺱﺲﺷ.com', - 'http://ﺱﺲﺷ.com'), + 'http://ﺱﺲﺷ.com'), array('http://сделаткартинки.com', - 'http://сделаткартинки.com'), + 'http://сделаткартинки.com'), array('http://tūdaliņ.lv', - 'http://tūdaliņ.lv'), + 'http://tūdaliņ.lv'), array('http://brændendekærlighed.com', - 'http://brændendekærlighed.com'), + 'http://brændendekærlighed.com'), array('http://あーるいん.com', - 'http://あーるいん.com'), + 'http://あーるいん.com'), array('http://예비교사.com', - 'http://예비교사.com'), + 'http://예비교사.com'), array('http://example.com.', - 'http://example.com.'), + 'http://example.com.'), array('http://example.com?', - 'http://example.com?'), + 'http://example.com?'), array('http://example.com!', - 'http://example.com!'), + 'http://example.com!'), array('http://example.com,', - 'http://example.com,'), + 'http://example.com,'), array('http://example.com;', - 'http://example.com;'), + 'http://example.com;'), array('http://example.com:', - 'http://example.com:'), + 'http://example.com:'), array('\'http://example.com\'', - '\'http://example.com\''), + '\'http://example.com\''), array('"http://example.com"', - '"http://example.com"'), + '"http://example.com"'), array('http://example.com ', - 'http://example.com'), + 'http://example.com'), array('(http://example.com)', - '(http://example.com)'), + '(http://example.com)'), array('[http://example.com]', - '[http://example.com]'), + '[http://example.com]'), array('', - '<http://example.com>'), + '<http://example.com>'), array('http://example.com/path/(foo)/bar', - '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'), + 'http://example.com/path/[foo]/bar'), array('http://example.com/path/foo/(bar)', - '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]'), + '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?'), + '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))?'), + '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)?'), + '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).)?'), + '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)?'), + '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)?'), + '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)?'), + '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)?'), + '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))))?'), + 'Unbalanced too (e.g. http://example.com/path/foo/(bar))))?'), array('example.com', - 'example.com'), + 'example.com'), array('example.org', - 'example.org'), + 'example.org'), array('example.co.uk', - 'example.co.uk'), + 'example.co.uk'), array('www.example.co.uk', - 'www.example.co.uk'), + 'www.example.co.uk'), array('farm1.images.example.co.uk', - 'farm1.images.example.co.uk'), + 'farm1.images.example.co.uk'), array('example.museum', - 'example.museum'), + 'example.museum'), array('example.travel', - 'example.travel'), + 'example.travel'), array('example.com.', - 'example.com.'), + 'example.com.'), array('example.com?', - 'example.com?'), + 'example.com?'), array('example.com!', - 'example.com!'), + 'example.com!'), array('example.com,', - 'example.com,'), + 'example.com,'), array('example.com;', - 'example.com;'), + 'example.com;'), array('example.com:', - 'example.com:'), + 'example.com:'), array('\'example.com\'', - '\'example.com\''), + '\'example.com\''), array('"example.com"', - '"example.com"'), + '"example.com"'), array('example.com ', - 'example.com'), + 'example.com'), array('(example.com)', - '(example.com)'), + '(example.com)'), array('[example.com]', - '[example.com]'), + '[example.com]'), array('', - '<example.com>'), + '<example.com>'), array('Hey, check out my cool site example.com okay?', - '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.'), + '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...'), + '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.'), + '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))?'), + '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)?'), + '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).)?'), + '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)?'), + 'What about parens (e.g. example.com/path/(foo,bar)?'), array('file.ext', 'file.ext'), array('file.html', From 9fd3a41576bd5365f9156b47490eecddfb2aa842 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Mon, 24 Aug 2009 20:44:06 -0400 Subject: [PATCH 025/134] ftps protocol should be handled the same way as ftp Canon urls that have a protocol followed by a host (and no path) automatcally get a trailing slash by the canon function - make the unit test match that --- classes/File_redirection.php | 2 +- tests/URLDetectionTest.php | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/classes/File_redirection.php b/classes/File_redirection.php index d6fa0bcb62..363e3b947c 100644 --- a/classes/File_redirection.php +++ b/classes/File_redirection.php @@ -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/tests/URLDetectionTest.php b/tests/URLDetectionTest.php index ed29dc88ea..e69f1a2c38 100644 --- a/tests/URLDetectionTest.php +++ b/tests/URLDetectionTest.php @@ -28,27 +28,27 @@ class URLDetectionTest extends PHPUnit_Framework_TestCase array('example', 'example'), array('http://example', - 'http://example'), + 'http://example'), array('http://example/', - 'http://example/'), + 'http://example/'), array('http://example/path', - 'http://example/path'), + 'http://example/path'), array('http://example.com', - 'http://example.com'), + 'http://example.com'), array('https://example.com', - 'https://example.com'), + 'https://example.com'), array('ftp://example.com', - 'ftp://example.com'), + 'ftp://example.com'), array('ftps://example.com', - 'ftps://example.com'), + 'ftps://example.com'), array('http://user@example.com', - 'http://user@example.com'), + 'http://user@example.com'), array('http://user:pass@example.com', - 'http://user:pass@example.com'), + 'http://user:pass@example.com'), array('http://example.com:8080', - 'http://example.com:8080'), + 'http://example.com:8080'), array('http://www.example.com', - 'http://www.example.com'), + 'http://www.example.com'), array('http://example.com/', 'http://example.com/'), array('http://example.com/path', @@ -58,7 +58,7 @@ class URLDetectionTest extends PHPUnit_Framework_TestCase 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'), + 'http://example.com/path.php?foo=bar&bar=foo'), array('http://müllärör.de', 'http://müllärör.de'), array('http://ﺱﺲﺷ.com', From 3ff67b3bc185be255d0b54f7f9af7c9578b4330b Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Tue, 25 Aug 2009 10:33:16 +1200 Subject: [PATCH 026/134] beginning of hashtag tests --- tests/HashTagDetectionTest.php | 35 ++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 tests/HashTagDetectionTest.php diff --git a/tests/HashTagDetectionTest.php b/tests/HashTagDetectionTest.php new file mode 100644 index 0000000000..71137b0b54 --- /dev/null +++ b/tests/HashTagDetectionTest.php @@ -0,0 +1,35 @@ +assertEquals($expected, $rendered); + } + + static public function provider() + { + return array( + array('hello', + 'hello'), + array('#hello', + 'hello'), + ); + } +} + From 6a3a25b5a2b65e54841cc60c4f2254f6d7b6b54b Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Tue, 25 Aug 2009 11:21:45 -0400 Subject: [PATCH 027/134] Improved the URL tests, and improve the matcher so more tests are passed. The remaining failing tests I believe are incorrect. --- lib/util.php | 24 +++--- tests/URLDetectionTest.php | 157 ++++++++++++++++++++++++------------- 2 files changed, 117 insertions(+), 64 deletions(-) diff --git a/lib/util.php b/lib/util.php index 2be4213e79..ee3fe5ddcf 100644 --- a/lib/util.php +++ b/lib/util.php @@ -412,30 +412,34 @@ function common_render_text($text) function common_replace_urls_callback($text, $callback, $notice_id = null) { // Start off with a regex $regex = '#'. - '(?:^|[\s\(\)\[\]\{\}]+)'. - '('. + '(?:^|[\s\(\)\[\]\{\}\\\'\\\";]+)(?![\@\!\#])'. + '('. '(?:'. '(?:'. //Known protocols '(?:'. '(?:https?|ftps?|mms|rtsp|gopher|news|nntp|telnet|wais|file|prospero|webcal|irc)://'. '|'. '(?:mailto|aim|tel|xmpp):'. - ')[^\s\/]+'. + ')'. + '(?:[\pN\pL\-\_\+]+(?:\:[\pN\pL\-\_\+]+)?\@)?'. //user:pass@ + '[\pN\pL\-\_\:\.]+(?127.0.0.1'), + array('127.0.0.1/test.php', + '127.0.0.1/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', + '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', @@ -47,6 +87,10 @@ class URLDetectionTest extends PHPUnit_Framework_TestCase '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/', @@ -59,60 +103,65 @@ class URLDetectionTest extends PHPUnit_Framework_TestCase '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://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.'), + '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?'), + 'http://example.com?'), array('http://example.com!', - 'http://example.com!'), + 'http://example.com!'), array('http://example.com,', - 'http://example.com,'), + 'http://example.com,'), array('http://example.com;', - 'http://example.com;'), + 'http://example.com;'), array('http://example.com:', - 'http://example.com:'), + 'http://example.com:'), array('\'http://example.com\'', - '\'http://example.com\''), + '\'http://example.com\''), array('"http://example.com"', - '"http://example.com"'), - array('http://example.com ', - 'http://example.com'), + '"http://example.com"'), + array('http://example.com', + 'http://example.com'), array('(http://example.com)', - '(http://example.com)'), + '(http://example.com)'), array('[http://example.com]', - '[http://example.com]'), + '[http://example.com]'), array('', - '<http://example.com>'), + '<http://example.com>'), 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('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?'), + '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)?', @@ -124,51 +173,51 @@ class URLDetectionTest extends PHPUnit_Framework_TestCase 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'), + 'example.com'), array('example.org', - 'example.org'), + 'example.org'), array('example.co.uk', - 'example.co.uk'), + 'example.co.uk'), array('www.example.co.uk', - 'www.example.co.uk'), + 'www.example.co.uk'), array('farm1.images.example.co.uk', - 'farm1.images.example.co.uk'), + 'farm1.images.example.co.uk'), array('example.museum', - 'example.museum'), + 'example.museum'), array('example.travel', - 'example.travel'), + 'example.travel'), array('example.com.', - 'example.com.'), + 'example.com.'), array('example.com?', - 'example.com?'), + 'example.com?'), array('example.com!', - 'example.com!'), + 'example.com!'), array('example.com,', - 'example.com,'), + 'example.com,'), array('example.com;', - 'example.com;'), + 'example.com;'), array('example.com:', - 'example.com:'), + 'example.com:'), array('\'example.com\'', - '\'example.com\''), + '\'example.com\''), array('"example.com"', - '"example.com"'), - array('example.com ', - 'example.com'), + '"example.com"'), + array('example.com', + 'example.com'), array('(example.com)', - '(example.com)'), + '(example.com)'), array('[example.com]', - '[example.com]'), + '[example.com]'), array('', - '<example.com>'), + '<example.com>'), array('Hey, check out my cool site example.com okay?', - '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.'), + '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...'), + '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.'), + '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)?', From 210bc4248b5e0c8bd577ac51c2f8df9ac05166ae Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Tue, 25 Aug 2009 14:12:31 -0400 Subject: [PATCH 028/134] All tests pass except for those that require matching parens or brackets --- lib/util.php | 40 ++++++++++++++++++++++++-------------- tests/URLDetectionTest.php | 13 ++++++++++--- 2 files changed, 35 insertions(+), 18 deletions(-) diff --git a/lib/util.php b/lib/util.php index ee3fe5ddcf..36d1e4c0ad 100644 --- a/lib/util.php +++ b/lib/util.php @@ -413,45 +413,55 @@ function common_replace_urls_callback($text, $callback, $notice_id = null) { // Start off with a regex $regex = '#'. '(?:^|[\s\(\)\[\]\{\}\\\'\\\";]+)(?![\@\!\#])'. - '('. + '(?P'. '(?:'. '(?:'. //Known protocols '(?:'. - '(?:https?|ftps?|mms|rtsp|gopher|news|nntp|telnet|wais|file|prospero|webcal|irc)://'. + '(?:(?:https?|ftps?|mms|rtsp|gopher|news|nntp|telnet|wais|file|prospero|webcal|irc)://)'. '|'. - '(?:mailto|aim|tel|xmpp):'. + '(?:(?:mailto|aim|tel|xmpp):)'. + ')'. + '(?:[\pN\pL\-\_\+]+(?::[\pN\pL\-\_\+]+)?\@)?'. //user:pass@ + '(?:'. + '(?:'. + '\[[\pN\pL\-\_\:\.]+(?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/test.php', '127.0.0.1/test.php'), + 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', @@ -145,14 +153,13 @@ class URLDetectionTest extends PHPUnit_Framework_TestCase '<http://example.com>'), 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('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('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))?', From ff836eb38adbff2ca01e076ac66e6fc3d5833506 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Tue, 25 Aug 2009 14:19:05 -0400 Subject: [PATCH 029/134] Add UTF-8 encodings of the IDN TLDs --- lib/util.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/util.php b/lib/util.php index 36d1e4c0ad..d4e2841cd1 100644 --- a/lib/util.php +++ b/lib/util.php @@ -437,7 +437,7 @@ function common_replace_urls_callback($text, $callback, $notice_id = null) { '(?:[\pN\pL\-\_\+]+(?:\:[\pN\pL\-\_\+]+)?\@)?'. //user:pass@ '[\pN\pL\-\_]+(?:\.[\pN\pL\-\_]+)*\.'. //tld list from http://data.iana.org/TLD/tlds-alpha-by-domain.txt, also added local, loc, and onion - '(?:AC|AD|AE|AERO|AF|AG|AI|AL|AM|AN|AO|AQ|AR|ARPA|AS|ASIA|AT|AU|AW|AX|AZ|BA|BB|BD|BE|BF|BG|BH|BI|BIZ|BJ|BM|BN|BO|BR|BS|BT|BV|BW|BY|BZ|CA|CAT|CC|CD|CF|CG|CH|CI|CK|CL|CM|CN|CO|COM|COOP|CR|CU|CV|CX|CY|CZ|DE|DJ|DK|DM|DO|DZ|EC|EDU|EE|EG|ER|ES|ET|EU|FI|FJ|FK|FM|FO|FR|GA|GB|GD|GE|GF|GG|GH|GI|GL|GM|GN|GOV|GP|GQ|GR|GS|GT|GU|GW|GY|HK|HM|HN|HR|HT|HU|ID|IE|IL|IM|IN|INFO|INT|IO|IQ|IR|IS|IT|JE|JM|JO|JOBS|JP|KE|KG|KH|KI|KM|KN|KP|KR|KW|KY|KZ|LA|LB|LC|LI|LK|LR|LS|LT|LU|LV|LY|MA|MC|MD|ME|MG|MH|MIL|MK|ML|MM|MN|MO|MOBI|MP|MQ|MR|MS|MT|MU|MUSEUM|MV|MW|MX|MY|MZ|NA|NAME|NC|NE|NET|NF|NG|NI|NL|NO|NP|NR|NU|NZ|OM|ORG|PA|PE|PF|PG|PH|PK|PL|PM|PN|PR|PRO|PS|PT|PW|PY|QA|RE|RO|RS|RU|RW|SA|SB|SC|SD|SE|SG|SH|SI|SJ|SK|SL|SM|SN|SO|SR|ST|SU|SV|SY|SZ|TC|TD|TEL|TF|TG|TH|TJ|TK|TL|TM|TN|TO|TP|TR|TRAVEL|TT|TV|TW|TZ|UA|UG|UK|US|UY|UZ|VA|VC|VE|VG|VI|VN|VU|WF|WS|XN--0ZWM56D|XN--11B5BS3A9AJ6G|XN--80AKHBYKNJ4F|XN--9T4B11YI5A|XN--DEBA0AD|XN--G6W251D|XN--HGBK6AJ7F53BBA|XN--HLCJ6AYA9ESC7A|XN--JXALPDLP|XN--KGBECHTV|XN--ZCKZAH|YE|YT|YU|ZA|ZM|ZW|local|loc|onion)'. + '(?:AC|AD|AE|AERO|AF|AG|AI|AL|AM|AN|AO|AQ|AR|ARPA|AS|ASIA|AT|AU|AW|AX|AZ|BA|BB|BD|BE|BF|BG|BH|BI|BIZ|BJ|BM|BN|BO|BR|BS|BT|BV|BW|BY|BZ|CA|CAT|CC|CD|CF|CG|CH|CI|CK|CL|CM|CN|CO|COM|COOP|CR|CU|CV|CX|CY|CZ|DE|DJ|DK|DM|DO|DZ|EC|EDU|EE|EG|ER|ES|ET|EU|FI|FJ|FK|FM|FO|FR|GA|GB|GD|GE|GF|GG|GH|GI|GL|GM|GN|GOV|GP|GQ|GR|GS|GT|GU|GW|GY|HK|HM|HN|HR|HT|HU|ID|IE|IL|IM|IN|INFO|INT|IO|IQ|IR|IS|IT|JE|JM|JO|JOBS|JP|KE|KG|KH|KI|KM|KN|KP|KR|KW|KY|KZ|LA|LB|LC|LI|LK|LR|LS|LT|LU|LV|LY|MA|MC|MD|ME|MG|MH|MIL|MK|ML|MM|MN|MO|MOBI|MP|MQ|MR|MS|MT|MU|MUSEUM|MV|MW|MX|MY|MZ|NA|NAME|NC|NE|NET|NF|NG|NI|NL|NO|NP|NR|NU|NZ|OM|ORG|PA|PE|PF|PG|PH|PK|PL|PM|PN|PR|PRO|PS|PT|PW|PY|QA|RE|RO|RS|RU|RW|SA|SB|SC|SD|SE|SG|SH|SI|SJ|SK|SL|SM|SN|SO|SR|ST|SU|SV|SY|SZ|TC|TD|TEL|TF|TG|TH|TJ|TK|TL|TM|TN|TO|TP|TR|TRAVEL|TT|TV|TW|TZ|UA|UG|UK|US|UY|UZ|VA|VC|VE|VG|VI|VN|VU|WF|WS|XN--0ZWM56D|测试|XN--11B5BS3A9AJ6G|परीक्षा|XN--80AKHBYKNJ4F|испытание|XN--9T4B11YI5A|테스트|XN--DEBA0AD|טעסט|XN--G6W251D|測試|XN--HGBK6AJ7F53BBA|آزمایشی|XN--HLCJ6AYA9ESC7A|பரிட்சை|XN--JXALPDLP|δοκιμή|XN--KGBECHTV|إختبار|XN--ZCKZAH|テスト|YE|YT|YU|ZA|ZM|ZW|local|loc|onion)'. ')(?![\pN\pL\-\_])'. ')'. '(?:'. From ec83890bc242650b169a524c373f488bb652265c Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Mon, 10 Aug 2009 07:13:00 +0000 Subject: [PATCH 030/134] Take token field out of foreign_link This undoes patch a49272d448d75a6ab74515352345d8baacb96f1f --- classes/Foreign_link.php | 1 - classes/laconica.ini | 1 - db/laconica.sql | 3 +-- 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/classes/Foreign_link.php b/classes/Foreign_link.php index bc3ab006db..ae8c22fd84 100644 --- a/classes/Foreign_link.php +++ b/classes/Foreign_link.php @@ -14,7 +14,6 @@ class Foreign_link extends Memcached_DataObject public $foreign_id; // bigint(8) primary_key not_null unsigned public $service; // int(4) primary_key not_null public $credentials; // varchar(255) - public $token; // varchar(255) public $noticesync; // tinyint(1) not_null default_1 public $friendsync; // tinyint(1) not_null default_2 public $profilesync; // tinyint(1) not_null default_1 diff --git a/classes/laconica.ini b/classes/laconica.ini index 85d5f528d1..766bed75de 100644 --- a/classes/laconica.ini +++ b/classes/laconica.ini @@ -127,7 +127,6 @@ user_id = 129 foreign_id = 129 service = 129 credentials = 2 -token = 2 noticesync = 145 friendsync = 145 profilesync = 145 diff --git a/db/laconica.sql b/db/laconica.sql index 8b1152cbdc..2c04f680a8 100644 --- a/db/laconica.sql +++ b/db/laconica.sql @@ -291,8 +291,7 @@ create table foreign_link ( user_id int comment 'link to user on this system, if exists' references user (id), foreign_id bigint unsigned comment 'link to user on foreign service, if exists' references foreign_user(id), service int not null comment 'foreign key to service' references foreign_service(id), - credentials varchar(255) comment 'auth credentials, typically a password or token secret', - token varchar(255) comment 'access token', + credentials varchar(255) comment 'authc credentials, typically a password', noticesync tinyint not null default 1 comment 'notice synchronization, bit 1 = sync outgoing, bit 2 = sync incoming, bit 3 = filter local replies', friendsync tinyint not null default 2 comment 'friend synchronization, bit 1 = sync outgoing, bit 2 = sync incoming', profilesync tinyint not null default 1 comment 'profile synchronization, bit 1 = sync outgoing, bit 2 = sync incoming', From 8cd474e985fcce754f435b8b8fa84c33a9d623e7 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Tue, 25 Aug 2009 16:06:04 -0400 Subject: [PATCH 031/134] Correct the hash tag test --- tests/HashTagDetectionTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/HashTagDetectionTest.php b/tests/HashTagDetectionTest.php index 71137b0b54..55e1f65bf9 100644 --- a/tests/HashTagDetectionTest.php +++ b/tests/HashTagDetectionTest.php @@ -28,7 +28,7 @@ class HashTagDetectionTest extends PHPUnit_Framework_TestCase array('hello', 'hello'), array('#hello', - 'hello'), + '#'), ); } } From 31329c33aee7f3d4b5c1dd80f32fcd45e7877850 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Tue, 25 Aug 2009 16:41:44 -0400 Subject: [PATCH 032/134] Handle grouping symbols ()[]{} correctly. Now passing all tests! --- lib/util.php | 50 +++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 43 insertions(+), 7 deletions(-) diff --git a/lib/util.php b/lib/util.php index d4e2841cd1..29eb6cbbce 100644 --- a/lib/util.php +++ b/lib/util.php @@ -445,7 +445,7 @@ function common_replace_urls_callback($text, $callback, $notice_id = null) { '(?:/[\pN\pL$\[\]\,\!\(\)\.\-\_\+\/\=\&\;]*)?'. // /path '(?:\?[\pN\pL\$\[\]\,\!\(\)\.\-\_\+\/\=\&\;\/]*)?'. // ?query string '(?:\#[\pN\pL$\[\]\,\!\(\)\.\-\_\+\/\=\&\;\/\?\#]*)?'. // #fragment - ')(?'(', + '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); + + if(empty($notice_id)){ - $result = call_user_func_array($callback,$matches['url']); + $result = call_user_func_array($callback,$url); }else{ - $result = call_user_func_array($callback, array($matches['url'],$notice_id) ); + $result = call_user_func_array($callback, array($url,$notice_id) ); } - return $left . $result . $right; + return substr($matches[0],0,$left) . $result . substr($matches[0],$right); } function curry($fn) { From fc89c345ed9fa7a72ce72e3b467a575580050b4f Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Tue, 25 Aug 2009 21:48:55 +0000 Subject: [PATCH 033/134] userdesign.go.js was incorrectly removed in commit 304db1d30b4ad96f8a2ca500d224bb1609588fed --- lib/designsettings.php | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/designsettings.php b/lib/designsettings.php index a48ec9d227..b86265971c 100644 --- a/lib/designsettings.php +++ b/lib/designsettings.php @@ -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'); } /** From a2117961be463d566c8f3c6ccd9b8e840f171804 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Tue, 25 Aug 2009 17:52:16 -0400 Subject: [PATCH 034/134] Allow ({['" to preceded #tags --- lib/util.php | 2 +- tests/HashTagDetectionTest.php | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/lib/util.php b/lib/util.php index 29eb6cbbce..7c1e219138 100644 --- a/lib/util.php +++ b/lib/util.php @@ -404,7 +404,7 @@ function common_render_text($text) $r = preg_replace('/[\x{0}-\x{8}\x{b}-\x{c}\x{e}-\x{19}]/', '', $r); $r = common_replace_urls_callback($r, 'common_linkify'); - $r = preg_replace('/(^|\(|\[|\s+)#([\pL\pN_\-\.]{1,64})/e', "'\\1#'.common_tag_link('\\2')", $r); + $r = preg_replace('/(^|\"\;|\'|\(|\[|\{|\s+)#([\pL\pN_\-\.]{1,64})/e', "'\\1#'.common_tag_link('\\2')", $r); // XXX: machine tags return $r; } diff --git a/tests/HashTagDetectionTest.php b/tests/HashTagDetectionTest.php index 55e1f65bf9..901e0611cc 100644 --- a/tests/HashTagDetectionTest.php +++ b/tests/HashTagDetectionTest.php @@ -27,8 +27,20 @@ class HashTagDetectionTest extends PHPUnit_Framework_TestCase return array( array('hello', 'hello'), - array('#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'), ); } } From c87e1de0178ed61a8fe1e4cbbc02e19130014d96 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 25 Aug 2009 17:56:10 -0400 Subject: [PATCH 035/134] Rename Laconica to StatusNet --- ...itapilaconica.php => twitapistatusnet.php} | 0 classes/laconica.ini | 500 ----------------- classes/status_network.ini | 18 + classes/statusnet.ini | 512 +++++++++++++++++- ...laconica.links.ini => statusnet.links.ini} | 0 db/{laconica.sql => statusnet.sql} | 0 db/{laconica_pg.sql => statusnet_pg.sql} | 0 .../LC_MESSAGES/{laconica.mo => statusnet.mo} | Bin .../LC_MESSAGES/{laconica.po => statusnet.po} | 0 .../LC_MESSAGES/{laconica.mo => statusnet.mo} | Bin .../LC_MESSAGES/{laconica.po => statusnet.po} | 0 .../LC_MESSAGES/{laconica.mo => statusnet.mo} | Bin .../LC_MESSAGES/{laconica.po => statusnet.po} | 0 .../LC_MESSAGES/{laconica.mo => statusnet.mo} | Bin .../LC_MESSAGES/{laconica.po => statusnet.po} | 0 .../LC_MESSAGES/{laconica.mo => statusnet.mo} | Bin .../LC_MESSAGES/{laconica.po => statusnet.po} | 0 .../LC_MESSAGES/{laconica.mo => statusnet.mo} | Bin .../LC_MESSAGES/{laconica.po => statusnet.po} | 0 .../LC_MESSAGES/{laconica.mo => statusnet.mo} | Bin .../LC_MESSAGES/{laconica.po => statusnet.po} | 0 .../LC_MESSAGES/{laconica.mo => statusnet.mo} | Bin .../LC_MESSAGES/{laconica.po => statusnet.po} | 0 .../LC_MESSAGES/{laconica.mo => statusnet.mo} | Bin .../LC_MESSAGES/{laconica.po => statusnet.po} | 0 .../LC_MESSAGES/{laconica.mo => statusnet.mo} | Bin .../LC_MESSAGES/{laconica.po => statusnet.po} | 0 .../LC_MESSAGES/{laconica.mo => statusnet.mo} | Bin .../LC_MESSAGES/{laconica.po => statusnet.po} | 0 .../LC_MESSAGES/{laconica.mo => statusnet.mo} | Bin .../LC_MESSAGES/{laconica.po => statusnet.po} | 0 .../LC_MESSAGES/{laconica.mo => statusnet.mo} | Bin .../LC_MESSAGES/{laconica.po => statusnet.po} | 0 .../LC_MESSAGES/{laconica.mo => statusnet.mo} | Bin .../LC_MESSAGES/{laconica.po => statusnet.po} | 0 .../LC_MESSAGES/{laconica.mo => statusnet.mo} | Bin .../LC_MESSAGES/{laconica.po => statusnet.po} | 0 .../LC_MESSAGES/{laconica.mo => statusnet.mo} | Bin .../LC_MESSAGES/{laconica.po => statusnet.po} | 0 .../LC_MESSAGES/{laconica.mo => statusnet.mo} | Bin .../LC_MESSAGES/{laconica.po => statusnet.po} | 0 .../LC_MESSAGES/{laconica.mo => statusnet.mo} | Bin .../LC_MESSAGES/{laconica.po => statusnet.po} | 0 .../LC_MESSAGES/{laconica.mo => statusnet.mo} | Bin .../LC_MESSAGES/{laconica.po => statusnet.po} | 0 .../LC_MESSAGES/{laconica.mo => statusnet.mo} | Bin .../LC_MESSAGES/{laconica.po => statusnet.po} | 0 .../LC_MESSAGES/{laconica.mo => statusnet.mo} | Bin .../LC_MESSAGES/{laconica.po => statusnet.po} | 0 locale/{laconica.po => statusnet.po} | 0 .../LC_MESSAGES/{laconica.mo => statusnet.mo} | Bin .../LC_MESSAGES/{laconica.po => statusnet.po} | 0 .../LC_MESSAGES/{laconica.mo => statusnet.mo} | Bin .../LC_MESSAGES/{laconica.po => statusnet.po} | 0 .../LC_MESSAGES/{laconica.mo => statusnet.mo} | Bin .../LC_MESSAGES/{laconica.po => statusnet.po} | 0 .../LC_MESSAGES/{laconica.mo => statusnet.mo} | Bin .../LC_MESSAGES/{laconica.po => statusnet.po} | 0 .../LC_MESSAGES/{laconica.mo => statusnet.mo} | Bin .../LC_MESSAGES/{laconica.po => statusnet.po} | 0 .../LC_MESSAGES/{laconica.mo => statusnet.mo} | Bin .../LC_MESSAGES/{laconica.po => statusnet.po} | 0 .../LC_MESSAGES/{laconica.mo => statusnet.mo} | Bin .../LC_MESSAGES/{laconica.po => statusnet.po} | 0 scripts/{laconica.spec => statusnet.spec} | 0 65 files changed, 515 insertions(+), 515 deletions(-) rename actions/{twitapilaconica.php => twitapistatusnet.php} (100%) delete mode 100644 classes/laconica.ini create mode 100644 classes/status_network.ini rename classes/{laconica.links.ini => statusnet.links.ini} (100%) rename db/{laconica.sql => statusnet.sql} (100%) rename db/{laconica_pg.sql => statusnet_pg.sql} (100%) rename locale/bg_BG/LC_MESSAGES/{laconica.mo => statusnet.mo} (100%) rename locale/bg_BG/LC_MESSAGES/{laconica.po => statusnet.po} (100%) rename locale/ca_ES/LC_MESSAGES/{laconica.mo => statusnet.mo} (100%) rename locale/ca_ES/LC_MESSAGES/{laconica.po => statusnet.po} (100%) rename locale/cs_CZ/LC_MESSAGES/{laconica.mo => statusnet.mo} (100%) rename locale/cs_CZ/LC_MESSAGES/{laconica.po => statusnet.po} (100%) rename locale/de_DE/LC_MESSAGES/{laconica.mo => statusnet.mo} (100%) rename locale/de_DE/LC_MESSAGES/{laconica.po => statusnet.po} (100%) rename locale/el_GR/LC_MESSAGES/{laconica.mo => statusnet.mo} (100%) rename locale/el_GR/LC_MESSAGES/{laconica.po => statusnet.po} (100%) rename locale/en_GB/LC_MESSAGES/{laconica.mo => statusnet.mo} (100%) rename locale/en_GB/LC_MESSAGES/{laconica.po => statusnet.po} (100%) rename locale/es/LC_MESSAGES/{laconica.mo => statusnet.mo} (100%) rename locale/es/LC_MESSAGES/{laconica.po => statusnet.po} (100%) rename locale/fi/LC_MESSAGES/{laconica.mo => statusnet.mo} (100%) rename locale/fi/LC_MESSAGES/{laconica.po => statusnet.po} (100%) rename locale/fr_FR/LC_MESSAGES/{laconica.mo => statusnet.mo} (100%) rename locale/fr_FR/LC_MESSAGES/{laconica.po => statusnet.po} (100%) rename locale/he_IL/LC_MESSAGES/{laconica.mo => statusnet.mo} (100%) rename locale/he_IL/LC_MESSAGES/{laconica.po => statusnet.po} (100%) rename locale/it_IT/LC_MESSAGES/{laconica.mo => statusnet.mo} (100%) rename locale/it_IT/LC_MESSAGES/{laconica.po => statusnet.po} (100%) rename locale/ja_JP/LC_MESSAGES/{laconica.mo => statusnet.mo} (100%) rename locale/ja_JP/LC_MESSAGES/{laconica.po => statusnet.po} (100%) rename locale/ko_KR/LC_MESSAGES/{laconica.mo => statusnet.mo} (100%) rename locale/ko_KR/LC_MESSAGES/{laconica.po => statusnet.po} (100%) rename locale/mk_MK/LC_MESSAGES/{laconica.mo => statusnet.mo} (100%) rename locale/mk_MK/LC_MESSAGES/{laconica.po => statusnet.po} (100%) rename locale/nb_NO/LC_MESSAGES/{laconica.mo => statusnet.mo} (100%) rename locale/nb_NO/LC_MESSAGES/{laconica.po => statusnet.po} (100%) rename locale/nl_NL/LC_MESSAGES/{laconica.mo => statusnet.mo} (100%) rename locale/nl_NL/LC_MESSAGES/{laconica.po => statusnet.po} (100%) rename locale/nn_NO/LC_MESSAGES/{laconica.mo => statusnet.mo} (100%) rename locale/nn_NO/LC_MESSAGES/{laconica.po => statusnet.po} (100%) rename locale/pl_PL/LC_MESSAGES/{laconica.mo => statusnet.mo} (100%) rename locale/pl_PL/LC_MESSAGES/{laconica.po => statusnet.po} (100%) rename locale/pt/LC_MESSAGES/{laconica.mo => statusnet.mo} (100%) rename locale/pt/LC_MESSAGES/{laconica.po => statusnet.po} (100%) rename locale/pt_BR/LC_MESSAGES/{laconica.mo => statusnet.mo} (100%) rename locale/pt_BR/LC_MESSAGES/{laconica.po => statusnet.po} (100%) rename locale/ru_RU/LC_MESSAGES/{laconica.mo => statusnet.mo} (100%) rename locale/ru_RU/LC_MESSAGES/{laconica.po => statusnet.po} (100%) rename locale/{laconica.po => statusnet.po} (100%) rename locale/sv_SE/LC_MESSAGES/{laconica.mo => statusnet.mo} (100%) rename locale/sv_SE/LC_MESSAGES/{laconica.po => statusnet.po} (100%) rename locale/te_IN/LC_MESSAGES/{laconica.mo => statusnet.mo} (100%) rename locale/te_IN/LC_MESSAGES/{laconica.po => statusnet.po} (100%) rename locale/tr_TR/LC_MESSAGES/{laconica.mo => statusnet.mo} (100%) rename locale/tr_TR/LC_MESSAGES/{laconica.po => statusnet.po} (100%) rename locale/uk_UA/LC_MESSAGES/{laconica.mo => statusnet.mo} (100%) rename locale/uk_UA/LC_MESSAGES/{laconica.po => statusnet.po} (100%) rename locale/vi_VN/LC_MESSAGES/{laconica.mo => statusnet.mo} (100%) rename locale/vi_VN/LC_MESSAGES/{laconica.po => statusnet.po} (100%) rename locale/zh_CN/LC_MESSAGES/{laconica.mo => statusnet.mo} (100%) rename locale/zh_CN/LC_MESSAGES/{laconica.po => statusnet.po} (100%) rename locale/zh_TW/LC_MESSAGES/{laconica.mo => statusnet.mo} (100%) rename locale/zh_TW/LC_MESSAGES/{laconica.po => statusnet.po} (100%) rename scripts/{laconica.spec => statusnet.spec} (100%) diff --git a/actions/twitapilaconica.php b/actions/twitapistatusnet.php similarity index 100% rename from actions/twitapilaconica.php rename to actions/twitapistatusnet.php diff --git a/classes/laconica.ini b/classes/laconica.ini deleted file mode 100644 index 766bed75de..0000000000 --- a/classes/laconica.ini +++ /dev/null @@ -1,500 +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 - -[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 - -[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 = 2 -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 = 2 -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 = 2 -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 = 2 -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 index 8123265e46..766bed75de 100644 --- a/classes/statusnet.ini +++ b/classes/statusnet.ini @@ -1,18 +1,500 @@ -[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 + +[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 + +[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 = 2 +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 = 2 +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 = 2 +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 = 2 +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/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/db/laconica.sql b/db/statusnet.sql similarity index 100% rename from db/laconica.sql rename to db/statusnet.sql diff --git a/db/laconica_pg.sql b/db/statusnet_pg.sql similarity index 100% rename from db/laconica_pg.sql rename to db/statusnet_pg.sql diff --git a/locale/bg_BG/LC_MESSAGES/laconica.mo b/locale/bg_BG/LC_MESSAGES/statusnet.mo similarity index 100% rename from locale/bg_BG/LC_MESSAGES/laconica.mo rename to locale/bg_BG/LC_MESSAGES/statusnet.mo diff --git a/locale/bg_BG/LC_MESSAGES/laconica.po b/locale/bg_BG/LC_MESSAGES/statusnet.po similarity index 100% rename from locale/bg_BG/LC_MESSAGES/laconica.po rename to locale/bg_BG/LC_MESSAGES/statusnet.po diff --git a/locale/ca_ES/LC_MESSAGES/laconica.mo b/locale/ca_ES/LC_MESSAGES/statusnet.mo similarity index 100% rename from locale/ca_ES/LC_MESSAGES/laconica.mo rename to locale/ca_ES/LC_MESSAGES/statusnet.mo diff --git a/locale/ca_ES/LC_MESSAGES/laconica.po b/locale/ca_ES/LC_MESSAGES/statusnet.po similarity index 100% rename from locale/ca_ES/LC_MESSAGES/laconica.po rename to locale/ca_ES/LC_MESSAGES/statusnet.po diff --git a/locale/cs_CZ/LC_MESSAGES/laconica.mo b/locale/cs_CZ/LC_MESSAGES/statusnet.mo similarity index 100% rename from locale/cs_CZ/LC_MESSAGES/laconica.mo rename to locale/cs_CZ/LC_MESSAGES/statusnet.mo diff --git a/locale/cs_CZ/LC_MESSAGES/laconica.po b/locale/cs_CZ/LC_MESSAGES/statusnet.po similarity index 100% rename from locale/cs_CZ/LC_MESSAGES/laconica.po rename to locale/cs_CZ/LC_MESSAGES/statusnet.po diff --git a/locale/de_DE/LC_MESSAGES/laconica.mo b/locale/de_DE/LC_MESSAGES/statusnet.mo similarity index 100% rename from locale/de_DE/LC_MESSAGES/laconica.mo rename to locale/de_DE/LC_MESSAGES/statusnet.mo diff --git a/locale/de_DE/LC_MESSAGES/laconica.po b/locale/de_DE/LC_MESSAGES/statusnet.po similarity index 100% rename from locale/de_DE/LC_MESSAGES/laconica.po rename to locale/de_DE/LC_MESSAGES/statusnet.po 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 100% rename from locale/el_GR/LC_MESSAGES/laconica.po rename to locale/el_GR/LC_MESSAGES/statusnet.po diff --git a/locale/en_GB/LC_MESSAGES/laconica.mo b/locale/en_GB/LC_MESSAGES/statusnet.mo similarity index 100% rename from locale/en_GB/LC_MESSAGES/laconica.mo rename to locale/en_GB/LC_MESSAGES/statusnet.mo diff --git a/locale/en_GB/LC_MESSAGES/laconica.po b/locale/en_GB/LC_MESSAGES/statusnet.po similarity index 100% rename from locale/en_GB/LC_MESSAGES/laconica.po rename to locale/en_GB/LC_MESSAGES/statusnet.po diff --git a/locale/es/LC_MESSAGES/laconica.mo b/locale/es/LC_MESSAGES/statusnet.mo similarity index 100% rename from locale/es/LC_MESSAGES/laconica.mo rename to locale/es/LC_MESSAGES/statusnet.mo diff --git a/locale/es/LC_MESSAGES/laconica.po b/locale/es/LC_MESSAGES/statusnet.po similarity index 100% rename from locale/es/LC_MESSAGES/laconica.po rename to locale/es/LC_MESSAGES/statusnet.po diff --git a/locale/fi/LC_MESSAGES/laconica.mo b/locale/fi/LC_MESSAGES/statusnet.mo similarity index 100% rename from locale/fi/LC_MESSAGES/laconica.mo rename to locale/fi/LC_MESSAGES/statusnet.mo diff --git a/locale/fi/LC_MESSAGES/laconica.po b/locale/fi/LC_MESSAGES/statusnet.po similarity index 100% rename from locale/fi/LC_MESSAGES/laconica.po rename to locale/fi/LC_MESSAGES/statusnet.po diff --git a/locale/fr_FR/LC_MESSAGES/laconica.mo b/locale/fr_FR/LC_MESSAGES/statusnet.mo similarity index 100% rename from locale/fr_FR/LC_MESSAGES/laconica.mo rename to locale/fr_FR/LC_MESSAGES/statusnet.mo diff --git a/locale/fr_FR/LC_MESSAGES/laconica.po b/locale/fr_FR/LC_MESSAGES/statusnet.po similarity index 100% rename from locale/fr_FR/LC_MESSAGES/laconica.po rename to locale/fr_FR/LC_MESSAGES/statusnet.po diff --git a/locale/he_IL/LC_MESSAGES/laconica.mo b/locale/he_IL/LC_MESSAGES/statusnet.mo similarity index 100% rename from locale/he_IL/LC_MESSAGES/laconica.mo rename to locale/he_IL/LC_MESSAGES/statusnet.mo diff --git a/locale/he_IL/LC_MESSAGES/laconica.po b/locale/he_IL/LC_MESSAGES/statusnet.po similarity index 100% rename from locale/he_IL/LC_MESSAGES/laconica.po rename to locale/he_IL/LC_MESSAGES/statusnet.po diff --git a/locale/it_IT/LC_MESSAGES/laconica.mo b/locale/it_IT/LC_MESSAGES/statusnet.mo similarity index 100% rename from locale/it_IT/LC_MESSAGES/laconica.mo rename to locale/it_IT/LC_MESSAGES/statusnet.mo diff --git a/locale/it_IT/LC_MESSAGES/laconica.po b/locale/it_IT/LC_MESSAGES/statusnet.po similarity index 100% rename from locale/it_IT/LC_MESSAGES/laconica.po rename to locale/it_IT/LC_MESSAGES/statusnet.po diff --git a/locale/ja_JP/LC_MESSAGES/laconica.mo b/locale/ja_JP/LC_MESSAGES/statusnet.mo similarity index 100% rename from locale/ja_JP/LC_MESSAGES/laconica.mo rename to locale/ja_JP/LC_MESSAGES/statusnet.mo diff --git a/locale/ja_JP/LC_MESSAGES/laconica.po b/locale/ja_JP/LC_MESSAGES/statusnet.po similarity index 100% rename from locale/ja_JP/LC_MESSAGES/laconica.po rename to locale/ja_JP/LC_MESSAGES/statusnet.po diff --git a/locale/ko_KR/LC_MESSAGES/laconica.mo b/locale/ko_KR/LC_MESSAGES/statusnet.mo similarity index 100% rename from locale/ko_KR/LC_MESSAGES/laconica.mo rename to locale/ko_KR/LC_MESSAGES/statusnet.mo diff --git a/locale/ko_KR/LC_MESSAGES/laconica.po b/locale/ko_KR/LC_MESSAGES/statusnet.po similarity index 100% rename from locale/ko_KR/LC_MESSAGES/laconica.po rename to locale/ko_KR/LC_MESSAGES/statusnet.po diff --git a/locale/mk_MK/LC_MESSAGES/laconica.mo b/locale/mk_MK/LC_MESSAGES/statusnet.mo similarity index 100% rename from locale/mk_MK/LC_MESSAGES/laconica.mo rename to locale/mk_MK/LC_MESSAGES/statusnet.mo diff --git a/locale/mk_MK/LC_MESSAGES/laconica.po b/locale/mk_MK/LC_MESSAGES/statusnet.po similarity index 100% rename from locale/mk_MK/LC_MESSAGES/laconica.po rename to locale/mk_MK/LC_MESSAGES/statusnet.po diff --git a/locale/nb_NO/LC_MESSAGES/laconica.mo b/locale/nb_NO/LC_MESSAGES/statusnet.mo similarity index 100% rename from locale/nb_NO/LC_MESSAGES/laconica.mo rename to locale/nb_NO/LC_MESSAGES/statusnet.mo diff --git a/locale/nb_NO/LC_MESSAGES/laconica.po b/locale/nb_NO/LC_MESSAGES/statusnet.po similarity index 100% rename from locale/nb_NO/LC_MESSAGES/laconica.po rename to locale/nb_NO/LC_MESSAGES/statusnet.po diff --git a/locale/nl_NL/LC_MESSAGES/laconica.mo b/locale/nl_NL/LC_MESSAGES/statusnet.mo similarity index 100% rename from locale/nl_NL/LC_MESSAGES/laconica.mo rename to locale/nl_NL/LC_MESSAGES/statusnet.mo diff --git a/locale/nl_NL/LC_MESSAGES/laconica.po b/locale/nl_NL/LC_MESSAGES/statusnet.po similarity index 100% rename from locale/nl_NL/LC_MESSAGES/laconica.po rename to locale/nl_NL/LC_MESSAGES/statusnet.po diff --git a/locale/nn_NO/LC_MESSAGES/laconica.mo b/locale/nn_NO/LC_MESSAGES/statusnet.mo similarity index 100% rename from locale/nn_NO/LC_MESSAGES/laconica.mo rename to locale/nn_NO/LC_MESSAGES/statusnet.mo diff --git a/locale/nn_NO/LC_MESSAGES/laconica.po b/locale/nn_NO/LC_MESSAGES/statusnet.po similarity index 100% rename from locale/nn_NO/LC_MESSAGES/laconica.po rename to locale/nn_NO/LC_MESSAGES/statusnet.po diff --git a/locale/pl_PL/LC_MESSAGES/laconica.mo b/locale/pl_PL/LC_MESSAGES/statusnet.mo similarity index 100% rename from locale/pl_PL/LC_MESSAGES/laconica.mo rename to locale/pl_PL/LC_MESSAGES/statusnet.mo diff --git a/locale/pl_PL/LC_MESSAGES/laconica.po b/locale/pl_PL/LC_MESSAGES/statusnet.po similarity index 100% rename from locale/pl_PL/LC_MESSAGES/laconica.po rename to locale/pl_PL/LC_MESSAGES/statusnet.po diff --git a/locale/pt/LC_MESSAGES/laconica.mo b/locale/pt/LC_MESSAGES/statusnet.mo similarity index 100% rename from locale/pt/LC_MESSAGES/laconica.mo rename to locale/pt/LC_MESSAGES/statusnet.mo diff --git a/locale/pt/LC_MESSAGES/laconica.po b/locale/pt/LC_MESSAGES/statusnet.po similarity index 100% rename from locale/pt/LC_MESSAGES/laconica.po rename to locale/pt/LC_MESSAGES/statusnet.po diff --git a/locale/pt_BR/LC_MESSAGES/laconica.mo b/locale/pt_BR/LC_MESSAGES/statusnet.mo similarity index 100% rename from locale/pt_BR/LC_MESSAGES/laconica.mo rename to locale/pt_BR/LC_MESSAGES/statusnet.mo diff --git a/locale/pt_BR/LC_MESSAGES/laconica.po b/locale/pt_BR/LC_MESSAGES/statusnet.po similarity index 100% rename from locale/pt_BR/LC_MESSAGES/laconica.po rename to locale/pt_BR/LC_MESSAGES/statusnet.po diff --git a/locale/ru_RU/LC_MESSAGES/laconica.mo b/locale/ru_RU/LC_MESSAGES/statusnet.mo similarity index 100% rename from locale/ru_RU/LC_MESSAGES/laconica.mo rename to locale/ru_RU/LC_MESSAGES/statusnet.mo diff --git a/locale/ru_RU/LC_MESSAGES/laconica.po b/locale/ru_RU/LC_MESSAGES/statusnet.po similarity index 100% rename from locale/ru_RU/LC_MESSAGES/laconica.po rename to locale/ru_RU/LC_MESSAGES/statusnet.po diff --git a/locale/laconica.po b/locale/statusnet.po similarity index 100% rename from locale/laconica.po rename to locale/statusnet.po diff --git a/locale/sv_SE/LC_MESSAGES/laconica.mo b/locale/sv_SE/LC_MESSAGES/statusnet.mo similarity index 100% rename from locale/sv_SE/LC_MESSAGES/laconica.mo rename to locale/sv_SE/LC_MESSAGES/statusnet.mo diff --git a/locale/sv_SE/LC_MESSAGES/laconica.po b/locale/sv_SE/LC_MESSAGES/statusnet.po similarity index 100% rename from locale/sv_SE/LC_MESSAGES/laconica.po rename to locale/sv_SE/LC_MESSAGES/statusnet.po diff --git a/locale/te_IN/LC_MESSAGES/laconica.mo b/locale/te_IN/LC_MESSAGES/statusnet.mo similarity index 100% rename from locale/te_IN/LC_MESSAGES/laconica.mo rename to locale/te_IN/LC_MESSAGES/statusnet.mo diff --git a/locale/te_IN/LC_MESSAGES/laconica.po b/locale/te_IN/LC_MESSAGES/statusnet.po similarity index 100% rename from locale/te_IN/LC_MESSAGES/laconica.po rename to locale/te_IN/LC_MESSAGES/statusnet.po diff --git a/locale/tr_TR/LC_MESSAGES/laconica.mo b/locale/tr_TR/LC_MESSAGES/statusnet.mo similarity index 100% rename from locale/tr_TR/LC_MESSAGES/laconica.mo rename to locale/tr_TR/LC_MESSAGES/statusnet.mo diff --git a/locale/tr_TR/LC_MESSAGES/laconica.po b/locale/tr_TR/LC_MESSAGES/statusnet.po similarity index 100% rename from locale/tr_TR/LC_MESSAGES/laconica.po rename to locale/tr_TR/LC_MESSAGES/statusnet.po diff --git a/locale/uk_UA/LC_MESSAGES/laconica.mo b/locale/uk_UA/LC_MESSAGES/statusnet.mo similarity index 100% rename from locale/uk_UA/LC_MESSAGES/laconica.mo rename to locale/uk_UA/LC_MESSAGES/statusnet.mo diff --git a/locale/uk_UA/LC_MESSAGES/laconica.po b/locale/uk_UA/LC_MESSAGES/statusnet.po similarity index 100% rename from locale/uk_UA/LC_MESSAGES/laconica.po rename to locale/uk_UA/LC_MESSAGES/statusnet.po diff --git a/locale/vi_VN/LC_MESSAGES/laconica.mo b/locale/vi_VN/LC_MESSAGES/statusnet.mo similarity index 100% rename from locale/vi_VN/LC_MESSAGES/laconica.mo rename to locale/vi_VN/LC_MESSAGES/statusnet.mo diff --git a/locale/vi_VN/LC_MESSAGES/laconica.po b/locale/vi_VN/LC_MESSAGES/statusnet.po similarity index 100% rename from locale/vi_VN/LC_MESSAGES/laconica.po rename to locale/vi_VN/LC_MESSAGES/statusnet.po diff --git a/locale/zh_CN/LC_MESSAGES/laconica.mo b/locale/zh_CN/LC_MESSAGES/statusnet.mo similarity index 100% rename from locale/zh_CN/LC_MESSAGES/laconica.mo rename to locale/zh_CN/LC_MESSAGES/statusnet.mo diff --git a/locale/zh_CN/LC_MESSAGES/laconica.po b/locale/zh_CN/LC_MESSAGES/statusnet.po similarity index 100% rename from locale/zh_CN/LC_MESSAGES/laconica.po rename to locale/zh_CN/LC_MESSAGES/statusnet.po diff --git a/locale/zh_TW/LC_MESSAGES/laconica.mo b/locale/zh_TW/LC_MESSAGES/statusnet.mo similarity index 100% rename from locale/zh_TW/LC_MESSAGES/laconica.mo rename to locale/zh_TW/LC_MESSAGES/statusnet.mo diff --git a/locale/zh_TW/LC_MESSAGES/laconica.po b/locale/zh_TW/LC_MESSAGES/statusnet.po similarity index 100% rename from locale/zh_TW/LC_MESSAGES/laconica.po rename to locale/zh_TW/LC_MESSAGES/statusnet.po diff --git a/scripts/laconica.spec b/scripts/statusnet.spec similarity index 100% rename from scripts/laconica.spec rename to scripts/statusnet.spec From 077955cb1d45f866d65aebdc42f5e3e71dc74045 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 25 Aug 2009 17:58:44 -0400 Subject: [PATCH 036/134] merge problem with scripts/twitterstatusfetcher --- scripts/twitterstatusfetcher.php | 4 ---- 1 file changed, 4 deletions(-) diff --git a/scripts/twitterstatusfetcher.php b/scripts/twitterstatusfetcher.php index 082bcc9622..f5289c5f4b 100755 --- a/scripts/twitterstatusfetcher.php +++ b/scripts/twitterstatusfetcher.php @@ -97,10 +97,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon { global $_DB_DATAOBJECT; -======= - global $_DB_DATAOBJECT; - ->>>>>>> 0.8.x:scripts/twitterstatusfetcher.php $flink = new Foreign_link(); $conn = &$flink->getDatabaseConnection(); From 3400f6f431436552d3bef81a4b25733db2cdd9b6 Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Wed, 26 Aug 2009 10:00:29 +1200 Subject: [PATCH 037/134] renamed to plural, for consitency --- tests/{HashTagDetectionTest.php => HashTagDetectionTests.php} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename tests/{HashTagDetectionTest.php => HashTagDetectionTests.php} (93%) diff --git a/tests/HashTagDetectionTest.php b/tests/HashTagDetectionTests.php similarity index 93% rename from tests/HashTagDetectionTest.php rename to tests/HashTagDetectionTests.php index 55e1f65bf9..4f0b31b0df 100644 --- a/tests/HashTagDetectionTest.php +++ b/tests/HashTagDetectionTests.php @@ -10,7 +10,7 @@ define('LACONICA', true); require_once INSTALLDIR . '/lib/common.php'; -class HashTagDetectionTest extends PHPUnit_Framework_TestCase +class HashTagDetectionTests extends PHPUnit_Framework_TestCase { /** * @dataProvider provider From c8b8f07af14ad2ce9d0c0267962dd3bbf6473a4b Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 25 Aug 2009 18:12:20 -0400 Subject: [PATCH 038/134] change Laconica and Control Yourself to StatusNet in PHP files --- actions/accesstoken.php | 8 +++--- actions/all.php | 4 +-- actions/allrss.php | 8 +++--- actions/api.php | 6 ++-- actions/attachment.php | 8 +++--- actions/attachment_ajax.php | 8 +++--- actions/attachment_thumbnail.php | 8 +++--- actions/avatarbynickname.php | 8 +++--- actions/avatarsettings.php | 8 +++--- actions/block.php | 8 +++--- actions/blockedfromgroup.php | 10 +++---- actions/confirmaddress.php | 8 +++--- actions/conversation.php | 12 ++++---- actions/deletenotice.php | 6 ++-- actions/disfavor.php | 8 +++--- actions/doc.php | 8 +++--- actions/editgroup.php | 8 +++--- actions/emailsettings.php | 8 +++--- actions/facebookhome.php | 4 +-- actions/facebookinvite.php | 4 +-- actions/facebooklogin.php | 4 +-- actions/facebookremove.php | 4 +-- actions/facebooksettings.php | 4 +-- actions/favor.php | 8 +++--- actions/favorited.php | 8 +++--- actions/favoritesrss.php | 8 +++--- actions/featured.php | 8 +++--- actions/file.php | 4 +-- actions/finishaddopenid.php | 8 +++--- actions/finishopenidlogin.php | 6 ++-- actions/finishremotesubscribe.php | 6 ++-- actions/foaf.php | 4 +-- actions/groupblock.php | 8 +++--- actions/groupbyid.php | 8 +++--- actions/groupdesignsettings.php | 8 +++--- actions/grouplogo.php | 8 +++--- actions/groupmembers.php | 12 ++++---- actions/grouprss.php | 8 +++--- actions/groups.php | 8 +++--- actions/groupsearch.php | 8 +++--- actions/groupunblock.php | 8 +++--- actions/imsettings.php | 8 +++--- actions/inbox.php | 8 +++--- actions/invite.php | 4 +-- actions/joingroup.php | 8 +++--- actions/leavegroup.php | 8 +++--- actions/login.php | 8 +++--- actions/logout.php | 8 +++--- actions/makeadmin.php | 8 +++--- actions/microsummary.php | 8 +++--- actions/newgroup.php | 8 +++--- actions/newmessage.php | 8 +++--- actions/newnotice.php | 8 +++--- actions/noticesearch.php | 8 +++--- actions/noticesearchrss.php | 8 +++--- actions/nudge.php | 8 +++--- actions/oembed.php | 12 ++++---- actions/openidlogin.php | 4 +-- actions/openidsettings.php | 8 +++--- actions/opensearch.php | 8 +++--- actions/othersettings.php | 8 +++--- actions/outbox.php | 8 +++--- actions/passwordsettings.php | 8 +++--- actions/peoplesearch.php | 10 +++---- actions/peopletag.php | 8 +++--- actions/postnotice.php | 4 +-- actions/profilesettings.php | 8 +++--- actions/public.php | 12 ++++---- actions/publicrss.php | 8 +++--- actions/publictagcloud.php | 10 +++---- actions/publicxrds.php | 8 +++--- actions/recoverpassword.php | 4 +-- actions/register.php | 8 +++--- actions/remotesubscribe.php | 6 ++-- actions/replies.php | 8 +++--- actions/repliesrss.php | 4 +-- actions/requesttoken.php | 8 +++--- actions/showfavorites.php | 8 +++--- actions/showgroup.php | 12 ++++---- actions/showmessage.php | 8 +++--- actions/shownotice.php | 8 +++--- actions/showstream.php | 12 ++++---- actions/smssettings.php | 8 +++--- actions/subedit.php | 4 +-- actions/subscribe.php | 4 +-- actions/subscribers.php | 8 +++--- actions/subscriptions.php | 8 +++--- actions/sup.php | 4 +-- actions/tag.php | 4 +-- actions/tagother.php | 4 +-- actions/tagrss.php | 4 +-- actions/twitapiaccount.php | 4 +-- actions/twitapiblocks.php | 4 +-- actions/twitapidirect_messages.php | 4 +-- actions/twitapifavorites.php | 4 +-- actions/twitapifriendships.php | 4 +-- actions/twitapigroups.php | 14 +++++----- actions/twitapihelp.php | 4 +-- actions/twitapinotifications.php | 4 +-- actions/twitapisearchatom.php | 8 +++--- actions/twitapisearchjson.php | 8 +++--- actions/twitapistatuses.php | 4 +-- actions/twitapistatusnet.php | 18 ++++++------ actions/twitapitags.php | 14 +++++----- actions/twitapitrends.php | 8 +++--- actions/twitapiusers.php | 4 +-- actions/twitterauthorization.php | 6 ++-- actions/twittersettings.php | 10 +++---- actions/unblock.php | 8 +++--- actions/unsubscribe.php | 8 +++--- actions/updateprofile.php | 4 +-- actions/userauthorization.php | 4 +-- actions/userbyid.php | 8 +++--- actions/userdesignsettings.php | 8 +++--- actions/usergroups.php | 8 +++--- actions/userrss.php | 4 +-- actions/xrds.php | 8 +++--- classes/Design.php | 4 +-- classes/File.php | 4 +-- classes/File_oembed.php | 4 +-- classes/File_redirection.php | 6 ++-- classes/File_thumbnail.php | 4 +-- classes/File_to_post.php | 4 +-- classes/Group_alias.php | 4 +-- classes/Group_block.php | 4 +-- classes/Memcached_DataObject.php | 4 +-- classes/Notice.php | 4 +-- classes/Notice_inbox.php | 4 +-- classes/Notice_tag.php | 4 +-- classes/Profile.php | 4 +-- classes/Profile_block.php | 4 +-- classes/Remote_profile.php | 4 +-- classes/Session.php | 4 +-- classes/Status_network.php | 4 +-- classes/Subscription.php | 4 +-- classes/User.php | 4 +-- index.php | 4 +-- install.php | 18 ++++++------ lib/Shorturl_api.php | 4 +-- lib/accountsettingsaction.php | 10 +++---- lib/action.php | 28 +++++++++---------- lib/arraywrapper.php | 4 +-- lib/attachmentlist.php | 10 +++---- lib/attachmentnoticesection.php | 8 +++--- lib/attachmenttagcloudsection.php | 8 +++--- lib/blockform.php | 8 +++--- lib/channel.php | 4 +-- lib/clienterroraction.php | 8 +++--- lib/clientexception.php | 8 +++--- lib/command.php | 4 +-- lib/commandinterpreter.php | 6 ++-- lib/common.php | 8 +++--- lib/connectsettingsaction.php | 10 +++---- lib/currentuserdesignaction.php | 8 +++--- lib/daemon.php | 4 +-- lib/dberroraction.php | 8 +++--- lib/dbqueuemanager.php | 6 ++-- lib/deleteaction.php | 6 ++-- lib/designsettings.php | 8 +++--- lib/disfavorform.php | 8 +++--- lib/error.php | 8 +++--- lib/event.php | 12 ++++---- lib/facebookaction.php | 6 ++-- lib/facebookutil.php | 4 +-- lib/favorform.php | 8 +++--- lib/featureduserssection.php | 8 +++--- lib/feed.php | 8 +++--- lib/feedlist.php | 8 +++--- lib/form.php | 8 +++--- lib/galleryaction.php | 4 +-- lib/groupdesignaction.php | 8 +++--- lib/groupeditform.php | 8 +++--- lib/grouplist.php | 8 +++--- lib/groupminilist.php | 8 +++--- lib/groupnav.php | 8 +++--- lib/groupsbymemberssection.php | 8 +++--- lib/groupsbypostssection.php | 8 +++--- lib/groupsection.php | 8 +++--- lib/grouptagcloudsection.php | 8 +++--- lib/htmloutputter.php | 8 +++--- lib/imagefile.php | 8 +++--- lib/jabber.php | 10 +++---- lib/joinform.php | 8 +++--- lib/jsonsearchresultslist.php | 10 +++---- lib/language.php | 4 +-- lib/leaveform.php | 8 +++--- lib/logingroupnav.php | 8 +++--- lib/mail.php | 6 ++-- lib/mailbox.php | 8 +++--- lib/messageform.php | 8 +++--- lib/microid.php | 8 +++--- lib/noticeform.php | 8 +++--- lib/noticelist.php | 10 +++---- lib/noticesection.php | 8 +++--- lib/nudgeform.php | 8 +++--- lib/oauthclient.php | 12 ++++---- lib/oauthstore.php | 6 ++-- lib/omb.php | 10 +++---- lib/openid.php | 4 +-- lib/ownerdesignaction.php | 8 +++--- lib/parallelizingdaemon.php | 8 +++--- lib/personalgroupnav.php | 8 +++--- lib/personaltagcloudsection.php | 8 +++--- lib/ping.php | 10 +++---- lib/plugin.php | 10 +++---- lib/popularnoticesection.php | 8 +++--- lib/profileaction.php | 8 +++--- lib/profilelist.php | 8 +++--- lib/profileminilist.php | 8 +++--- lib/profilesection.php | 8 +++--- lib/publicgroupnav.php | 8 +++--- lib/queuehandler.php | 4 +-- lib/queuemanager.php | 6 ++-- lib/router.php | 8 +++--- lib/rssaction.php | 8 +++--- lib/search_engines.php | 4 +-- lib/searchaction.php | 8 +++--- lib/searchgroupnav.php | 8 +++--- lib/section.php | 8 +++--- lib/servererroraction.php | 8 +++--- lib/serverexception.php | 8 +++--- lib/settingsaction.php | 8 +++--- lib/snapshot.php | 10 +++---- lib/stompqueuemanager.php | 6 ++-- lib/subgroupnav.php | 8 +++--- lib/subpeopletagcloudsection.php | 8 +++--- lib/subs.php | 4 +-- lib/subscribeform.php | 8 +++--- lib/subscriberspeopleselftagcloudsection.php | 8 +++--- lib/subscriberspeopletagcloudsection.php | 8 +++--- lib/subscriptionlist.php | 8 +++--- ...subscriptionspeopleselftagcloudsection.php | 8 +++--- lib/subscriptionspeopletagcloudsection.php | 8 +++--- lib/tagcloudsection.php | 8 +++--- lib/theme.php | 6 ++-- lib/topposterssection.php | 8 +++--- lib/twitter.php | 4 +-- lib/twitterapi.php | 8 +++--- lib/twitteroauthclient.php | 8 +++--- lib/unblockform.php | 8 +++--- lib/unqueuemanager.php | 6 ++-- lib/unsubscribeform.php | 8 +++--- lib/util.php | 6 ++-- lib/webcolor.php | 6 ++-- lib/widget.php | 8 +++--- lib/xmloutputter.php | 8 +++--- lib/xmlstringer.php | 8 +++--- lib/xmppqueuehandler.php | 4 +-- scripts/allsites.php | 4 +-- scripts/createsim.php | 4 +-- scripts/decache.php | 4 +-- scripts/enjitqueuehandler.php | 4 +-- scripts/facebookqueuehandler.php | 4 +-- scripts/fixup_conversations.php | 4 +-- scripts/fixup_hashtags.php | 4 +-- scripts/fixup_inboxes.php | 4 +-- scripts/fixup_notices_rendered.php | 4 +-- scripts/fixup_replies.php | 4 +-- scripts/fixup_utf8.php | 6 ++-- scripts/getpiddir.php | 4 +-- scripts/getvaliddaemons.php | 4 +-- scripts/inbox_users.php | 4 +-- scripts/jabberqueuehandler.php | 4 +-- scripts/maildaemon.php | 4 +-- scripts/ombqueuehandler.php | 4 +-- scripts/pingqueuehandler.php | 4 +-- scripts/publicqueuehandler.php | 4 +-- scripts/reportsnapshot.php | 4 +-- scripts/sessiongc.php | 4 +-- scripts/setpassword.php | 4 +-- scripts/showcache.php | 4 +-- scripts/sitemap.php | 4 +-- scripts/smsqueuehandler.php | 4 +-- scripts/synctwitterfriends.php | 6 ++-- scripts/triminboxes.php | 4 +-- scripts/twitterqueuehandler.php | 4 +-- scripts/twitterstatusfetcher.php | 10 +++---- scripts/uncache_users.php | 4 +-- scripts/update_translations.php | 6 ++-- scripts/xmppconfirmhandler.php | 4 +-- scripts/xmppdaemon.php | 4 +-- 281 files changed, 973 insertions(+), 973 deletions(-) diff --git a/actions/accesstoken.php b/actions/accesstoken.php index 2a8cd17134..c008854e9c 100644 --- a/actions/accesstoken.php +++ b/actions/accesstoken.php @@ -5,14 +5,14 @@ * PHP version 5 * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/omb.php'; * Access token class. * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 diff --git a/actions/all.php b/actions/all.php index 38aee65b64..b4ef8d189a 100644 --- a/actions/all.php +++ b/actions/all.php @@ -1,7 +1,7 @@ * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -41,7 +41,7 @@ require_once INSTALLDIR.'/lib/rssaction.php'; * Formatting of RSS handled by Rss10Action * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 diff --git a/actions/api.php b/actions/api.php index 6d226af7e6..6769b3d63b 100644 --- a/actions/api.php +++ b/actions/api.php @@ -1,7 +1,7 @@ show_basic_auth_error(); diff --git a/actions/attachment.php b/actions/attachment.php index f42906fd82..98da3b0227 100644 --- a/actions/attachment.php +++ b/actions/attachment.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -37,7 +37,7 @@ require_once INSTALLDIR.'/lib/attachmentlist.php'; * Show notice attachments * * @category Personal - * @package Laconica + * @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/ diff --git a/actions/attachment_ajax.php b/actions/attachment_ajax.php index 4caa159f3a..a334cfefba 100644 --- a/actions/attachment_ajax.php +++ b/actions/attachment_ajax.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -37,7 +37,7 @@ require_once INSTALLDIR.'/actions/attachment.php'; * Show notice attachments * * @category Personal - * @package Laconica + * @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/ diff --git a/actions/attachment_thumbnail.php b/actions/attachment_thumbnail.php index 248d16e38c..bb450b3717 100644 --- a/actions/attachment_thumbnail.php +++ b/actions/attachment_thumbnail.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -37,7 +37,7 @@ require_once INSTALLDIR.'/actions/attachment.php'; * Show notice attachments * * @category Personal - * @package Laconica + * @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/ diff --git a/actions/avatarbynickname.php b/actions/avatarbynickname.php index 3e615261fe..07efe2d18c 100644 --- a/actions/avatarbynickname.php +++ b/actions/avatarbynickname.php @@ -5,14 +5,14 @@ * PHP version 5 * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * Retrieve user avatar by nickname action class. * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 diff --git a/actions/avatarsettings.php b/actions/avatarsettings.php index c45514ff60..c1b98cef38 100644 --- a/actions/avatarsettings.php +++ b/actions/avatarsettings.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Zach Copley - * @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/ */ @@ -42,7 +42,7 @@ define('MAX_ORIGINAL', 480); * We use jCrop plugin for jQuery to crop the image after upload. * * @category Settings - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Zach Copley * @author Sarven Capadisli diff --git a/actions/block.php b/actions/block.php index 06f92254e0..715af84296 100644 --- a/actions/block.php +++ b/actions/block.php @@ -5,14 +5,14 @@ * PHP version 5 * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * Block a user action class. * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 diff --git a/actions/blockedfromgroup.php b/actions/blockedfromgroup.php index 5c1eab3542..7e521e9449 100644 --- a/actions/blockedfromgroup.php +++ b/actions/blockedfromgroup.php @@ -1,6 +1,6 @@ . * * @category Group - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -35,7 +35,7 @@ if (!defined('LACONICA')) { * List of profiles blocked from this group * * @category Group - * @package Laconica + * @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/ @@ -190,7 +190,7 @@ class GroupBlockListItem extends ProfileListItem * Form for unblocking a user from a group * * @category Form - * @package Laconica + * @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 diff --git a/actions/confirmaddress.php b/actions/confirmaddress.php index 3c41a5c70d..6bcc229385 100644 --- a/actions/confirmaddress.php +++ b/actions/confirmaddress.php @@ -1,6 +1,6 @@ . * * @category Confirm - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -39,7 +39,7 @@ if (!defined('LACONICA')) { * accepts those codes. * * @category Confirm - * @package Laconica + * @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/ diff --git a/actions/conversation.php b/actions/conversation.php index 6b5d8d54d9..333eeb23cf 100644 --- a/actions/conversation.php +++ b/actions/conversation.php @@ -5,13 +5,13 @@ * PHP version 5 * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -40,7 +40,7 @@ require_once INSTALLDIR.'/lib/noticelist.php'; * Conversation tree in the browser * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ @@ -129,7 +129,7 @@ class ConversationAction extends Action * The widget class for displaying a hierarchical list of notices. * * @category Widget - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ @@ -250,7 +250,7 @@ class ConversationTree extends NoticeList * Special class of NoticeListItem for use inside conversation trees. * * @category Widget - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ diff --git a/actions/deletenotice.php b/actions/deletenotice.php index e733f9650a..8022cfffd8 100644 --- a/actions/deletenotice.php +++ b/actions/deletenotice.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @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/ */ diff --git a/actions/disfavor.php b/actions/disfavor.php index 02e01d6e00..5a25fb5104 100644 --- a/actions/disfavor.php +++ b/actions/disfavor.php @@ -6,14 +6,14 @@ * PHP version 5 * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -39,7 +39,7 @@ require_once INSTALLDIR.'/lib/favorform.php'; * Disfavor class. * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 diff --git a/actions/doc.php b/actions/doc.php index 54ae138036..7c5df3f84b 100644 --- a/actions/doc.php +++ b/actions/doc.php @@ -6,14 +6,14 @@ * PHP version 5 * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -37,7 +37,7 @@ if (!defined('LACONICA')) { * Documentation class. * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 diff --git a/actions/editgroup.php b/actions/editgroup.php index 6aa6f8b11f..0d6e191d83 100644 --- a/actions/editgroup.php +++ b/actions/editgroup.php @@ -1,6 +1,6 @@ . * * @category Group - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli * @author Zach Copley - * @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/ */ @@ -39,7 +39,7 @@ if (!defined('LACONICA')) { * This is the form for adding a new group * * @category Group - * @package Laconica + * @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 diff --git a/actions/emailsettings.php b/actions/emailsettings.php index cdd0928299..661bd2caa4 100644 --- a/actions/emailsettings.php +++ b/actions/emailsettings.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Zach Copley - * @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/ */ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/accountsettingsaction.php'; * Settings for email * * @category Settings - * @package Laconica + * @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 diff --git a/actions/facebookhome.php b/actions/facebookhome.php index 6d8d0745d7..922b66515f 100644 --- a/actions/facebookhome.php +++ b/actions/facebookhome.php @@ -1,7 +1,7 @@ * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -40,7 +40,7 @@ require_once INSTALLDIR.'/lib/disfavorform.php'; * Favor class. * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 diff --git a/actions/favorited.php b/actions/favorited.php index a3d1a5e206..e98f52b86c 100644 --- a/actions/favorited.php +++ b/actions/favorited.php @@ -1,6 +1,6 @@ . * * @category Public - * @package Laconica + * @package StatusNet * @author Zach Copley * @author Evan Prodromou - * @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/ */ @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/noticelist.php'; * is measured by * * @category Personal - * @package Laconica + * @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 diff --git a/actions/favoritesrss.php b/actions/favoritesrss.php index 5dc09e5e8a..4731af1ae1 100644 --- a/actions/favoritesrss.php +++ b/actions/favoritesrss.php @@ -6,14 +6,14 @@ * PHP version 5 * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -41,7 +41,7 @@ require_once INSTALLDIR.'/lib/rssaction.php'; * Formatting of RSS handled by Rss10Action * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @author Zach Copley diff --git a/actions/featured.php b/actions/featured.php index 04365687d7..f11e991ffe 100644 --- a/actions/featured.php +++ b/actions/featured.php @@ -1,6 +1,6 @@ . * * @category Public - * @package Laconica + * @package StatusNet * @author Zach Copley * @author Evan Prodromou - * @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/ */ @@ -39,7 +39,7 @@ require_once INSTALLDIR.'/lib/publicgroupnav.php'; * List of featured users * * @category Public - * @package Laconica + * @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 diff --git a/actions/file.php b/actions/file.php index 8310e48df1..9424bb7da7 100644 --- a/actions/file.php +++ b/actions/file.php @@ -1,7 +1,7 @@ . * * @category Settings - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -39,7 +39,7 @@ require_once INSTALLDIR.'/lib/openid.php'; * Handle the return from an OpenID verification * * @category Settings - * @package Laconica + * @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/ diff --git a/actions/finishopenidlogin.php b/actions/finishopenidlogin.php index a291958261..cf9d1ee262 100644 --- a/actions/finishopenidlogin.php +++ b/actions/finishopenidlogin.php @@ -1,7 +1,7 @@ post($req->get_normalized_http_url(), $req->to_postdata(), - array('User-Agent: Laconica/' . LACONICA_VERSION)); + array('User-Agent: StatusNet/' . LACONICA_VERSION)); common_debug('got result: "'.print_r($result,true).'"', __FILE__); diff --git a/actions/foaf.php b/actions/foaf.php index b481b24377..5aed3d6d29 100644 --- a/actions/foaf.php +++ b/actions/foaf.php @@ -1,7 +1,7 @@ * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -35,7 +35,7 @@ if (!defined('LACONICA')) { * Block a user from a group * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ diff --git a/actions/groupbyid.php b/actions/groupbyid.php index 7d327d56cc..34e4ad15c2 100644 --- a/actions/groupbyid.php +++ b/actions/groupbyid.php @@ -1,6 +1,6 @@ . * * @category Group - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @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/ */ @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/feedlist.php'; * an URL with the ID in it as the permanent identifier. * * @category Group - * @package Laconica + * @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/ diff --git a/actions/groupdesignsettings.php b/actions/groupdesignsettings.php index bb01243c6e..130f60f255 100644 --- a/actions/groupdesignsettings.php +++ b/actions/groupdesignsettings.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica + * @package StatusNet * @author Sarven Capadisli * @author Zach Copley - * @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/ */ @@ -40,7 +40,7 @@ require_once INSTALLDIR . '/lib/designsettings.php'; * Saves a design for a given group * * @category Settings - * @package Laconica + * @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 diff --git a/actions/grouplogo.php b/actions/grouplogo.php index 87c68e2a21..c5bcdd0a33 100644 --- a/actions/grouplogo.php +++ b/actions/grouplogo.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Zach Copley - * @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/ */ @@ -42,7 +42,7 @@ define('MAX_ORIGINAL', 480); * We use jCrop plugin for jQuery to crop the image after upload. * * @category Settings - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Zach Copley * @author Sarven Capadisli diff --git a/actions/groupmembers.php b/actions/groupmembers.php index 14256526a0..cb81d2928d 100644 --- a/actions/groupmembers.php +++ b/actions/groupmembers.php @@ -1,6 +1,6 @@ . * * @category Group - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/publicgroupnav.php'; * List of group members * * @category Group - * @package Laconica + * @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/ @@ -220,7 +220,7 @@ class GroupMemberListItem extends ProfileListItem * Form for blocking a user from a group * * @category Form - * @package Laconica + * @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 @@ -348,7 +348,7 @@ class GroupBlockForm extends Form * Form for making a user an admin for a group * * @category Form - * @package Laconica + * @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 diff --git a/actions/grouprss.php b/actions/grouprss.php index e1e2d20185..b304dd3a5d 100644 --- a/actions/grouprss.php +++ b/actions/grouprss.php @@ -1,6 +1,6 @@ . * * @category Group - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @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/ */ @@ -40,7 +40,7 @@ define('MEMBERS_PER_SECTION', 27); * Group RSS feed * * @category Group - * @package Laconica + * @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/ diff --git a/actions/groups.php b/actions/groups.php index 3d62843ed6..e05908956b 100644 --- a/actions/groups.php +++ b/actions/groups.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @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/ */ @@ -40,7 +40,7 @@ require_once INSTALLDIR.'/lib/grouplist.php'; * Show the latest groups on the site * * @category Personal - * @package Laconica + * @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/ diff --git a/actions/groupsearch.php b/actions/groupsearch.php index 7437166e6a..947463ccb6 100644 --- a/actions/groupsearch.php +++ b/actions/groupsearch.php @@ -5,14 +5,14 @@ * PHP version 5 * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -39,7 +39,7 @@ if (!defined('LACONICA')) { * Group search action class. * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 diff --git a/actions/groupunblock.php b/actions/groupunblock.php index 6beb463528..5112cfdfa3 100644 --- a/actions/groupunblock.php +++ b/actions/groupunblock.php @@ -5,13 +5,13 @@ * PHP version 5 * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -35,7 +35,7 @@ if (!defined('LACONICA')) { * Unlock a user from a group * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ diff --git a/actions/imsettings.php b/actions/imsettings.php index 70a6f37d4f..3b43e12f77 100644 --- a/actions/imsettings.php +++ b/actions/imsettings.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/jabber.php'; * Settings for Jabber/XMPP integration * * @category Settings - * @package Laconica + * @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/ diff --git a/actions/inbox.php b/actions/inbox.php index f14ba631fd..1d63bc304c 100644 --- a/actions/inbox.php +++ b/actions/inbox.php @@ -1,6 +1,6 @@ . * * @category Message - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -37,7 +37,7 @@ require_once INSTALLDIR.'/lib/mailbox.php'; * action handler for message inbox * * @category Message - * @package Laconica + * @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/ diff --git a/actions/invite.php b/actions/invite.php index bdc0d34cb3..a51a404492 100644 --- a/actions/invite.php +++ b/actions/invite.php @@ -1,7 +1,7 @@ . * * @category Group - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * for users. * * @category Group - * @package Laconica + * @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/ diff --git a/actions/leavegroup.php b/actions/leavegroup.php index 215ccd9017..29194351db 100644 --- a/actions/leavegroup.php +++ b/actions/leavegroup.php @@ -1,6 +1,6 @@ . * * @category Group - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * for users. * * @category Group - * @package Laconica + * @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/ diff --git a/actions/login.php b/actions/login.php index 6f1b4777e5..cfaf7b5545 100644 --- a/actions/login.php +++ b/actions/login.php @@ -1,6 +1,6 @@ . * * @category Login - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -35,7 +35,7 @@ if (!defined('LACONICA')) { * Login form * * @category Personal - * @package Laconica + * @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/ diff --git a/actions/logout.php b/actions/logout.php index 3fcfb4f4ef..7ea45151cf 100644 --- a/actions/logout.php +++ b/actions/logout.php @@ -5,14 +5,14 @@ * PHP version 5 * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/openid.php'; * Logout action class. * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 diff --git a/actions/makeadmin.php b/actions/makeadmin.php index 6fc2cf9ab5..cc183e67be 100644 --- a/actions/makeadmin.php +++ b/actions/makeadmin.php @@ -5,13 +5,13 @@ * PHP version 5 * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -35,7 +35,7 @@ if (!defined('LACONICA')) { * Make another user an admin of a group * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ diff --git a/actions/microsummary.php b/actions/microsummary.php index 6884a919a8..d3d441cc5a 100644 --- a/actions/microsummary.php +++ b/actions/microsummary.php @@ -5,14 +5,14 @@ * PHP version 5 * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * Microsummary action class. * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 diff --git a/actions/newgroup.php b/actions/newgroup.php index 0289e77c25..506017b4d2 100644 --- a/actions/newgroup.php +++ b/actions/newgroup.php @@ -1,6 +1,6 @@ . * * @category Group - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @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/ */ @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * This is the form for adding a new group * * @category Group - * @package Laconica + * @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/ diff --git a/actions/newmessage.php b/actions/newmessage.php index 52d4899ba2..5f485f5e27 100644 --- a/actions/newmessage.php +++ b/actions/newmessage.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Zach Copley * @author Sarven Capadisli - * @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/ */ @@ -37,7 +37,7 @@ if (!defined('LACONICA')) { * Action for posting new direct messages * * @category Personal - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Zach Copley * @author Sarven Capadisli diff --git a/actions/newnotice.php b/actions/newnotice.php index c120b256a9..98532ee257 100644 --- a/actions/newnotice.php +++ b/actions/newnotice.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Zach Copley * @author Sarven Capadisli - * @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/ */ @@ -39,7 +39,7 @@ require_once INSTALLDIR.'/lib/noticelist.php'; * Action for posting new notices * * @category Personal - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Zach Copley * @author Sarven Capadisli diff --git a/actions/noticesearch.php b/actions/noticesearch.php index 90b3309cf6..b12b88e707 100644 --- a/actions/noticesearch.php +++ b/actions/noticesearch.php @@ -5,15 +5,15 @@ * PHP version 5 * * @category Action - * @package Laconica + * @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/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -39,7 +39,7 @@ require_once INSTALLDIR.'/lib/searchaction.php'; * Notice search action class. * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 diff --git a/actions/noticesearchrss.php b/actions/noticesearchrss.php index 045531c5ac..421edc921f 100644 --- a/actions/noticesearchrss.php +++ b/actions/noticesearchrss.php @@ -5,14 +5,14 @@ * PHP version 5 * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -40,7 +40,7 @@ require_once INSTALLDIR.'/lib/rssaction.php'; * Formatting of RSS handled by Rss10Action * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 diff --git a/actions/nudge.php b/actions/nudge.php index 78c0ee566b..1b5b93cd96 100644 --- a/actions/nudge.php +++ b/actions/nudge.php @@ -6,14 +6,14 @@ * PHP version 5 * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -39,7 +39,7 @@ require_once INSTALLDIR.'/lib/mail.php'; * Nudge a user action class. * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @author Sarven Capadisli diff --git a/actions/oembed.php b/actions/oembed.php index 3e46a7262f..5c9853bd36 100644 --- a/actions/oembed.php +++ b/actions/oembed.php @@ -1,8 +1,8 @@ . * * @category Twitter - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -37,9 +37,9 @@ 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/ */ diff --git a/actions/openidlogin.php b/actions/openidlogin.php index 744aae7136..a1817cb113 100644 --- a/actions/openidlogin.php +++ b/actions/openidlogin.php @@ -1,7 +1,7 @@ . * * @category Settings - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -40,7 +40,7 @@ require_once INSTALLDIR.'/lib/openid.php'; * Lets users add, edit and delete OpenIDs from their account * * @category Settings - * @package Laconica + * @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/ diff --git a/actions/opensearch.php b/actions/opensearch.php index 6044568f11..7c98ce4bc2 100644 --- a/actions/opensearch.php +++ b/actions/opensearch.php @@ -6,14 +6,14 @@ * PHP version 5 * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -39,7 +39,7 @@ if (!defined('LACONICA')) { * Formatting of RSS handled by Rss10Action * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 diff --git a/actions/othersettings.php b/actions/othersettings.php index 1277f80527..afd6846d95 100644 --- a/actions/othersettings.php +++ b/actions/othersettings.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica + * @package StatusNet * @author Robin Millette * @author Evan Prodromou - * @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/ */ @@ -40,7 +40,7 @@ require_once INSTALLDIR.'/lib/accountsettingsaction.php'; * Currently this just manages URL shortening. * * @category Settings - * @package Laconica + * @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 diff --git a/actions/outbox.php b/actions/outbox.php index a875e9ad95..a1d8c2fc47 100644 --- a/actions/outbox.php +++ b/actions/outbox.php @@ -1,6 +1,6 @@ . * * @category Message - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -37,7 +37,7 @@ require_once INSTALLDIR.'/lib/mailbox.php'; * action handler for message outbox * * @category Message - * @package Laconica + * @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/ diff --git a/actions/passwordsettings.php b/actions/passwordsettings.php index bdce610350..2e289bc8a9 100644 --- a/actions/passwordsettings.php +++ b/actions/passwordsettings.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Zach Copley - * @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/ */ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/accountsettingsaction.php'; * Change password * * @category Settings - * @package Laconica + * @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 diff --git a/actions/peoplesearch.php b/actions/peoplesearch.php index 60ddb6a828..c8e65da3c5 100644 --- a/actions/peoplesearch.php +++ b/actions/peoplesearch.php @@ -5,14 +5,14 @@ * PHP version 5 * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -39,7 +39,7 @@ require_once INSTALLDIR.'/lib/profilelist.php'; * People search action class. * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 @@ -93,7 +93,7 @@ class PeoplesearchAction extends SearchAction * Derivative of ProfileList with specialization for highlighting search terms. * * @category Widget - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 diff --git a/actions/peopletag.php b/actions/peopletag.php index dd3c1c0899..e3f74d2321 100644 --- a/actions/peopletag.php +++ b/actions/peopletag.php @@ -1,6 +1,6 @@ . * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Zach Copley - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/profilelist.php'; * This class outputs a paginated list of profiles self-tagged with a given tag * * @category Output - * @package Laconica + * @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 diff --git a/actions/postnotice.php b/actions/postnotice.php index eb2d63b61c..c2624c1483 100644 --- a/actions/postnotice.php +++ b/actions/postnotice.php @@ -1,7 +1,7 @@ . * * @category Settings - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Zach Copley - * @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/ */ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/accountsettingsaction.php'; * Change profile settings * * @category Settings - * @package Laconica + * @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 diff --git a/actions/public.php b/actions/public.php index 2cf2e96e68..aea7306061 100644 --- a/actions/public.php +++ b/actions/public.php @@ -1,6 +1,6 @@ . * * @category Public - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -43,7 +43,7 @@ define('MAX_PUBLIC_PAGE', 100); * Action for displaying the public stream * * @category Public - * @package Laconica + * @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/ @@ -245,13 +245,13 @@ class PublicAction extends Action { if (! (common_config('site','closed') || common_config('site','inviteonly'))) { $m = sprintf(_('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://laconi.ca/) tool. ' . '[Join now](%%%%action.%s%%%%) to share notices about yourself with friends, family, and colleagues! ' . '([Read more](%%%%doc.help%%%%))'), (!common_config('site','openidonly')) ? 'register' : 'openidlogin'); } else { $m = _('This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' . - 'based on the Free Software [Laconica](http://laconi.ca/) tool.'); + 'based on the Free Software [StatusNet](http://laconi.ca/) 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..2cec7d7452 100644 --- a/actions/publicrss.php +++ b/actions/publicrss.php @@ -6,14 +6,14 @@ * PHP version 5 * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -41,7 +41,7 @@ require_once INSTALLDIR.'/lib/rssaction.php'; * Formatting of RSS handled by Rss10Action * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 diff --git a/actions/publictagcloud.php b/actions/publictagcloud.php index a2772869d4..5ac091e8bf 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 * @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/ */ @@ -37,11 +37,11 @@ define('TAGS_PER_PAGE', 100); * Public tag cloud for notices * * @category Personal - * @package Laconica + * @package StatusNet * @author Mike Cochrane * @author Evan Prodromou * @copyright 2008 Mike Cochrane - * @copyright 2008-2009 Control Yourself, Inc. + * @copyright 2008-2009 StatusNet, Inc. * @link http://laconi.ca/ */ diff --git a/actions/publicxrds.php b/actions/publicxrds.php index 0a14215502..b7e1988ae5 100644 --- a/actions/publicxrds.php +++ b/actions/publicxrds.php @@ -6,14 +6,14 @@ * PHP version 5 * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -39,7 +39,7 @@ require_once INSTALLDIR.'/lib/openid.php'; * Public XRDS for OpenID * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 diff --git a/actions/recoverpassword.php b/actions/recoverpassword.php index 721edea7f4..cd1cb9b4ea 100644 --- a/actions/recoverpassword.php +++ b/actions/recoverpassword.php @@ -1,7 +1,7 @@ . * * @category Login - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -35,7 +35,7 @@ if (!defined('LACONICA')) { * An action for registering a new user account * * @category Login - * @package Laconica + * @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/ diff --git a/actions/remotesubscribe.php b/actions/remotesubscribe.php index 7323103fc5..0913bacd38 100644 --- a/actions/remotesubscribe.php +++ b/actions/remotesubscribe.php @@ -1,7 +1,7 @@ post($req->get_normalized_http_url(), $req->to_postdata(), - array('User-Agent: Laconica/' . LACONICA_VERSION)); + array('User-Agent: StatusNet/' . LACONICA_VERSION)); if ($result->status != 200) { return null; } diff --git a/actions/replies.php b/actions/replies.php index fcfc3a2725..b396a03b48 100644 --- a/actions/replies.php +++ b/actions/replies.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -39,7 +39,7 @@ require_once INSTALLDIR.'/lib/feedlist.php'; * List of replies * * @category Personal - * @package Laconica + * @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/ diff --git a/actions/repliesrss.php b/actions/repliesrss.php index 580bb91f7c..eff1edd04a 100644 --- a/actions/repliesrss.php +++ b/actions/repliesrss.php @@ -1,7 +1,7 @@ * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -39,7 +39,7 @@ require_once INSTALLDIR.'/lib/omb.php'; * Request token action class. * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 diff --git a/actions/showfavorites.php b/actions/showfavorites.php index 91287cc963..76ec48dada 100644 --- a/actions/showfavorites.php +++ b/actions/showfavorites.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -39,7 +39,7 @@ require_once INSTALLDIR.'/lib/feedlist.php'; * List of replies * * @category Personal - * @package Laconica + * @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/ diff --git a/actions/showgroup.php b/actions/showgroup.php index b0cc1dbc7d..d4f41052ef 100644 --- a/actions/showgroup.php +++ b/actions/showgroup.php @@ -1,6 +1,6 @@ . * * @category Group - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @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/ */ @@ -41,7 +41,7 @@ define('MEMBERS_PER_SECTION', 27); * Group main page * * @category Group - * @package Laconica + * @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/ @@ -448,14 +448,14 @@ class ShowgroupAction extends GroupDesignAction { if (!(common_config('site','closed') || common_config('site','inviteonly'))) { $m = sprintf(_('**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' . - 'based on the Free Software [Laconica](http://laconi.ca/) tool. Its members share ' . + 'based on the Free Software [StatusNet](http://laconi.ca/) tool. Its members share ' . 'short messages about their life and interests. '. '[Join now](%%%%action.%s%%%%) to become part of this group and many more! ([Read more](%%%%doc.help%%%%))'), $this->group->nickname, (!common_config('site','openidonly')) ? 'register' : 'openidlogin'); } else { $m = sprintf(_('**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' . - 'based on the Free Software [Laconica](http://laconi.ca/) tool. Its members share ' . + 'based on the Free Software [StatusNet](http://laconi.ca/) 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..f413018bb1 100644 --- a/actions/showmessage.php +++ b/actions/showmessage.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/mailbox.php'; * // XXX: It is totally weird how this works! * * @category Personal - * @package Laconica + * @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/ diff --git a/actions/shownotice.php b/actions/shownotice.php index fb15dddcfd..6d8d540510 100644 --- a/actions/shownotice.php +++ b/actions/shownotice.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -39,7 +39,7 @@ require_once INSTALLDIR.'/lib/feedlist.php'; * Show a single notice * * @category Personal - * @package Laconica + * @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/ diff --git a/actions/showstream.php b/actions/showstream.php index 3f603d64f6..1cdf2c37e8 100644 --- a/actions/showstream.php +++ b/actions/showstream.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @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/ */ @@ -48,7 +48,7 @@ require_once INSTALLDIR.'/lib/feedlist.php'; * to subscriptions and stuff, etc. * * @category Personal - * @package Laconica + * @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/ @@ -388,14 +388,14 @@ 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://laconi.ca/) tool. ' . '[Join now](%%%%action.%s%%%%) to follow **%s**\'s notices and many more! ([Read more](%%%%doc.help%%%%))'), $this->user->nickname, (!common_config('site','openidonly')) ? 'register' : 'openidlogin', $this->user->nickname); } else { $m = sprintf(_('**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' . - 'based on the Free Software [Laconica](http://laconi.ca/) tool. '), + 'based on the Free Software [StatusNet](http://laconi.ca/) 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..14f4b25aac 100644 --- a/actions/smssettings.php +++ b/actions/smssettings.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -37,7 +37,7 @@ require_once INSTALLDIR.'/lib/connectsettingsaction.php'; * Settings for SMS * * @category Settings - * @package Laconica + * @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/ diff --git a/actions/subedit.php b/actions/subedit.php index 2e1bf55388..1f760bdf9e 100644 --- a/actions/subedit.php +++ b/actions/subedit.php @@ -1,7 +1,7 @@ . * * @category Social - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @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/ */ @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * List a user's subscribers * * @category Social - * @package Laconica + * @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/ diff --git a/actions/subscriptions.php b/actions/subscriptions.php index 0724471ff6..c34a144691 100644 --- a/actions/subscriptions.php +++ b/actions/subscriptions.php @@ -1,6 +1,6 @@ . * * @category Social - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @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/ */ @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * A list of the user's subscriptions * * @category Social - * @package Laconica + * @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/ diff --git a/actions/sup.php b/actions/sup.php index a5b665562f..3cb48184f8 100644 --- a/actions/sup.php +++ b/actions/sup.php @@ -1,7 +1,7 @@ . * * @category Twitter - * @package Laconica + * @package StatusNet * @author Craig Andrews * @author Zach Copley - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -37,13 +37,13 @@ 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 + * @package StatusNet * @author Craig Andrews * @author Zach Copley - * @copyright 2009 Control Yourself, Inc. + * @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/ */ diff --git a/actions/twitapihelp.php b/actions/twitapihelp.php index dab2b34f9b..d11a64ccde 100644 --- a/actions/twitapihelp.php +++ b/actions/twitapihelp.php @@ -1,7 +1,7 @@ . * * @category Search - * @package Laconica + * @package StatusNet * @author Zach Copley - * @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/ */ @@ -41,7 +41,7 @@ require_once INSTALLDIR.'/lib/twitterapi.php'; * RSS10Action. * * @category Search - * @package Laconica + * @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/actions/twitapisearchjson.php b/actions/twitapisearchjson.php index 27a717bfc9..57a5fb0ca1 100644 --- a/actions/twitapisearchjson.php +++ b/actions/twitapisearchjson.php @@ -1,6 +1,6 @@ . * * @category Search - * @package Laconica + * @package StatusNet * @author Zach Copley - * @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/ */ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/jsonsearchresultslist.php'; * Action handler for Twitter-compatible API search * * @category Search - * @package Laconica + * @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/actions/twitapistatuses.php b/actions/twitapistatuses.php index 185129d5ee..b8f4a10585 100644 --- a/actions/twitapistatuses.php +++ b/actions/twitapistatuses.php @@ -1,7 +1,7 @@ . * * @category Twitter - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -34,14 +34,14 @@ if (!defined('LACONICA')) { require_once INSTALLDIR.'/lib/twitterapi.php'; /** - * Laconica-specific API methods + * StatusNet-specific API methods * * This class handles all /laconica/ API methods. * * @category Twitter - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -51,7 +51,7 @@ class TwitapilaconicaAction 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) * Formats: xml, json @@ -87,7 +87,7 @@ 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) * Formats: xml, json diff --git a/actions/twitapitags.php b/actions/twitapitags.php index e19e1b1ed6..82f86d9ea3 100644 --- a/actions/twitapitags.php +++ b/actions/twitapitags.php @@ -1,8 +1,8 @@ . * * @category Twitter - * @package Laconica + * @package StatusNet * @author Craig Andrews * @author Zach Copley - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -37,13 +37,13 @@ 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 + * @package StatusNet * @author Craig Andrews * @author Zach Copley - * @copyright 2009 Control Yourself, Inc. + * @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/ */ diff --git a/actions/twitapitrends.php b/actions/twitapitrends.php index c73d894460..48db96d621 100644 --- a/actions/twitapitrends.php +++ b/actions/twitapitrends.php @@ -1,6 +1,6 @@ . * * @category Search - * @package Laconica + * @package StatusNet * @author Zach Copley - * @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/ */ @@ -37,7 +37,7 @@ require_once INSTALLDIR.'/lib/twitterapi.php'; * Returns the top ten queries that are currently trending * * @category Search - * @package Laconica + * @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/actions/twitapiusers.php b/actions/twitapiusers.php index fea41b3971..41a95765ad 100644 --- a/actions/twitapiusers.php +++ b/actions/twitapiusers.php @@ -1,7 +1,7 @@ . * * @category TwitterauthorizationAction - * @package Laconica + * @package StatusNet * @author Zach Copely - * @copyright 2009 Control Yourself, Inc. + * @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/ */ diff --git a/actions/twittersettings.php b/actions/twittersettings.php index 0859ab9d34..a93cf5af48 100644 --- a/actions/twittersettings.php +++ b/actions/twittersettings.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/twitter.php'; * Settings for Twitter integration * * @category Settings - * @package Laconica + * @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/ @@ -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 */ diff --git a/actions/unblock.php b/actions/unblock.php index 05d57c60d5..1b6caa6680 100644 --- a/actions/unblock.php +++ b/actions/unblock.php @@ -5,14 +5,14 @@ * PHP version 5 * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * Unblock a user action class. * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 diff --git a/actions/unsubscribe.php b/actions/unsubscribe.php index 46fbcf6571..e758f689b9 100644 --- a/actions/unsubscribe.php +++ b/actions/unsubscribe.php @@ -5,14 +5,14 @@ * PHP version 5 * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * Unsubscribe handler * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 diff --git a/actions/updateprofile.php b/actions/updateprofile.php index f6cb277aa7..920194bb26 100644 --- a/actions/updateprofile.php +++ b/actions/updateprofile.php @@ -1,7 +1,7 @@ * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -37,7 +37,7 @@ if (!defined('LACONICA')) { * User by ID action class. * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 diff --git a/actions/userdesignsettings.php b/actions/userdesignsettings.php index d7949951ab..498c7cb43e 100644 --- a/actions/userdesignsettings.php +++ b/actions/userdesignsettings.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica + * @package StatusNet * @author Sarven Capadisli * @author Zach Copley - * @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/ */ @@ -40,7 +40,7 @@ require_once INSTALLDIR . '/lib/designsettings.php'; * Saves a design for a given user * * @category Settings - * @package Laconica + * @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 diff --git a/actions/usergroups.php b/actions/usergroups.php index 7ead6e6e49..0260961baa 100644 --- a/actions/usergroups.php +++ b/actions/usergroups.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @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/ */ @@ -40,7 +40,7 @@ require_once INSTALLDIR.'/lib/grouplist.php'; * Show the groups a user belongs to * * @category Personal - * @package Laconica + * @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/ diff --git a/actions/userrss.php b/actions/userrss.php index a9f3fd5f89..f1b0efc71e 100644 --- a/actions/userrss.php +++ b/actions/userrss.php @@ -1,7 +1,7 @@ * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -39,7 +39,7 @@ require_once INSTALLDIR.'/lib/omb.php'; * XRDS for OpenID * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 diff --git a/classes/Design.php b/classes/Design.php index 19c9e02924..d82a0668dc 100644 --- a/classes/Design.php +++ b/classes/Design.php @@ -1,7 +1,7 @@ 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; } @@ -419,7 +419,7 @@ function runDbScript($filename, $conn, $type = 'mysql') - Install Laconica + Install StatusNet @@ -433,14 +433,14 @@ function runDbScript($filename, $conn, $type = 'mysql')
-

Install Laconica

+

Install StatusNet

diff --git a/lib/Shorturl_api.php b/lib/Shorturl_api.php index 22d5b4cb54..0cc3baab89 100644 --- a/lib/Shorturl_api.php +++ b/lib/Shorturl_api.php @@ -1,7 +1,7 @@ . * * @category Settings - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -37,7 +37,7 @@ require_once INSTALLDIR.'/lib/settingsaction.php'; * Base class for account settings actions * * @category Settings - * @package Laconica + * @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/ @@ -66,7 +66,7 @@ class AccountSettingsAction extends SettingsAction * A widget for showing the settings group local nav menu * * @category Widget - * @package Laconica + * @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/ diff --git a/lib/action.php b/lib/action.php index 1bdc4daea7..2251c8aad2 100644 --- a/lib/action.php +++ b/lib/action.php @@ -1,6 +1,6 @@ . * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @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/ */ @@ -45,7 +45,7 @@ require_once INSTALLDIR.'/lib/htmloutputter.php'; * model classes to read and write to the database; and doing ouput. * * @category Output - * @package Laconica + * @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 @@ -192,14 +192,14 @@ class Action extends HTMLOutputter // lawsuit { if (Event::handle('StartShowStyles', array($this))) { - if (Event::handle('StartShowLaconicaStyles', array($this))) { + if (Event::handle('StartShowStatusNetStyles', 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('EndShowLaconicaStyles', array($this)); + Event::handle('EndShowStatusNetStyles', array($this)); } if (Event::handle('StartShowUAStyles', array($this))) { @@ -249,13 +249,13 @@ class Action extends HTMLOutputter // lawsuit $this->script('js/jquery.joverlay.min.js'); Event::handle('EndShowJQueryScripts', array($this)); } - if (Event::handle('StartShowLaconicaScripts', array($this))) { + if (Event::handle('StartShowStatusNetScripts', 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('EndShowLaconicaScripts', array($this)); + Event::handle('EndShowStatusNetScripts', array($this)); } Event::handle('EndShowScripts', array($this)); } @@ -742,26 +742,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_laconica_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://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); $output = common_markup_to_html($instr); $this->raw($output); $this->elementEnd('dd'); @@ -775,7 +775,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'), _('StatusNet software 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..4a33be27f8 100644 --- a/lib/arraywrapper.php +++ b/lib/arraywrapper.php @@ -1,7 +1,7 @@ . * * @category UI - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @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/ */ @@ -41,7 +41,7 @@ if (!defined('LACONICA')) { * data for e.g. the profile page. * * @category UI - * @package Laconica + * @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/ @@ -127,7 +127,7 @@ class AttachmentList extends Widget * author info (since that's implicit by the data in the page). * * @category UI - * @package Laconica + * @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/ diff --git a/lib/attachmentnoticesection.php b/lib/attachmentnoticesection.php index eb31763764..f3a85afc56 100644 --- a/lib/attachmentnoticesection.php +++ b/lib/attachmentnoticesection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -37,7 +37,7 @@ if (!defined('LACONICA')) { * These are the widgets that show interesting data about a person * group, or site. * * @category Widget - * @package Laconica + * @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/ diff --git a/lib/attachmenttagcloudsection.php b/lib/attachmenttagcloudsection.php index 50bfceccb0..9a4d5b9a47 100644 --- a/lib/attachmenttagcloudsection.php +++ b/lib/attachmenttagcloudsection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -35,7 +35,7 @@ if (!defined('LACONICA')) { * Attachment tag cloud section * * @category Widget - * @package Laconica + * @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/ diff --git a/lib/blockform.php b/lib/blockform.php index af766b8237..c06efedfdd 100644 --- a/lib/blockform.php +++ b/lib/blockform.php @@ -1,6 +1,6 @@ . * * @category Form - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/form.php'; * Form for blocking a user * * @category Form - * @package Laconica + * @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 diff --git a/lib/channel.php b/lib/channel.php index 38c1d4d67f..cb35e5ddb6 100644 --- a/lib/channel.php +++ b/lib/channel.php @@ -1,7 +1,7 @@ * @author Zach Copley * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -39,7 +39,7 @@ require_once INSTALLDIR.'/lib/error.php'; * Class for displaying HTTP client errors * * @category Action - * @package Laconica + * @package StatusNet * @author Zach Copley * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ diff --git a/lib/clientexception.php b/lib/clientexception.php index 3020d7f506..cab8dd513b 100644 --- a/lib/clientexception.php +++ b/lib/clientexception.php @@ -1,6 +1,6 @@ . * * @category Exception - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -37,7 +37,7 @@ if (!defined('LACONICA')) { * Subclass of PHP Exception for user errors. * * @category Exception - * @package Laconica + * @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/ diff --git a/lib/command.php b/lib/command.php index 4e2280bc80..8d8834ded8 100644 --- a/lib/command.php +++ b/lib/command.php @@ -1,7 +1,7 @@ - array('name' => 'Just another Laconica microblog', + array('name' => 'Just another StatusNet microblog', 'server' => $_server, 'theme' => 'default', 'path' => $_path, @@ -198,7 +198,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, diff --git a/lib/connectsettingsaction.php b/lib/connectsettingsaction.php index 02c468a359..47504b0ea2 100644 --- a/lib/connectsettingsaction.php +++ b/lib/connectsettingsaction.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -37,7 +37,7 @@ require_once INSTALLDIR.'/lib/settingsaction.php'; * Base class for connection settings actions * * @category Settings - * @package Laconica + * @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/ @@ -66,7 +66,7 @@ class ConnectSettingsAction extends SettingsAction * A widget for showing the connect group local nav menu * * @category Widget - * @package Laconica + * @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/ diff --git a/lib/currentuserdesignaction.php b/lib/currentuserdesignaction.php index 52516b624a..8323eeccb7 100644 --- a/lib/currentuserdesignaction.php +++ b/lib/currentuserdesignaction.php @@ -1,6 +1,6 @@ . * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * design. This superclass returns that design. * * @category Action - * @package Laconica + * @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/ diff --git a/lib/daemon.php b/lib/daemon.php index 231f5414e9..4055d15cb2 100644 --- a/lib/daemon.php +++ b/lib/daemon.php @@ -1,7 +1,7 @@ * @author Zach Copley * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/servererroraction.php'; * to the DB, so we don't trigger it again. * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ diff --git a/lib/dbqueuemanager.php b/lib/dbqueuemanager.php index 19aa9f3aeb..0e88c4de1f 100644 --- a/lib/dbqueuemanager.php +++ b/lib/dbqueuemanager.php @@ -1,6 +1,6 @@ . * * @category QueueManager - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @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/ */ diff --git a/lib/deleteaction.php b/lib/deleteaction.php index 91c6487a98..f444ed61e0 100644 --- a/lib/deleteaction.php +++ b/lib/deleteaction.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @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/ */ diff --git a/lib/designsettings.php b/lib/designsettings.php index b86265971c..62ec8c92cb 100644 --- a/lib/designsettings.php +++ b/lib/designsettings.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica + * @package StatusNet * @author Sarven Capadisli * @author Zach Copley - * @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/ */ @@ -42,7 +42,7 @@ require_once INSTALLDIR . '/lib/webcolor.php'; * background images, and fetching a default design * * @category Settings - * @package Laconica + * @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 diff --git a/lib/disfavorform.php b/lib/disfavorform.php index 45a9ddb1d4..c3780b0df2 100644 --- a/lib/disfavorform.php +++ b/lib/disfavorform.php @@ -1,6 +1,6 @@ . * * @category Form - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/form.php'; * Form for disfavoring a notice * * @category Form - * @package Laconica + * @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 diff --git a/lib/error.php b/lib/error.php index 3127c83feb..410a9da3f8 100644 --- a/lib/error.php +++ b/lib/error.php @@ -6,14 +6,14 @@ * PHP version 5 * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Zach Copley * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -37,7 +37,7 @@ if (!defined('LACONICA')) { * Base class for displaying HTTP errors * * @category Action - * @package Laconica + * @package StatusNet * @author Zach Copley * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ diff --git a/lib/event.php b/lib/event.php index 4ccee17e66..31bfd0e5b8 100644 --- a/lib/event.php +++ b/lib/event.php @@ -1,6 +1,6 @@ . * * @category Event - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -34,10 +34,10 @@ if (!defined('LACONICA')) { /** * 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 + * @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/ @@ -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 289e702c69..e9e6aec516 100644 --- a/lib/facebookaction.php +++ b/lib/facebookaction.php @@ -1,6 +1,6 @@ . * * @category Faceboook - * @package Laconica + * @package StatusNet * @author Zach Copley - * @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/ */ diff --git a/lib/facebookutil.php b/lib/facebookutil.php index e31a71f5eb..e832fa50f7 100644 --- a/lib/facebookutil.php +++ b/lib/facebookutil.php @@ -1,7 +1,7 @@ . * * @category Form - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/form.php'; * Form for favoring a notice * * @category Form - * @package Laconica + * @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 diff --git a/lib/featureduserssection.php b/lib/featureduserssection.php index 4b9238d471..f8bdb0b7ee 100644 --- a/lib/featureduserssection.php +++ b/lib/featureduserssection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -35,7 +35,7 @@ if (!defined('LACONICA')) { * Section for featured users * * @category Widget - * @package Laconica + * @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/ diff --git a/lib/feed.php b/lib/feed.php index 466926844e..f3a85ee5fd 100644 --- a/lib/feed.php +++ b/lib/feed.php @@ -1,6 +1,6 @@ . * * @category Feed - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -37,7 +37,7 @@ if (!defined('LACONICA')) { * This structure is a helpful container for shipping around information about syndication feeds. * * @category Feed - * @package Laconica + * @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 diff --git a/lib/feedlist.php b/lib/feedlist.php index 927e43c330..d0173ca290 100644 --- a/lib/feedlist.php +++ b/lib/feedlist.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @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/ */ @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * Typically used for Action::showExportList() * * @category Widget - * @package Laconica + * @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 diff --git a/lib/form.php b/lib/form.php index f872aef0b5..928c64bff4 100644 --- a/lib/form.php +++ b/lib/form.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -41,7 +41,7 @@ require_once INSTALLDIR.'/lib/widget.php'; * lets us abstract out the basic features of the form. * * @category Widget - * @package Laconica + * @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 diff --git a/lib/galleryaction.php b/lib/galleryaction.php index b389fc00f8..8454717040 100644 --- a/lib/galleryaction.php +++ b/lib/galleryaction.php @@ -1,7 +1,7 @@ . * * @category Action - * @package Laconica + * @package StatusNet * @author Zach Copley - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * This superclass returns that design. * * @category Action - * @package Laconica + * @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/lib/groupeditform.php b/lib/groupeditform.php index fbb39129bc..1fe85ac300 100644 --- a/lib/groupeditform.php +++ b/lib/groupeditform.php @@ -1,6 +1,6 @@ . * * @category Form - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/form.php'; * Form for editing a group * * @category Form - * @package Laconica + * @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 diff --git a/lib/grouplist.php b/lib/grouplist.php index 1ded5160bd..8b208dcd05 100644 --- a/lib/grouplist.php +++ b/lib/grouplist.php @@ -1,7 +1,7 @@ . * * @category Public - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -40,7 +40,7 @@ define('GROUPS_PER_PAGE', 20); * Widget to show a list of groups * * @category Public - * @package Laconica + * @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/ diff --git a/lib/groupminilist.php b/lib/groupminilist.php index ae2d237f1d..553daeea6f 100644 --- a/lib/groupminilist.php +++ b/lib/groupminilist.php @@ -1,6 +1,6 @@ . * * @category Public - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -39,7 +39,7 @@ define('GROUPS_PER_MINILIST', 27); * Widget to show a list of groups, good for sidebar * * @category Public - * @package Laconica + * @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/ diff --git a/lib/groupnav.php b/lib/groupnav.php index 9e530c447c..595dcd6298 100644 --- a/lib/groupnav.php +++ b/lib/groupnav.php @@ -1,6 +1,6 @@ . * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @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/ */ @@ -40,7 +40,7 @@ require_once INSTALLDIR.'/lib/widget.php'; * Shows a group of tabs for a particular user group * * @category Output - * @package Laconica + * @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 diff --git a/lib/groupsbymemberssection.php b/lib/groupsbymemberssection.php index ad4884bf8b..6126be49a8 100644 --- a/lib/groupsbymemberssection.php +++ b/lib/groupsbymemberssection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -35,7 +35,7 @@ if (!defined('LACONICA')) { * Groups with the most members section * * @category Widget - * @package Laconica + * @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/ diff --git a/lib/groupsbypostssection.php b/lib/groupsbypostssection.php index dc7925d5e5..1fdb6ed7b7 100644 --- a/lib/groupsbypostssection.php +++ b/lib/groupsbypostssection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -35,7 +35,7 @@ if (!defined('LACONICA')) { * Groups with the most posts section * * @category Widget - * @package Laconica + * @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/ diff --git a/lib/groupsection.php b/lib/groupsection.php index c192994937..da3b4173d0 100644 --- a/lib/groupsection.php +++ b/lib/groupsection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -40,7 +40,7 @@ define('GROUPS_PER_SECTION', 6); * group, or site. * * @category Widget - * @package Laconica + * @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/ diff --git a/lib/grouptagcloudsection.php b/lib/grouptagcloudsection.php index 0e0cbdd63d..aba7920882 100644 --- a/lib/grouptagcloudsection.php +++ b/lib/grouptagcloudsection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -35,7 +35,7 @@ if (!defined('LACONICA')) { * Group tag cloud section * * @category Widget - * @package Laconica + * @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/ diff --git a/lib/htmloutputter.php b/lib/htmloutputter.php index 683a5e0b71..1710db21ac 100644 --- a/lib/htmloutputter.php +++ b/lib/htmloutputter.php @@ -1,6 +1,6 @@ . * * @category Output - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @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/ */ @@ -47,7 +47,7 @@ define('PAGE_TYPE_PREFS', * HTML-creation class. * * @category Output - * @package Laconica + * @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 diff --git a/lib/imagefile.php b/lib/imagefile.php index 52e4c4b227..e4114cfe3f 100644 --- a/lib/imagefile.php +++ b/lib/imagefile.php @@ -1,6 +1,6 @@ . * * @category Image - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Zach Copley - * @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/ */ @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * Makes it slightly easier to accept an image file from upload. * * @category Image - * @package Laconica + * @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 diff --git a/lib/jabber.php b/lib/jabber.php index e15076160f..8b6b6322b6 100644 --- a/lib/jabber.php +++ b/lib/jabber.php @@ -1,6 +1,6 @@ . * * @category Network - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -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..181b19acb5 100644 --- a/lib/joinform.php +++ b/lib/joinform.php @@ -1,6 +1,6 @@ . * * @category Form - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/form.php'; * Form for joining a group * * @category Form - * @package Laconica + * @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 diff --git a/lib/jsonsearchresultslist.php b/lib/jsonsearchresultslist.php index 34a3d530e8..2a7d087e9d 100644 --- a/lib/jsonsearchresultslist.php +++ b/lib/jsonsearchresultslist.php @@ -1,6 +1,6 @@ . * * @category Search - * @package Laconica + * @package StatusNet * @author Zach Copley - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -35,7 +35,7 @@ if (!defined('LACONICA')) { * widget-like class for showing JSON search results * * @category Search - * @package Laconica + * @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/ @@ -147,7 +147,7 @@ class JSONSearchResultsList * widget for displaying a single JSON search result * * @category UI - * @package Laconica + * @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/lib/language.php b/lib/language.php index 9ad2d31bd4..5ae4c00c49 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 diff --git a/lib/leaveform.php b/lib/leaveform.php index 696559a25e..778af3061b 100644 --- a/lib/leaveform.php +++ b/lib/leaveform.php @@ -1,6 +1,6 @@ . * * @category Form - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/form.php'; * Form for leaving a group * * @category Form - * @package Laconica + * @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 diff --git a/lib/logingroupnav.php b/lib/logingroupnav.php index 2fb1828d6b..c92707fe8a 100644 --- a/lib/logingroupnav.php +++ b/lib/logingroupnav.php @@ -1,6 +1,6 @@ . * * @category Menu - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -37,7 +37,7 @@ require_once INSTALLDIR.'/lib/widget.php'; * Menu for login group of actions * * @category Output - * @package Laconica + * @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/ diff --git a/lib/mail.php b/lib/mail.php index 33d1eb7549..a26ef05964 100644 --- a/lib/mail.php +++ b/lib/mail.php @@ -1,6 +1,6 @@ . * * @category Mail - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Zach Copley * @author Robin Millette * @author Sarven Capadisli - * @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/ */ diff --git a/lib/mailbox.php b/lib/mailbox.php index f1f6e98c19..0194b76f42 100644 --- a/lib/mailbox.php +++ b/lib/mailbox.php @@ -1,6 +1,6 @@ . * * @category Message - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -37,7 +37,7 @@ define('MESSAGES_PER_PAGE', 20); * common superclass for direct messages inbox and outbox * * @category Message - * @package Laconica + * @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/ diff --git a/lib/messageform.php b/lib/messageform.php index 8ea2b36c27..483d961f63 100644 --- a/lib/messageform.php +++ b/lib/messageform.php @@ -1,6 +1,6 @@ . * * @category Form - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/form.php'; * Form for posting a direct message * * @category Form - * @package Laconica + * @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 diff --git a/lib/microid.php b/lib/microid.php index 806b7ee7da..83746efee5 100644 --- a/lib/microid.php +++ b/lib/microid.php @@ -1,6 +1,6 @@ . * * @category ID - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -35,7 +35,7 @@ if (!defined('LACONICA')) { * A class for microids * * @category ID - * @package Laconica + * @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/ diff --git a/lib/noticeform.php b/lib/noticeform.php index 4e2a2edd61..d5826f306f 100644 --- a/lib/noticeform.php +++ b/lib/noticeform.php @@ -1,6 +1,6 @@ . * * @category Form - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -40,7 +40,7 @@ require_once INSTALLDIR.'/lib/form.php'; * Frequently-used form for posting a notice * * @category Form - * @package Laconica + * @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 diff --git a/lib/noticelist.php b/lib/noticelist.php index 5429d943f1..64d8cccbaf 100644 --- a/lib/noticelist.php +++ b/lib/noticelist.php @@ -1,6 +1,6 @@ . * * @category UI - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @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/ */ @@ -45,7 +45,7 @@ require_once INSTALLDIR.'/lib/attachmentlist.php'; * data for e.g. the profile page. * * @category UI - * @package Laconica + * @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/ @@ -133,7 +133,7 @@ class NoticeList extends Widget * author info (since that's implicit by the data in the page). * * @category UI - * @package Laconica + * @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/ diff --git a/lib/noticesection.php b/lib/noticesection.php index ca14326861..7a969c2d70 100644 --- a/lib/noticesection.php +++ b/lib/noticesection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -40,7 +40,7 @@ define('NOTICES_PER_SECTION', 6); * group, or site. * * @category Widget - * @package Laconica + * @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/ diff --git a/lib/nudgeform.php b/lib/nudgeform.php index 7380462a7d..ffecce7475 100644 --- a/lib/nudgeform.php +++ b/lib/nudgeform.php @@ -1,6 +1,6 @@ . * * @category Form - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/form.php'; * Form for nudging a user * * @category Form - * @package Laconica + * @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 diff --git a/lib/oauthclient.php b/lib/oauthclient.php index b66a24be44..a2ee0878f5 100644 --- a/lib/oauthclient.php +++ b/lib/oauthclient.php @@ -1,6 +1,6 @@ . * * @category Action - * @package Laconica + * @package StatusNet * @author Zach Copley - * @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/ */ @@ -37,7 +37,7 @@ require_once 'OAuth.php'; * Exception wrapper for cURL errors * * @category Integration - * @package Laconica + * @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/ @@ -51,7 +51,7 @@ class OAuthClientCurlException extends Exception * Base class for doing OAuth calls as a consumer * * @category Integration - * @package Laconica + * @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/ @@ -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 f224c6c221..c6b15a1691 100644 --- a/lib/oauthstore.php +++ b/lib/oauthstore.php @@ -1,7 +1,7 @@ post($req->get_normalized_http_url(), $req->to_postdata(), - array('User-Agent: Laconica/' . LACONICA_VERSION)); + array('User-Agent: StatusNet/' . LACONICA_VERSION)); if ($result->status == 403) { # not authorized, don't send again common_debug('403 result, deleting subscription', __FILE__); @@ -282,7 +282,7 @@ function omb_update_profile($profile, $remote_profile, $subscription) $result = $fetcher->post($req->get_normalized_http_url(), $req->to_postdata(), - array('User-Agent: Laconica/' . LACONICA_VERSION)); + array('User-Agent: StatusNet/' . LACONICA_VERSION)); if (empty($result) || !$result) { common_debug("Unable to contact " . $req->get_normalized_http_url()); diff --git a/lib/openid.php b/lib/openid.php index 0b7633284e..3dcbb72c40 100644 --- a/lib/openid.php +++ b/lib/openid.php @@ -1,7 +1,7 @@ . * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -39,7 +39,7 @@ if (!defined('LACONICA')) { * design. * * @category Action - * @package Laconica + * @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/ diff --git a/lib/parallelizingdaemon.php b/lib/parallelizingdaemon.php index dc28b56435..8e09a3a411 100644 --- a/lib/parallelizingdaemon.php +++ b/lib/parallelizingdaemon.php @@ -1,6 +1,6 @@ . * * @category Daemon - * @package Laconica + * @package StatusNet * @author Zach Copley * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -38,7 +38,7 @@ declare(ticks = 1); * Daemon able to spawn multiple child processes to do work in parallel * * @category Daemon - * @package Laconica + * @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 diff --git a/lib/personalgroupnav.php b/lib/personalgroupnav.php index acc0336673..49513eb2fb 100644 --- a/lib/personalgroupnav.php +++ b/lib/personalgroupnav.php @@ -1,6 +1,6 @@ . * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @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/ */ @@ -44,7 +44,7 @@ require_once INSTALLDIR.'/lib/widget.php'; * model classes to read and write to the database; and doing ouput. * * @category Output - * @package Laconica + * @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 diff --git a/lib/personaltagcloudsection.php b/lib/personaltagcloudsection.php index 978153a84e..1b8d9fa2d6 100644 --- a/lib/personaltagcloudsection.php +++ b/lib/personaltagcloudsection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -35,7 +35,7 @@ if (!defined('LACONICA')) { * Personal tag cloud section * * @category Widget - * @package Laconica + * @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/ diff --git a/lib/ping.php b/lib/ping.php index d26c734175..29cb251676 100644 --- a/lib/ping.php +++ b/lib/ping.php @@ -1,7 +1,7 @@ array('method' => "POST", 'header' => "Content-Type: text/xml\r\n". - "User-Agent: Laconica/".LACONICA_VERSION."\r\n", + "User-Agent: StatusNet/".LACONICA_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/'.LACONICA_VERSION)); } else { $result = $fetcher->post($notify_url, http_build_query($args), - array('User-Agent: Laconica/'.LACONICA_VERSION)); + array('User-Agent: StatusNet/'.LACONICA_VERSION)); } if ($result->status != '200') { common_log(LOG_WARNING, diff --git a/lib/plugin.php b/lib/plugin.php index 7b2436e543..437cf03a1a 100644 --- a/lib/plugin.php +++ b/lib/plugin.php @@ -1,6 +1,6 @@ . * * @category Plugin - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -34,7 +34,7 @@ if (!defined('LACONICA')) { /** * 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,7 +45,7 @@ if (!defined('LACONICA')) { * initialize() and cleanup() methods, respectively. * * @category Plugin - * @package Laconica + * @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/ diff --git a/lib/popularnoticesection.php b/lib/popularnoticesection.php index 167a6ff8df..64abd88473 100644 --- a/lib/popularnoticesection.php +++ b/lib/popularnoticesection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * group, or site. * * @category Widget - * @package Laconica + * @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/ diff --git a/lib/profileaction.php b/lib/profileaction.php index 9e9c79c78a..19673a76db 100644 --- a/lib/profileaction.php +++ b/lib/profileaction.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @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/ */ @@ -41,7 +41,7 @@ require_once INSTALLDIR.'/lib/groupminilist.php'; * Abstracts out common code from profile and personal tabs * * @category Personal - * @package Laconica + * @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/ diff --git a/lib/profilelist.php b/lib/profilelist.php index 774538a4b6..5ee2fd4996 100644 --- a/lib/profilelist.php +++ b/lib/profilelist.php @@ -1,7 +1,7 @@ . * * @category Public - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/widget.php'; * Widget to show a list of profiles * * @category Public - * @package Laconica + * @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 diff --git a/lib/profileminilist.php b/lib/profileminilist.php index 357b4a2db4..ea0a3d042d 100644 --- a/lib/profileminilist.php +++ b/lib/profileminilist.php @@ -1,6 +1,6 @@ . * * @category Public - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -39,7 +39,7 @@ define('PROFILES_PER_MINILIST', 27); * Widget to show a list of profiles, good for sidebar * * @category Public - * @package Laconica + * @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/ diff --git a/lib/profilesection.php b/lib/profilesection.php index d463a07b08..79a7515048 100644 --- a/lib/profilesection.php +++ b/lib/profilesection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -40,7 +40,7 @@ define('PROFILES_PER_SECTION', 6); * group, or site. * * @category Widget - * @package Laconica + * @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/ diff --git a/lib/publicgroupnav.php b/lib/publicgroupnav.php index 485d25e204..d26a749093 100644 --- a/lib/publicgroupnav.php +++ b/lib/publicgroupnav.php @@ -1,6 +1,6 @@ . * * @category Menu - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -37,7 +37,7 @@ require_once INSTALLDIR.'/lib/widget.php'; * Menu for public group of actions * * @category Output - * @package Laconica + * @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 diff --git a/lib/queuehandler.php b/lib/queuehandler.php index f11e5bd90d..26582a6cf5 100644 --- a/lib/queuehandler.php +++ b/lib/queuehandler.php @@ -1,7 +1,7 @@ . * * @category QueueManager - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @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/ */ diff --git a/lib/router.php b/lib/router.php index 04c6dd4140..fd9780b22d 100644 --- a/lib/router.php +++ b/lib/router.php @@ -1,6 +1,6 @@ . * * @category URL - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -39,7 +39,7 @@ require_once 'Net/URL/Mapper.php'; * Cheap wrapper around Net_URL_Mapper * * @category URL - * @package Laconica + * @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/ diff --git a/lib/rssaction.php b/lib/rssaction.php index 0aca965664..21d85144d0 100644 --- a/lib/rssaction.php +++ b/lib/rssaction.php @@ -1,6 +1,6 @@ . * * @category Mail - * @package Laconica + * @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/ */ @@ -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(); diff --git a/lib/search_engines.php b/lib/search_engines.php index 7c26363fc5..effa1e336c 100644 --- a/lib/search_engines.php +++ b/lib/search_engines.php @@ -1,7 +1,7 @@ * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/searchgroupnav.php'; * Base search action class. * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 diff --git a/lib/searchgroupnav.php b/lib/searchgroupnav.php index 3ba3f9cd9a..f47b9a2bc4 100644 --- a/lib/searchgroupnav.php +++ b/lib/searchgroupnav.php @@ -1,6 +1,6 @@ . * * @category Menu - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -37,7 +37,7 @@ require_once INSTALLDIR.'/lib/widget.php'; * Menu for public group of actions * * @category Output - * @package Laconica + * @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/ diff --git a/lib/section.php b/lib/section.php index d145750862..de00e82cec 100644 --- a/lib/section.php +++ b/lib/section.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -40,7 +40,7 @@ require_once INSTALLDIR.'/lib/widget.php'; * group, or site. * * @category Widget - * @package Laconica + * @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/ diff --git a/lib/servererroraction.php b/lib/servererroraction.php index c46f3228b0..57454445d2 100644 --- a/lib/servererroraction.php +++ b/lib/servererroraction.php @@ -6,14 +6,14 @@ * PHP version 5 * * @category Action - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Zach Copley * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. + * StatusNet - a 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 @@ -47,7 +47,7 @@ require_once INSTALLDIR.'/lib/error.php'; * See: http://tools.ietf.org/html/rfc2616#section-10 * * @category Action - * @package Laconica + * @package StatusNet * @author Zach Copley * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ diff --git a/lib/serverexception.php b/lib/serverexception.php index b8ed6846e7..4ce3887e49 100644 --- a/lib/serverexception.php +++ b/lib/serverexception.php @@ -1,6 +1,6 @@ . * * @category Exception - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -37,7 +37,7 @@ if (!defined('LACONICA')) { * Subclass of PHP Exception for server errors. The user typically can't fix these. * * @category Exception - * @package Laconica + * @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/ diff --git a/lib/settingsaction.php b/lib/settingsaction.php index 17d3a2f64d..5118e588ec 100644 --- a/lib/settingsaction.php +++ b/lib/settingsaction.php @@ -1,6 +1,6 @@ . * * @category Settings - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -35,7 +35,7 @@ if (!defined('LACONICA')) { * Base class for settings group of actions * * @category Settings - * @package Laconica + * @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/ diff --git a/lib/snapshot.php b/lib/snapshot.php index 4b05b502db..e2b86a52fd 100644 --- a/lib/snapshot.php +++ b/lib/snapshot.php @@ -1,6 +1,6 @@ . * * @category Stats - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -42,7 +42,7 @@ if (!defined('LACONICA')) { * Web site. * * @category Stats - * @package Laconica + * @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/ @@ -181,7 +181,7 @@ class Snapshot 'header' => 'Content-type: '. 'application/x-www-form-urlencoded', 'content' => $postdata, - 'user_agent' => 'Laconica/'.LACONICA_VERSION + 'user_agent' => 'StatusNet/'.LACONICA_VERSION ) ); diff --git a/lib/stompqueuemanager.php b/lib/stompqueuemanager.php index 46baeb5c73..34643114c2 100644 --- a/lib/stompqueuemanager.php +++ b/lib/stompqueuemanager.php @@ -1,6 +1,6 @@ . * * @category QueueManager - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @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/ */ diff --git a/lib/subgroupnav.php b/lib/subgroupnav.php index 5209919232..2ff003d072 100644 --- a/lib/subgroupnav.php +++ b/lib/subgroupnav.php @@ -1,6 +1,6 @@ . * * @category Subs - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -37,7 +37,7 @@ require_once INSTALLDIR.'/lib/widget.php'; * Local nav menu for subscriptions, subscribers * * @category Subs - * @package Laconica + * @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/ diff --git a/lib/subpeopletagcloudsection.php b/lib/subpeopletagcloudsection.php index 9f6948dc92..c224c9c19a 100644 --- a/lib/subpeopletagcloudsection.php +++ b/lib/subpeopletagcloudsection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -35,7 +35,7 @@ if (!defined('LACONICA')) { * Personal tag cloud section * * @category Widget - * @package Laconica + * @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/ diff --git a/lib/subs.php b/lib/subs.php index e760237527..e1ee397ccf 100644 --- a/lib/subs.php +++ b/lib/subs.php @@ -1,7 +1,7 @@ . * * @category Form - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/form.php'; * Form for subscribing to a user * * @category Form - * @package Laconica + * @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 diff --git a/lib/subscriberspeopleselftagcloudsection.php b/lib/subscriberspeopleselftagcloudsection.php index 115241a53f..55c97111d4 100644 --- a/lib/subscriberspeopleselftagcloudsection.php +++ b/lib/subscriberspeopleselftagcloudsection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -35,7 +35,7 @@ if (!defined('LACONICA')) { * Personal tag cloud section * * @category Widget - * @package Laconica + * @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/ diff --git a/lib/subscriberspeopletagcloudsection.php b/lib/subscriberspeopletagcloudsection.php index 4dafbc1c7d..ae6d6803ef 100644 --- a/lib/subscriberspeopletagcloudsection.php +++ b/lib/subscriberspeopletagcloudsection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -35,7 +35,7 @@ if (!defined('LACONICA')) { * Personal tag cloud section * * @category Widget - * @package Laconica + * @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/ diff --git a/lib/subscriptionlist.php b/lib/subscriptionlist.php index 23da64cca8..9d27519ace 100644 --- a/lib/subscriptionlist.php +++ b/lib/subscriptionlist.php @@ -1,7 +1,7 @@ . * * @category Public - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @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/ */ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/profilelist.php'; * Widget to show a list of subscriptions * * @category Public - * @package Laconica + * @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 diff --git a/lib/subscriptionspeopleselftagcloudsection.php b/lib/subscriptionspeopleselftagcloudsection.php index 3896294d28..7efa6e157c 100644 --- a/lib/subscriptionspeopleselftagcloudsection.php +++ b/lib/subscriptionspeopleselftagcloudsection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -35,7 +35,7 @@ if (!defined('LACONICA')) { * Personal tag cloud section * * @category Widget - * @package Laconica + * @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/ diff --git a/lib/subscriptionspeopletagcloudsection.php b/lib/subscriptionspeopletagcloudsection.php index f9c8672e36..7ad6e79a48 100644 --- a/lib/subscriptionspeopletagcloudsection.php +++ b/lib/subscriptionspeopletagcloudsection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -35,7 +35,7 @@ if (!defined('LACONICA')) { * Personal tag cloud section * * @category Widget - * @package Laconica + * @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/ diff --git a/lib/tagcloudsection.php b/lib/tagcloudsection.php index 62f7d89612..57260efac7 100644 --- a/lib/tagcloudsection.php +++ b/lib/tagcloudsection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -40,7 +40,7 @@ define('TAGS_PER_SECTION', 20); * group, or site. * * @category Widget - * @package Laconica + * @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/ diff --git a/lib/theme.php b/lib/theme.php index 2fe6ab69b7..5bd3cb69b8 100644 --- a/lib/theme.php +++ b/lib/theme.php @@ -1,6 +1,6 @@ . * * @category Paths - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @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/ */ diff --git a/lib/topposterssection.php b/lib/topposterssection.php index 1a2ce00140..604ffb2e8a 100644 --- a/lib/topposterssection.php +++ b/lib/topposterssection.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * group, or site. * * @category Widget - * @package Laconica + * @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/ diff --git a/lib/twitter.php b/lib/twitter.php index 2a8f6d7d88..cb86d44d05 100644 --- a/lib/twitter.php +++ b/lib/twitter.php @@ -1,7 +1,7 @@ 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; diff --git a/lib/twitteroauthclient.php b/lib/twitteroauthclient.php index b7dc4a80c3..12a4068be7 100644 --- a/lib/twitteroauthclient.php +++ b/lib/twitteroauthclient.php @@ -1,6 +1,6 @@ . * * @category Integration - * @package Laconica + * @package StatusNet * @author Zach Copley - * @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/ */ @@ -35,7 +35,7 @@ if (!defined('LACONICA')) { * Class for talking to the Twitter API with OAuth. * * @category Integration - * @package Laconica + * @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/lib/unblockform.php b/lib/unblockform.php index 6a8831b291..1b9a889601 100644 --- a/lib/unblockform.php +++ b/lib/unblockform.php @@ -1,6 +1,6 @@ . * * @category Form - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/form.php'; * Form for unblocking a user * * @category Form - * @package Laconica + * @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 diff --git a/lib/unqueuemanager.php b/lib/unqueuemanager.php index a10ca339a7..ddfe6c0859 100644 --- a/lib/unqueuemanager.php +++ b/lib/unqueuemanager.php @@ -1,6 +1,6 @@ . * * @category QueueManager - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @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/ */ diff --git a/lib/unsubscribeform.php b/lib/unsubscribeform.php index ce91a13407..2fe06752e7 100644 --- a/lib/unsubscribeform.php +++ b/lib/unsubscribeform.php @@ -1,6 +1,6 @@ . * * @category Form - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/form.php'; * Form for unsubscribing from a user * * @category Form - * @package Laconica + * @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 diff --git a/lib/util.php b/lib/util.php index 7c1e219138..9327185eab 100644 --- a/lib/util.php +++ b/lib/util.php @@ -1,7 +1,7 @@ . * * @category Personal - * @package Laconica + * @package StatusNet * @author Zach Copley - * @copyright 2009 Control Yourself, Inc. + * @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/ */ diff --git a/lib/widget.php b/lib/widget.php index c70505c44d..8a132fc522 100644 --- a/lib/widget.php +++ b/lib/widget.php @@ -1,6 +1,6 @@ . * * @category Widget - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -40,7 +40,7 @@ if (!defined('LACONICA')) { * lists, notice lists, navigation menus (tabsets) and common forms. * * @category Widget - * @package Laconica + * @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 diff --git a/lib/xmloutputter.php b/lib/xmloutputter.php index 64935da408..2536337518 100644 --- a/lib/xmloutputter.php +++ b/lib/xmloutputter.php @@ -1,6 +1,6 @@ . * * @category Output - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @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/ */ @@ -40,7 +40,7 @@ if (!defined('LACONICA')) { * an element. * * @category Output - * @package Laconica + * @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 diff --git a/lib/xmlstringer.php b/lib/xmlstringer.php index 951b13b676..1e14ec60f1 100644 --- a/lib/xmlstringer.php +++ b/lib/xmlstringer.php @@ -1,6 +1,6 @@ . * * @category Output - * @package Laconica + * @package StatusNet * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. + * @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/ */ @@ -35,7 +35,7 @@ if (!defined('LACONICA')) { * Create in-memory XML * * @category Output - * @package Laconica + * @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/ diff --git a/lib/xmppqueuehandler.php b/lib/xmppqueuehandler.php index 77d476c30e..ce19c48acc 100644 --- a/lib/xmppqueuehandler.php +++ b/lib/xmppqueuehandler.php @@ -1,7 +1,7 @@ -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..30bca77da0 100755 --- a/scripts/getpiddir.php +++ b/scripts/getpiddir.php @@ -1,8 +1,8 @@ #!/usr/bin/env php * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 diff --git a/scripts/triminboxes.php b/scripts/triminboxes.php index 27e200fef3..9ab266c377 100644 --- a/scripts/triminboxes.php +++ b/scripts/triminboxes.php @@ -1,8 +1,8 @@ #!/usr/bin/env php * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 @@ -185,7 +185,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')); @@ -478,7 +478,7 @@ class TwitterStatusFetcher extends ParallelizingDaemon default: // Note: Twitter's big avatars are a different size than - // Laconica's (Laconica's = 96) + // StatusNet's (Laconica's = 96) $avatar->width = 73; $avatar->height = 73; diff --git a/scripts/uncache_users.php b/scripts/uncache_users.php index b0b576eb44..7a561ec13f 100644 --- a/scripts/uncache_users.php +++ b/scripts/uncache_users.php @@ -1,8 +1,8 @@ #!/usr/bin/env php Date: Tue, 25 Aug 2009 18:14:12 -0400 Subject: [PATCH 039/134] a distributed -> the distributed --- actions/accesstoken.php | 2 +- actions/all.php | 2 +- actions/allrss.php | 2 +- actions/api.php | 2 +- actions/avatarbynickname.php | 2 +- actions/block.php | 2 +- actions/conversation.php | 2 +- actions/disfavor.php | 2 +- actions/doc.php | 2 +- actions/facebookhome.php | 2 +- actions/facebookinvite.php | 2 +- actions/facebooklogin.php | 2 +- actions/facebookremove.php | 2 +- actions/facebooksettings.php | 2 +- actions/favor.php | 2 +- actions/favoritesrss.php | 2 +- actions/file.php | 2 +- actions/finishopenidlogin.php | 2 +- actions/finishremotesubscribe.php | 2 +- actions/foaf.php | 2 +- actions/groupblock.php | 2 +- actions/groupsearch.php | 2 +- actions/groupunblock.php | 2 +- actions/invite.php | 2 +- actions/logout.php | 2 +- actions/makeadmin.php | 2 +- actions/microsummary.php | 2 +- actions/noticesearch.php | 2 +- actions/noticesearchrss.php | 2 +- actions/nudge.php | 2 +- actions/openidlogin.php | 2 +- actions/opensearch.php | 2 +- actions/peoplesearch.php | 2 +- actions/postnotice.php | 2 +- actions/publicrss.php | 2 +- actions/publicxrds.php | 2 +- actions/recoverpassword.php | 2 +- actions/remotesubscribe.php | 2 +- actions/repliesrss.php | 2 +- actions/requesttoken.php | 2 +- actions/subedit.php | 2 +- actions/subscribe.php | 2 +- actions/sup.php | 2 +- actions/tag.php | 2 +- actions/tagother.php | 2 +- actions/tagrss.php | 2 +- actions/twitapiaccount.php | 2 +- actions/twitapiblocks.php | 2 +- actions/twitapidirect_messages.php | 2 +- actions/twitapifavorites.php | 2 +- actions/twitapifriendships.php | 2 +- actions/twitapihelp.php | 2 +- actions/twitapinotifications.php | 2 +- actions/twitapistatuses.php | 2 +- actions/twitapiusers.php | 2 +- actions/unblock.php | 2 +- actions/unsubscribe.php | 2 +- actions/updateprofile.php | 2 +- actions/userauthorization.php | 2 +- actions/userbyid.php | 2 +- actions/userrss.php | 2 +- actions/xrds.php | 2 +- classes/File.php | 2 +- classes/File_oembed.php | 2 +- classes/File_redirection.php | 2 +- classes/File_thumbnail.php | 2 +- classes/File_to_post.php | 2 +- classes/Group_alias.php | 2 +- classes/Group_block.php | 2 +- classes/Memcached_DataObject.php | 2 +- classes/Notice.php | 2 +- classes/Notice_inbox.php | 2 +- classes/Notice_tag.php | 2 +- classes/Profile.php | 2 +- classes/Profile_block.php | 2 +- classes/Remote_profile.php | 2 +- classes/Session.php | 2 +- classes/Status_network.php | 2 +- classes/Subscription.php | 2 +- classes/User.php | 2 +- index.php | 2 +- install.php | 2 +- lib/Shorturl_api.php | 2 +- lib/arraywrapper.php | 2 +- lib/channel.php | 2 +- lib/clienterroraction.php | 2 +- lib/command.php | 2 +- lib/commandinterpreter.php | 2 +- lib/common.php | 2 +- lib/daemon.php | 2 +- lib/dberroraction.php | 2 +- lib/error.php | 2 +- lib/facebookutil.php | 2 +- lib/galleryaction.php | 2 +- lib/oauthstore.php | 2 +- lib/omb.php | 2 +- lib/openid.php | 2 +- lib/ping.php | 2 +- lib/queuehandler.php | 2 +- lib/search_engines.php | 2 +- lib/searchaction.php | 2 +- lib/servererroraction.php | 2 +- lib/subs.php | 2 +- lib/twitter.php | 2 +- lib/twitterapi.php | 2 +- lib/util.php | 2 +- lib/xmppqueuehandler.php | 2 +- scripts/allsites.php | 2 +- scripts/createsim.php | 2 +- scripts/decache.php | 2 +- scripts/enjitqueuehandler.php | 2 +- scripts/facebookqueuehandler.php | 2 +- scripts/fixup_conversations.php | 2 +- scripts/fixup_hashtags.php | 2 +- scripts/fixup_inboxes.php | 2 +- scripts/fixup_notices_rendered.php | 2 +- scripts/fixup_replies.php | 2 +- scripts/fixup_utf8.php | 2 +- scripts/getpiddir.php | 2 +- scripts/getvaliddaemons.php | 2 +- scripts/inbox_users.php | 2 +- scripts/jabberqueuehandler.php | 2 +- scripts/maildaemon.php | 2 +- scripts/ombqueuehandler.php | 2 +- scripts/pingqueuehandler.php | 2 +- scripts/publicqueuehandler.php | 2 +- scripts/reportsnapshot.php | 2 +- scripts/sessiongc.php | 2 +- scripts/setpassword.php | 2 +- scripts/showcache.php | 2 +- scripts/sitemap.php | 2 +- scripts/smsqueuehandler.php | 2 +- scripts/synctwitterfriends.php | 2 +- scripts/triminboxes.php | 2 +- scripts/twitterqueuehandler.php | 2 +- scripts/twitterstatusfetcher.php | 2 +- scripts/uncache_users.php | 2 +- scripts/update_translations.php | 2 +- scripts/xmppconfirmhandler.php | 2 +- scripts/xmppdaemon.php | 2 +- 140 files changed, 140 insertions(+), 140 deletions(-) diff --git a/actions/accesstoken.php b/actions/accesstoken.php index c008854e9c..a3684b229a 100644 --- a/actions/accesstoken.php +++ b/actions/accesstoken.php @@ -11,7 +11,7 @@ * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ * - * StatusNet - a distributed open-source microblogging tool + * 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 diff --git a/actions/all.php b/actions/all.php index b4ef8d189a..5a26efa288 100644 --- a/actions/all.php +++ b/actions/all.php @@ -1,6 +1,6 @@ Date: Tue, 25 Aug 2009 18:16:46 -0400 Subject: [PATCH 040/134] change laconi.ca to status.net --- actions/accesstoken.php | 4 ++-- actions/allrss.php | 4 ++-- actions/attachment.php | 4 ++-- actions/attachment_ajax.php | 4 ++-- actions/attachment_thumbnail.php | 4 ++-- actions/avatarbynickname.php | 4 ++-- actions/avatarsettings.php | 4 ++-- actions/block.php | 4 ++-- actions/blockedfromgroup.php | 6 +++--- actions/confirmaddress.php | 4 ++-- actions/conversation.php | 8 ++++---- actions/deletenotice.php | 2 +- actions/disfavor.php | 4 ++-- actions/doc.php | 4 ++-- actions/editgroup.php | 4 ++-- actions/emailsettings.php | 4 ++-- actions/favor.php | 4 ++-- actions/favorited.php | 4 ++-- actions/favoritesrss.php | 4 ++-- actions/featured.php | 4 ++-- actions/finishaddopenid.php | 4 ++-- actions/groupblock.php | 4 ++-- actions/groupbyid.php | 4 ++-- actions/groupdesignsettings.php | 4 ++-- actions/grouplogo.php | 4 ++-- actions/groupmembers.php | 8 ++++---- actions/grouprss.php | 4 ++-- actions/groups.php | 4 ++-- actions/groupsearch.php | 4 ++-- actions/groupunblock.php | 4 ++-- actions/imsettings.php | 4 ++-- actions/inbox.php | 4 ++-- actions/joingroup.php | 4 ++-- actions/leavegroup.php | 4 ++-- actions/login.php | 4 ++-- actions/logout.php | 4 ++-- actions/makeadmin.php | 4 ++-- actions/microsummary.php | 4 ++-- actions/newgroup.php | 4 ++-- actions/newmessage.php | 4 ++-- actions/newnotice.php | 4 ++-- actions/noticesearch.php | 4 ++-- actions/noticesearchrss.php | 4 ++-- actions/nudge.php | 4 ++-- actions/oembed.php | 4 ++-- actions/openidsettings.php | 4 ++-- actions/opensearch.php | 4 ++-- actions/othersettings.php | 4 ++-- actions/outbox.php | 4 ++-- actions/passwordsettings.php | 4 ++-- actions/peoplesearch.php | 6 +++--- actions/peopletag.php | 4 ++-- actions/profilesettings.php | 4 ++-- actions/public.php | 8 ++++---- actions/publicrss.php | 4 ++-- actions/publictagcloud.php | 4 ++-- actions/publicxrds.php | 4 ++-- actions/register.php | 4 ++-- actions/replies.php | 4 ++-- actions/requesttoken.php | 4 ++-- actions/showfavorites.php | 4 ++-- actions/showgroup.php | 8 ++++---- actions/showmessage.php | 4 ++-- actions/shownotice.php | 4 ++-- actions/showstream.php | 8 ++++---- actions/smssettings.php | 4 ++-- actions/subscribers.php | 4 ++-- actions/subscriptions.php | 4 ++-- actions/twitapigroups.php | 4 ++-- actions/twitapisearchatom.php | 4 ++-- actions/twitapisearchjson.php | 4 ++-- actions/twitapistatusnet.php | 4 ++-- actions/twitapitags.php | 4 ++-- actions/twitapitrends.php | 4 ++-- actions/twitterauthorization.php | 2 +- actions/twittersettings.php | 4 ++-- actions/unblock.php | 4 ++-- actions/unsubscribe.php | 4 ++-- actions/userbyid.php | 4 ++-- actions/userdesignsettings.php | 4 ++-- actions/usergroups.php | 4 ++-- actions/xrds.php | 4 ++-- lib/accountsettingsaction.php | 6 +++--- lib/action.php | 6 +++--- lib/attachmentlist.php | 6 +++--- lib/attachmentnoticesection.php | 4 ++-- lib/attachmenttagcloudsection.php | 4 ++-- lib/blockform.php | 4 ++-- lib/clienterroraction.php | 4 ++-- lib/clientexception.php | 4 ++-- lib/common.php | 2 +- lib/connectsettingsaction.php | 6 +++--- lib/currentuserdesignaction.php | 4 ++-- lib/dberroraction.php | 4 ++-- lib/dbqueuemanager.php | 2 +- lib/deleteaction.php | 2 +- lib/designsettings.php | 4 ++-- lib/disfavorform.php | 4 ++-- lib/error.php | 4 ++-- lib/event.php | 4 ++-- lib/facebookaction.php | 2 +- lib/favorform.php | 4 ++-- lib/featureduserssection.php | 4 ++-- lib/feed.php | 4 ++-- lib/feedlist.php | 4 ++-- lib/form.php | 4 ++-- lib/groupdesignaction.php | 4 ++-- lib/groupeditform.php | 4 ++-- lib/grouplist.php | 4 ++-- lib/groupminilist.php | 4 ++-- lib/groupnav.php | 4 ++-- lib/groupsbymemberssection.php | 4 ++-- lib/groupsbypostssection.php | 4 ++-- lib/groupsection.php | 4 ++-- lib/grouptagcloudsection.php | 4 ++-- lib/htmloutputter.php | 4 ++-- lib/imagefile.php | 4 ++-- lib/jabber.php | 2 +- lib/joinform.php | 4 ++-- lib/jsonsearchresultslist.php | 6 +++--- lib/language.php | 2 +- lib/leaveform.php | 4 ++-- lib/logingroupnav.php | 4 ++-- lib/mail.php | 2 +- lib/mailbox.php | 4 ++-- lib/messageform.php | 4 ++-- lib/microid.php | 4 ++-- lib/noticeform.php | 4 ++-- lib/noticelist.php | 6 +++--- lib/noticesection.php | 4 ++-- lib/nudgeform.php | 4 ++-- lib/oauthclient.php | 6 +++--- lib/ownerdesignaction.php | 4 ++-- lib/parallelizingdaemon.php | 4 ++-- lib/personalgroupnav.php | 4 ++-- lib/personaltagcloudsection.php | 4 ++-- lib/plugin.php | 4 ++-- lib/popularnoticesection.php | 4 ++-- lib/profileaction.php | 4 ++-- lib/profilelist.php | 4 ++-- lib/profileminilist.php | 4 ++-- lib/profilesection.php | 4 ++-- lib/publicgroupnav.php | 4 ++-- lib/queuemanager.php | 2 +- lib/router.php | 4 ++-- lib/rssaction.php | 4 ++-- lib/searchaction.php | 4 ++-- lib/searchgroupnav.php | 4 ++-- lib/section.php | 4 ++-- lib/servererroraction.php | 4 ++-- lib/serverexception.php | 4 ++-- lib/settingsaction.php | 4 ++-- lib/snapshot.php | 6 +++--- lib/stompqueuemanager.php | 2 +- lib/subgroupnav.php | 4 ++-- lib/subpeopletagcloudsection.php | 4 ++-- lib/subscribeform.php | 4 ++-- lib/subscriberspeopleselftagcloudsection.php | 4 ++-- lib/subscriberspeopletagcloudsection.php | 4 ++-- lib/subscriptionlist.php | 4 ++-- lib/subscriptionspeopleselftagcloudsection.php | 4 ++-- lib/subscriptionspeopletagcloudsection.php | 4 ++-- lib/tagcloudsection.php | 4 ++-- lib/theme.php | 2 +- lib/topposterssection.php | 4 ++-- lib/twitteroauthclient.php | 4 ++-- lib/unblockform.php | 4 ++-- lib/unqueuemanager.php | 2 +- lib/unsubscribeform.php | 4 ++-- lib/webcolor.php | 2 +- lib/widget.php | 4 ++-- lib/xmloutputter.php | 4 ++-- lib/xmlstringer.php | 4 ++-- scripts/synctwitterfriends.php | 2 +- scripts/twitterstatusfetcher.php | 2 +- scripts/update_translations.php | 2 +- 176 files changed, 355 insertions(+), 355 deletions(-) diff --git a/actions/accesstoken.php b/actions/accesstoken.php index a3684b229a..064c6da248 100644 --- a/actions/accesstoken.php +++ b/actions/accesstoken.php @@ -9,7 +9,7 @@ * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/omb.php'; * @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/allrss.php b/actions/allrss.php index 36db92d012..61aa5b475b 100644 --- a/actions/allrss.php +++ b/actions/allrss.php @@ -10,7 +10,7 @@ * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -45,7 +45,7 @@ require_once INSTALLDIR.'/lib/rssaction.php'; * @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/attachment.php b/actions/attachment.php index 98da3b0227..a1db8f8ba8 100644 --- a/actions/attachment.php +++ b/actions/attachment.php @@ -24,7 +24,7 @@ * @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')) { @@ -40,7 +40,7 @@ require_once INSTALLDIR.'/lib/attachmentlist.php'; * @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 a334cfefba..e4e6431ba2 100644 --- a/actions/attachment_ajax.php +++ b/actions/attachment_ajax.php @@ -24,7 +24,7 @@ * @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')) { @@ -40,7 +40,7 @@ require_once INSTALLDIR.'/actions/attachment.php'; * @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 bb450b3717..e325713226 100644 --- a/actions/attachment_thumbnail.php +++ b/actions/attachment_thumbnail.php @@ -24,7 +24,7 @@ * @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')) { @@ -40,7 +40,7 @@ require_once INSTALLDIR.'/actions/attachment.php'; * @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 3e5ab0d3be..2e1149511e 100644 --- a/actions/avatarbynickname.php +++ b/actions/avatarbynickname.php @@ -9,7 +9,7 @@ * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -40,7 +40,7 @@ if (!defined('LACONICA')) { * @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 c1b98cef38..dec4049e40 100644 --- a/actions/avatarsettings.php +++ b/actions/avatarsettings.php @@ -25,7 +25,7 @@ * @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')) { @@ -47,7 +47,7 @@ define('MAX_ORIGINAL', 480); * @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 def85c823a..d0ac7836cb 100644 --- a/actions/block.php +++ b/actions/block.php @@ -9,7 +9,7 @@ * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -40,7 +40,7 @@ if (!defined('LACONICA')) { * @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 7e521e9449..9d1beab725 100644 --- a/actions/blockedfromgroup.php +++ b/actions/blockedfromgroup.php @@ -24,7 +24,7 @@ * @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')) { @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * @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 @@ -194,7 +194,7 @@ class GroupBlockListItem extends ProfileListItem * @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 6bcc229385..dc6d4c339b 100644 --- a/actions/confirmaddress.php +++ b/actions/confirmaddress.php @@ -24,7 +24,7 @@ * @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')) { @@ -42,7 +42,7 @@ if (!defined('LACONICA')) { * @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 6c42d17b3b..7f5483ef1e 100644 --- a/actions/conversation.php +++ b/actions/conversation.php @@ -8,7 +8,7 @@ * @package StatusNet * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2009, StatusNet, Inc. @@ -43,7 +43,7 @@ require_once INSTALLDIR.'/lib/noticelist.php'; * @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 @@ -132,7 +132,7 @@ class ConversationAction extends Action * @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 @@ -253,7 +253,7 @@ class ConversationTree extends NoticeList * @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 8022cfffd8..22c3fc3b94 100644 --- a/actions/deletenotice.php +++ b/actions/deletenotice.php @@ -25,7 +25,7 @@ * @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')) { diff --git a/actions/disfavor.php b/actions/disfavor.php index 6b8f024a68..ff78f79e6c 100644 --- a/actions/disfavor.php +++ b/actions/disfavor.php @@ -10,7 +10,7 @@ * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -43,7 +43,7 @@ require_once INSTALLDIR.'/lib/favorform.php'; * @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 989070672d..bfa90e0800 100644 --- a/actions/doc.php +++ b/actions/doc.php @@ -10,7 +10,7 @@ * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -41,7 +41,7 @@ if (!defined('LACONICA')) { * @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 0d6e191d83..1c27ecefbc 100644 --- a/actions/editgroup.php +++ b/actions/editgroup.php @@ -26,7 +26,7 @@ * @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')) { @@ -43,7 +43,7 @@ if (!defined('LACONICA')) { * @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 661bd2caa4..d54d942720 100644 --- a/actions/emailsettings.php +++ b/actions/emailsettings.php @@ -25,7 +25,7 @@ * @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')) { @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/accountsettingsaction.php'; * @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/favor.php b/actions/favor.php index c5adf7a3b1..d10beb8d61 100644 --- a/actions/favor.php +++ b/actions/favor.php @@ -10,7 +10,7 @@ * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -44,7 +44,7 @@ require_once INSTALLDIR.'/lib/disfavorform.php'; * @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 e98f52b86c..2929736abc 100644 --- a/actions/favorited.php +++ b/actions/favorited.php @@ -25,7 +25,7 @@ * @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')) { @@ -46,7 +46,7 @@ require_once INSTALLDIR.'/lib/noticelist.php'; * @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 63f3e58a09..3603c6e43c 100644 --- a/actions/favoritesrss.php +++ b/actions/favoritesrss.php @@ -10,7 +10,7 @@ * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -46,7 +46,7 @@ require_once INSTALLDIR.'/lib/rssaction.php'; * @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 f11e991ffe..4211c67eae 100644 --- a/actions/featured.php +++ b/actions/featured.php @@ -25,7 +25,7 @@ * @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')) { @@ -43,7 +43,7 @@ require_once INSTALLDIR.'/lib/publicgroupnav.php'; * @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/finishaddopenid.php b/actions/finishaddopenid.php index d9255060c0..98db9eb4f3 100644 --- a/actions/finishaddopenid.php +++ b/actions/finishaddopenid.php @@ -24,7 +24,7 @@ * @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')) { @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/openid.php'; * @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/actions/groupblock.php b/actions/groupblock.php index cbd74831a0..5b3dd545ab 100644 --- a/actions/groupblock.php +++ b/actions/groupblock.php @@ -8,7 +8,7 @@ * @package StatusNet * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * @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 34e4ad15c2..9bbf8d3d2a 100644 --- a/actions/groupbyid.php +++ b/actions/groupbyid.php @@ -25,7 +25,7 @@ * @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')) { @@ -45,7 +45,7 @@ require_once INSTALLDIR.'/lib/feedlist.php'; * @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 130f60f255..973c1b8026 100644 --- a/actions/groupdesignsettings.php +++ b/actions/groupdesignsettings.php @@ -25,7 +25,7 @@ * @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')) { @@ -44,7 +44,7 @@ require_once INSTALLDIR . '/lib/designsettings.php'; * @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 c5bcdd0a33..74e8e71367 100644 --- a/actions/grouplogo.php +++ b/actions/grouplogo.php @@ -25,7 +25,7 @@ * @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')) { @@ -47,7 +47,7 @@ define('MAX_ORIGINAL', 480); * @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 cb81d2928d..7df5147589 100644 --- a/actions/groupmembers.php +++ b/actions/groupmembers.php @@ -24,7 +24,7 @@ * @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')) { @@ -41,7 +41,7 @@ require_once INSTALLDIR.'/lib/publicgroupnav.php'; * @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 @@ -224,7 +224,7 @@ class GroupMemberListItem extends ProfileListItem * @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 */ @@ -352,7 +352,7 @@ class GroupBlockForm extends Form * @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 b304dd3a5d..21e493fe55 100644 --- a/actions/grouprss.php +++ b/actions/grouprss.php @@ -25,7 +25,7 @@ * @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')) { @@ -43,7 +43,7 @@ define('MEMBERS_PER_SECTION', 27); * @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 e05908956b..e862428fce 100644 --- a/actions/groups.php +++ b/actions/groups.php @@ -25,7 +25,7 @@ * @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')) { @@ -43,7 +43,7 @@ require_once INSTALLDIR.'/lib/grouplist.php'; * @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 5976d9269d..6d49792723 100644 --- a/actions/groupsearch.php +++ b/actions/groupsearch.php @@ -9,7 +9,7 @@ * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -43,7 +43,7 @@ if (!defined('LACONICA')) { * @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 19a9e8ea39..fc79538361 100644 --- a/actions/groupunblock.php +++ b/actions/groupunblock.php @@ -8,7 +8,7 @@ * @package StatusNet * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * @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 3b43e12f77..bfad8eaf9f 100644 --- a/actions/imsettings.php +++ b/actions/imsettings.php @@ -24,7 +24,7 @@ * @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')) { @@ -41,7 +41,7 @@ require_once INSTALLDIR.'/lib/jabber.php'; * @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 1d63bc304c..2ee7660135 100644 --- a/actions/inbox.php +++ b/actions/inbox.php @@ -24,7 +24,7 @@ * @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')) { @@ -40,7 +40,7 @@ require_once INSTALLDIR.'/lib/mailbox.php'; * @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/joingroup.php b/actions/joingroup.php index ee442b6812..599cf50e36 100644 --- a/actions/joingroup.php +++ b/actions/joingroup.php @@ -24,7 +24,7 @@ * @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')) { @@ -41,7 +41,7 @@ if (!defined('LACONICA')) { * @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 29194351db..a87e6225dd 100644 --- a/actions/leavegroup.php +++ b/actions/leavegroup.php @@ -24,7 +24,7 @@ * @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')) { @@ -41,7 +41,7 @@ if (!defined('LACONICA')) { * @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 cfaf7b5545..c187a587fb 100644 --- a/actions/login.php +++ b/actions/login.php @@ -24,7 +24,7 @@ * @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')) { @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * @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 bd0b0c6738..237348628b 100644 --- a/actions/logout.php +++ b/actions/logout.php @@ -9,7 +9,7 @@ * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/openid.php'; * @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 483151330e..9bc0d37107 100644 --- a/actions/makeadmin.php +++ b/actions/makeadmin.php @@ -8,7 +8,7 @@ * @package StatusNet * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * @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 2af640db07..b5cfb974ef 100644 --- a/actions/microsummary.php +++ b/actions/microsummary.php @@ -9,7 +9,7 @@ * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -40,7 +40,7 @@ if (!defined('LACONICA')) { * @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 506017b4d2..a1cbb4d4ac 100644 --- a/actions/newgroup.php +++ b/actions/newgroup.php @@ -25,7 +25,7 @@ * @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')) { @@ -41,7 +41,7 @@ if (!defined('LACONICA')) { * @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 5f485f5e27..ca9d3703a2 100644 --- a/actions/newmessage.php +++ b/actions/newmessage.php @@ -26,7 +26,7 @@ * @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')) { @@ -42,7 +42,7 @@ if (!defined('LACONICA')) { * @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 98532ee257..3fcf0df548 100644 --- a/actions/newnotice.php +++ b/actions/newnotice.php @@ -26,7 +26,7 @@ * @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')) { @@ -44,7 +44,7 @@ require_once INSTALLDIR.'/lib/noticelist.php'; * @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 ef2d5c9068..59f2a5092f 100644 --- a/actions/noticesearch.php +++ b/actions/noticesearch.php @@ -10,7 +10,7 @@ * @author Robin Millette * @author Sarven Capadisli * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -43,7 +43,7 @@ require_once INSTALLDIR.'/lib/searchaction.php'; * @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 b8fbd67e62..c49a5a1ba5 100644 --- a/actions/noticesearchrss.php +++ b/actions/noticesearchrss.php @@ -9,7 +9,7 @@ * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -44,7 +44,7 @@ require_once INSTALLDIR.'/lib/rssaction.php'; * @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 19a84ee329..ae9a375007 100644 --- a/actions/nudge.php +++ b/actions/nudge.php @@ -10,7 +10,7 @@ * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -44,7 +44,7 @@ require_once INSTALLDIR.'/lib/mail.php'; * @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 5c9853bd36..3236527142 100644 --- a/actions/oembed.php +++ b/actions/oembed.php @@ -24,7 +24,7 @@ * @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')) { @@ -41,7 +41,7 @@ if (!defined('LACONICA')) { * @author Craig Andrews * @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/openidsettings.php b/actions/openidsettings.php index d69450f8a1..86db7478ad 100644 --- a/actions/openidsettings.php +++ b/actions/openidsettings.php @@ -24,7 +24,7 @@ * @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')) { @@ -43,7 +43,7 @@ require_once INSTALLDIR.'/lib/openid.php'; * @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/actions/opensearch.php b/actions/opensearch.php index 89286480f9..c32a34f610 100644 --- a/actions/opensearch.php +++ b/actions/opensearch.php @@ -10,7 +10,7 @@ * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -43,7 +43,7 @@ if (!defined('LACONICA')) { * @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 afd6846d95..056a0c2d45 100644 --- a/actions/othersettings.php +++ b/actions/othersettings.php @@ -25,7 +25,7 @@ * @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')) { @@ -44,7 +44,7 @@ require_once INSTALLDIR.'/lib/accountsettingsaction.php'; * @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 diff --git a/actions/outbox.php b/actions/outbox.php index a1d8c2fc47..869360efa1 100644 --- a/actions/outbox.php +++ b/actions/outbox.php @@ -24,7 +24,7 @@ * @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')) { @@ -40,7 +40,7 @@ require_once INSTALLDIR.'/lib/mailbox.php'; * @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 2e289bc8a9..905940557c 100644 --- a/actions/passwordsettings.php +++ b/actions/passwordsettings.php @@ -25,7 +25,7 @@ * @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')) { @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/accountsettingsaction.php'; * @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 6a30451ea4..3bad19d832 100644 --- a/actions/peoplesearch.php +++ b/actions/peoplesearch.php @@ -9,7 +9,7 @@ * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -43,7 +43,7 @@ require_once INSTALLDIR.'/lib/profilelist.php'; * @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 { @@ -97,7 +97,7 @@ class PeoplesearchAction extends SearchAction * @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 e3f74d2321..310d91eeab 100644 --- a/actions/peopletag.php +++ b/actions/peopletag.php @@ -25,7 +25,7 @@ * @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')) { @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/profilelist.php'; * @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/profilesettings.php b/actions/profilesettings.php index 3ddf2f4afd..390e855246 100644 --- a/actions/profilesettings.php +++ b/actions/profilesettings.php @@ -25,7 +25,7 @@ * @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')) { @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/accountsettingsaction.php'; * @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 aea7306061..2c8d2c4f9c 100644 --- a/actions/public.php +++ b/actions/public.php @@ -24,7 +24,7 @@ * @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')) { @@ -46,7 +46,7 @@ define('MAX_PUBLIC_PAGE', 100); * @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 @@ -245,13 +245,13 @@ class PublicAction extends Action { if (! (common_config('site','closed') || common_config('site','inviteonly'))) { $m = sprintf(_('This is %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' . - 'based on the Free Software [StatusNet](http://laconi.ca/) tool. ' . + 'based on the Free Software [StatusNet](http://status.net/) tool. ' . '[Join now](%%%%action.%s%%%%) to share notices about yourself with friends, family, and colleagues! ' . '([Read more](%%%%doc.help%%%%))'), (!common_config('site','openidonly')) ? 'register' : 'openidlogin'); } else { $m = _('This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' . - 'based on the Free Software [StatusNet](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 382baa88a9..6fc7dfa808 100644 --- a/actions/publicrss.php +++ b/actions/publicrss.php @@ -10,7 +10,7 @@ * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -45,7 +45,7 @@ require_once INSTALLDIR.'/lib/rssaction.php'; * @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 5ac091e8bf..0fbd41901a 100644 --- a/actions/publictagcloud.php +++ b/actions/publictagcloud.php @@ -26,7 +26,7 @@ * @copyright 2008 Mike Cochrane * @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); } @@ -42,7 +42,7 @@ define('TAGS_PER_PAGE', 100); * @author Evan Prodromou * @copyright 2008 Mike Cochrane * @copyright 2008-2009 StatusNet, Inc. - * @link http://laconi.ca/ + * @link http://status.net/ */ class PublictagcloudAction extends Action diff --git a/actions/publicxrds.php b/actions/publicxrds.php index 6b647ac8d1..e30c7f8fbd 100644 --- a/actions/publicxrds.php +++ b/actions/publicxrds.php @@ -10,7 +10,7 @@ * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -43,7 +43,7 @@ require_once INSTALLDIR.'/lib/openid.php'; * @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/actions/register.php b/actions/register.php index 7ffb952a80..d256cb093b 100644 --- a/actions/register.php +++ b/actions/register.php @@ -24,7 +24,7 @@ * @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')) { @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * @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/replies.php b/actions/replies.php index b396a03b48..ff634ce6ff 100644 --- a/actions/replies.php +++ b/actions/replies.php @@ -24,7 +24,7 @@ * @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')) { @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/feedlist.php'; * @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/requesttoken.php b/actions/requesttoken.php index f36849e8a7..8755fa4478 100644 --- a/actions/requesttoken.php +++ b/actions/requesttoken.php @@ -10,7 +10,7 @@ * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -43,7 +43,7 @@ require_once INSTALLDIR.'/lib/omb.php'; * @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 76ec48dada..5be2814d15 100644 --- a/actions/showfavorites.php +++ b/actions/showfavorites.php @@ -24,7 +24,7 @@ * @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')) { @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/feedlist.php'; * @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 d4f41052ef..e33da9b9ac 100644 --- a/actions/showgroup.php +++ b/actions/showgroup.php @@ -25,7 +25,7 @@ * @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')) { @@ -44,7 +44,7 @@ define('MEMBERS_PER_SECTION', 27); * @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,14 +448,14 @@ class ShowgroupAction extends GroupDesignAction { if (!(common_config('site','closed') || common_config('site','inviteonly'))) { $m = sprintf(_('**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' . - 'based on the Free Software [StatusNet](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.%s%%%%) to become part of this group and many more! ([Read more](%%%%doc.help%%%%))'), $this->group->nickname, (!common_config('site','openidonly')) ? 'register' : 'openidlogin'); } else { $m = sprintf(_('**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' . - 'based on the Free Software [StatusNet](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 f413018bb1..d89e0792d5 100644 --- a/actions/showmessage.php +++ b/actions/showmessage.php @@ -24,7 +24,7 @@ * @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')) { exit(1); @@ -41,7 +41,7 @@ require_once INSTALLDIR.'/lib/mailbox.php'; * @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 6d8d540510..7e83724a7b 100644 --- a/actions/shownotice.php +++ b/actions/shownotice.php @@ -24,7 +24,7 @@ * @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')) { @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/feedlist.php'; * @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 1cdf2c37e8..68dabe6815 100644 --- a/actions/showstream.php +++ b/actions/showstream.php @@ -25,7 +25,7 @@ * @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')) { @@ -51,7 +51,7 @@ require_once INSTALLDIR.'/lib/feedlist.php'; * @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 @@ -388,14 +388,14 @@ 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 [StatusNet](http://laconi.ca/) tool. ' . + 'based on the Free Software [StatusNet](http://status.net/) tool. ' . '[Join now](%%%%action.%s%%%%) to follow **%s**\'s notices and many more! ([Read more](%%%%doc.help%%%%))'), $this->user->nickname, (!common_config('site','openidonly')) ? 'register' : 'openidlogin', $this->user->nickname); } else { $m = sprintf(_('**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' . - 'based on the Free Software [StatusNet](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 14f4b25aac..123c16316b 100644 --- a/actions/smssettings.php +++ b/actions/smssettings.php @@ -24,7 +24,7 @@ * @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')) { @@ -40,7 +40,7 @@ require_once INSTALLDIR.'/lib/connectsettingsaction.php'; * @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/subscribers.php b/actions/subscribers.php index f49a699f0b..0f173e041e 100644 --- a/actions/subscribers.php +++ b/actions/subscribers.php @@ -25,7 +25,7 @@ * @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')) { @@ -39,7 +39,7 @@ if (!defined('LACONICA')) { * @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 c34a144691..a8c790531a 100644 --- a/actions/subscriptions.php +++ b/actions/subscriptions.php @@ -25,7 +25,7 @@ * @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')) { @@ -39,7 +39,7 @@ if (!defined('LACONICA')) { * @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); } diff --git a/actions/twitapigroups.php b/actions/twitapigroups.php index 5ac21faca6..866492b7b2 100644 --- a/actions/twitapigroups.php +++ b/actions/twitapigroups.php @@ -25,7 +25,7 @@ * @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')) { @@ -45,7 +45,7 @@ require_once INSTALLDIR.'/lib/twitterapi.php'; * @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 diff --git a/actions/twitapisearchatom.php b/actions/twitapisearchatom.php index 68d28a2afc..560eb64d29 100644 --- a/actions/twitapisearchatom.php +++ b/actions/twitapisearchatom.php @@ -24,7 +24,7 @@ * @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')) { @@ -44,7 +44,7 @@ require_once INSTALLDIR.'/lib/twitterapi.php'; * @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/twitapisearchjson.php b/actions/twitapisearchjson.php index 57a5fb0ca1..8c80aca3b0 100644 --- a/actions/twitapisearchjson.php +++ b/actions/twitapisearchjson.php @@ -24,7 +24,7 @@ * @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')) { @@ -41,7 +41,7 @@ require_once INSTALLDIR.'/lib/jsonsearchresultslist.php'; * @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/twitapistatusnet.php b/actions/twitapistatusnet.php index 47d6d787f4..80ddb48a9e 100644 --- a/actions/twitapistatusnet.php +++ b/actions/twitapistatusnet.php @@ -24,7 +24,7 @@ * @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')) { @@ -43,7 +43,7 @@ require_once INSTALLDIR.'/lib/twitterapi.php'; * @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 diff --git a/actions/twitapitags.php b/actions/twitapitags.php index 82f86d9ea3..9480d5abd4 100644 --- a/actions/twitapitags.php +++ b/actions/twitapitags.php @@ -25,7 +25,7 @@ * @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')) { @@ -45,7 +45,7 @@ require_once INSTALLDIR.'/lib/twitterapi.php'; * @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 diff --git a/actions/twitapitrends.php b/actions/twitapitrends.php index 48db96d621..e6baf7c631 100644 --- a/actions/twitapitrends.php +++ b/actions/twitapitrends.php @@ -24,7 +24,7 @@ * @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')) { @@ -40,7 +40,7 @@ require_once INSTALLDIR.'/lib/twitterapi.php'; * @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/twitterauthorization.php b/actions/twitterauthorization.php index 522702e7ec..123aafbbd7 100644 --- a/actions/twitterauthorization.php +++ b/actions/twitterauthorization.php @@ -24,7 +24,7 @@ * @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')) { diff --git a/actions/twittersettings.php b/actions/twittersettings.php index a93cf5af48..bb003c3434 100644 --- a/actions/twittersettings.php +++ b/actions/twittersettings.php @@ -24,7 +24,7 @@ * @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')) { @@ -41,7 +41,7 @@ require_once INSTALLDIR.'/lib/twitter.php'; * @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/unblock.php b/actions/unblock.php index aacda8e7d0..afd6cfcdfb 100644 --- a/actions/unblock.php +++ b/actions/unblock.php @@ -9,7 +9,7 @@ * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -40,7 +40,7 @@ if (!defined('LACONICA')) { * @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 9f27010827..3ce96aefbe 100644 --- a/actions/unsubscribe.php +++ b/actions/unsubscribe.php @@ -9,7 +9,7 @@ * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -40,7 +40,7 @@ if (!defined('LACONICA')) { * @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/userbyid.php b/actions/userbyid.php index 0e84e37eb2..b6908846a5 100644 --- a/actions/userbyid.php +++ b/actions/userbyid.php @@ -10,7 +10,7 @@ * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -41,7 +41,7 @@ if (!defined('LACONICA')) { * @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 498c7cb43e..fc9c471cf2 100644 --- a/actions/userdesignsettings.php +++ b/actions/userdesignsettings.php @@ -25,7 +25,7 @@ * @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')) { @@ -44,7 +44,7 @@ require_once INSTALLDIR . '/lib/designsettings.php'; * @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 0260961baa..9543eb4801 100644 --- a/actions/usergroups.php +++ b/actions/usergroups.php @@ -25,7 +25,7 @@ * @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')) { @@ -43,7 +43,7 @@ require_once INSTALLDIR.'/lib/grouplist.php'; * @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/xrds.php b/actions/xrds.php index de6db20459..0258f9b2de 100644 --- a/actions/xrds.php +++ b/actions/xrds.php @@ -10,7 +10,7 @@ * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -43,7 +43,7 @@ require_once INSTALLDIR.'/lib/omb.php'; * @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/lib/accountsettingsaction.php b/lib/accountsettingsaction.php index 7027a8d652..972b3693ed 100644 --- a/lib/accountsettingsaction.php +++ b/lib/accountsettingsaction.php @@ -24,7 +24,7 @@ * @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')) { @@ -40,7 +40,7 @@ require_once INSTALLDIR.'/lib/settingsaction.php'; * @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 */ @@ -69,7 +69,7 @@ class AccountSettingsAction extends SettingsAction * @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 2251c8aad2..9507df3baa 100644 --- a/lib/action.php +++ b/lib/action.php @@ -25,7 +25,7 @@ * @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')) { @@ -49,7 +49,7 @@ require_once INSTALLDIR.'/lib/htmloutputter.php'; * @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 */ @@ -761,7 +761,7 @@ class Action extends HTMLOutputter // lawsuit } else { $instr = _('**%%site.name%%** is a microblogging service. '); } - $instr .= sprintf(_('It runs the [StatusNet](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).'), LACONICA_VERSION); $output = common_markup_to_html($instr); $this->raw($output); $this->elementEnd('dd'); diff --git a/lib/attachmentlist.php b/lib/attachmentlist.php index ca249537c4..4a221ec352 100644 --- a/lib/attachmentlist.php +++ b/lib/attachmentlist.php @@ -25,7 +25,7 @@ * @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')) { @@ -44,7 +44,7 @@ if (!defined('LACONICA')) { * @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 @@ -130,7 +130,7 @@ class AttachmentList extends Widget * @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 f3a85afc56..127fe5824e 100644 --- a/lib/attachmentnoticesection.php +++ b/lib/attachmentnoticesection.php @@ -24,7 +24,7 @@ * @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')) { @@ -40,7 +40,7 @@ if (!defined('LACONICA')) { * @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 9a4d5b9a47..d751079aa2 100644 --- a/lib/attachmenttagcloudsection.php +++ b/lib/attachmenttagcloudsection.php @@ -24,7 +24,7 @@ * @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')) { @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * @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 c06efedfdd..e5ed31b0f7 100644 --- a/lib/blockform.php +++ b/lib/blockform.php @@ -25,7 +25,7 @@ * @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')) { @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/form.php'; * @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/clienterroraction.php b/lib/clienterroraction.php index ca1e33e10d..cf7129c938 100644 --- a/lib/clienterroraction.php +++ b/lib/clienterroraction.php @@ -10,7 +10,7 @@ * @author Evan Prodromou * @author Zach Copley * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/error.php'; * @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 cab8dd513b..c1492be745 100644 --- a/lib/clientexception.php +++ b/lib/clientexception.php @@ -24,7 +24,7 @@ * @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')) { @@ -40,7 +40,7 @@ if (!defined('LACONICA')) { * @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/common.php b/lib/common.php index 48caa61121..c2d6566365 100644 --- a/lib/common.php +++ b/lib/common.php @@ -218,7 +218,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/', diff --git a/lib/connectsettingsaction.php b/lib/connectsettingsaction.php index 47504b0ea2..75c825621c 100644 --- a/lib/connectsettingsaction.php +++ b/lib/connectsettingsaction.php @@ -24,7 +24,7 @@ * @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')) { @@ -40,7 +40,7 @@ require_once INSTALLDIR.'/lib/settingsaction.php'; * @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 */ @@ -69,7 +69,7 @@ class ConnectSettingsAction extends SettingsAction * @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 8323eeccb7..7ff7c3399a 100644 --- a/lib/currentuserdesignaction.php +++ b/lib/currentuserdesignaction.php @@ -24,7 +24,7 @@ * @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')) { @@ -41,7 +41,7 @@ if (!defined('LACONICA')) { * @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/dberroraction.php b/lib/dberroraction.php index c81f01fca3..2b9fad4e6c 100644 --- a/lib/dberroraction.php +++ b/lib/dberroraction.php @@ -9,7 +9,7 @@ * @author Evan Prodromou * @author Zach Copley * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -45,7 +45,7 @@ require_once INSTALLDIR.'/lib/servererroraction.php'; * @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 0e88c4de1f..b1850925bd 100644 --- a/lib/dbqueuemanager.php +++ b/lib/dbqueuemanager.php @@ -24,7 +24,7 @@ * @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 f444ed61e0..fd4778cca9 100644 --- a/lib/deleteaction.php +++ b/lib/deleteaction.php @@ -25,7 +25,7 @@ * @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')) { diff --git a/lib/designsettings.php b/lib/designsettings.php index 62ec8c92cb..103b1cd652 100644 --- a/lib/designsettings.php +++ b/lib/designsettings.php @@ -25,7 +25,7 @@ * @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')) { @@ -46,7 +46,7 @@ require_once INSTALLDIR . '/lib/webcolor.php'; * @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 diff --git a/lib/disfavorform.php b/lib/disfavorform.php index c3780b0df2..e6b22fc708 100644 --- a/lib/disfavorform.php +++ b/lib/disfavorform.php @@ -25,7 +25,7 @@ * @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')) { @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/form.php'; * @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 261a25157e..fc749adfc0 100644 --- a/lib/error.php +++ b/lib/error.php @@ -10,7 +10,7 @@ * @author Evan Prodromou * @author Zach Copley * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -40,7 +40,7 @@ if (!defined('LACONICA')) { * @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 31bfd0e5b8..1bfcdb67d0 100644 --- a/lib/event.php +++ b/lib/event.php @@ -24,7 +24,7 @@ * @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')) { @@ -40,7 +40,7 @@ if (!defined('LACONICA')) { * @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 */ diff --git a/lib/facebookaction.php b/lib/facebookaction.php index e9e6aec516..753447f8b6 100644 --- a/lib/facebookaction.php +++ b/lib/facebookaction.php @@ -24,7 +24,7 @@ * @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')) diff --git a/lib/favorform.php b/lib/favorform.php index fc21041db3..0479105c5e 100644 --- a/lib/favorform.php +++ b/lib/favorform.php @@ -25,7 +25,7 @@ * @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')) { @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/form.php'; * @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 f8bdb0b7ee..b8a971415a 100644 --- a/lib/featureduserssection.php +++ b/lib/featureduserssection.php @@ -24,7 +24,7 @@ * @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')) { @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * @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 f3a85ee5fd..5e0f9add77 100644 --- a/lib/feed.php +++ b/lib/feed.php @@ -24,7 +24,7 @@ * @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')) { @@ -41,7 +41,7 @@ if (!defined('LACONICA')) { * @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 d0173ca290..da114c4918 100644 --- a/lib/feedlist.php +++ b/lib/feedlist.php @@ -25,7 +25,7 @@ * @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')) { @@ -42,7 +42,7 @@ if (!defined('LACONICA')) { * @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 928c64bff4..61c20fd48b 100644 --- a/lib/form.php +++ b/lib/form.php @@ -25,7 +25,7 @@ * @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')) { @@ -45,7 +45,7 @@ require_once INSTALLDIR.'/lib/widget.php'; * @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/groupdesignaction.php b/lib/groupdesignaction.php index 1a4f7d01dc..ff2532026c 100644 --- a/lib/groupdesignaction.php +++ b/lib/groupdesignaction.php @@ -24,7 +24,7 @@ * @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')) { @@ -41,7 +41,7 @@ if (!defined('LACONICA')) { * @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 1fe85ac300..ae9eb17b9d 100644 --- a/lib/groupeditform.php +++ b/lib/groupeditform.php @@ -25,7 +25,7 @@ * @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')) { @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/form.php'; * @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 8b208dcd05..47406bb2c8 100644 --- a/lib/grouplist.php +++ b/lib/grouplist.php @@ -25,7 +25,7 @@ * @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')) { @@ -43,7 +43,7 @@ define('GROUPS_PER_PAGE', 20); * @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 553daeea6f..2b74a6ef88 100644 --- a/lib/groupminilist.php +++ b/lib/groupminilist.php @@ -24,7 +24,7 @@ * @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')) { @@ -42,7 +42,7 @@ define('GROUPS_PER_MINILIST', 27); * @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 595dcd6298..e3daff6a42 100644 --- a/lib/groupnav.php +++ b/lib/groupnav.php @@ -25,7 +25,7 @@ * @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')) { @@ -44,7 +44,7 @@ require_once INSTALLDIR.'/lib/widget.php'; * @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 6126be49a8..c8bf546f95 100644 --- a/lib/groupsbymemberssection.php +++ b/lib/groupsbymemberssection.php @@ -24,7 +24,7 @@ * @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')) { @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * @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 1fdb6ed7b7..e78efeeb41 100644 --- a/lib/groupsbypostssection.php +++ b/lib/groupsbypostssection.php @@ -24,7 +24,7 @@ * @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')) { @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * @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 da3b4173d0..203ac3cb20 100644 --- a/lib/groupsection.php +++ b/lib/groupsection.php @@ -24,7 +24,7 @@ * @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')) { @@ -43,7 +43,7 @@ define('GROUPS_PER_SECTION', 6); * @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 aba7920882..afd2eba449 100644 --- a/lib/grouptagcloudsection.php +++ b/lib/grouptagcloudsection.php @@ -24,7 +24,7 @@ * @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')) { @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * @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 1710db21ac..714107710c 100644 --- a/lib/htmloutputter.php +++ b/lib/htmloutputter.php @@ -25,7 +25,7 @@ * @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')) { @@ -51,7 +51,7 @@ define('PAGE_TYPE_PREFS', * @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 diff --git a/lib/imagefile.php b/lib/imagefile.php index e4114cfe3f..ec4349d6cf 100644 --- a/lib/imagefile.php +++ b/lib/imagefile.php @@ -25,7 +25,7 @@ * @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')) { @@ -42,7 +42,7 @@ if (!defined('LACONICA')) { * @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 8b6b6322b6..375a3e50f2 100644 --- a/lib/jabber.php +++ b/lib/jabber.php @@ -24,7 +24,7 @@ * @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')) { diff --git a/lib/joinform.php b/lib/joinform.php index 181b19acb5..a19e014de7 100644 --- a/lib/joinform.php +++ b/lib/joinform.php @@ -25,7 +25,7 @@ * @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')) { @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/form.php'; * @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 2a7d087e9d..7ff32f829f 100644 --- a/lib/jsonsearchresultslist.php +++ b/lib/jsonsearchresultslist.php @@ -24,7 +24,7 @@ * @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')) { @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * @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/ * */ @@ -150,7 +150,7 @@ class JSONSearchResultsList * @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 5ae4c00c49..49c5a7317d 100644 --- a/lib/language.php +++ b/lib/language.php @@ -25,7 +25,7 @@ * @author Ciaran Gultnieks * @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')) { diff --git a/lib/leaveform.php b/lib/leaveform.php index 778af3061b..3e37e45fff 100644 --- a/lib/leaveform.php +++ b/lib/leaveform.php @@ -25,7 +25,7 @@ * @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')) { @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/form.php'; * @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 c92707fe8a..49a90cf807 100644 --- a/lib/logingroupnav.php +++ b/lib/logingroupnav.php @@ -24,7 +24,7 @@ * @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')) { @@ -40,7 +40,7 @@ require_once INSTALLDIR.'/lib/widget.php'; * @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 a26ef05964..23bea22ef5 100644 --- a/lib/mail.php +++ b/lib/mail.php @@ -27,7 +27,7 @@ * @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')) { diff --git a/lib/mailbox.php b/lib/mailbox.php index 0194b76f42..e628d952e0 100644 --- a/lib/mailbox.php +++ b/lib/mailbox.php @@ -24,7 +24,7 @@ * @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')) { @@ -40,7 +40,7 @@ define('MESSAGES_PER_PAGE', 20); * @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 */ diff --git a/lib/messageform.php b/lib/messageform.php index 483d961f63..cf80858c7c 100644 --- a/lib/messageform.php +++ b/lib/messageform.php @@ -25,7 +25,7 @@ * @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')) { @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/form.php'; * @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 83746efee5..6fee71acfd 100644 --- a/lib/microid.php +++ b/lib/microid.php @@ -24,7 +24,7 @@ * @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')) { @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * @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 d5826f306f..1452b2e1ed 100644 --- a/lib/noticeform.php +++ b/lib/noticeform.php @@ -25,7 +25,7 @@ * @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')) { @@ -44,7 +44,7 @@ require_once INSTALLDIR.'/lib/form.php'; * @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 64d8cccbaf..46fc73bc11 100644 --- a/lib/noticelist.php +++ b/lib/noticelist.php @@ -25,7 +25,7 @@ * @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')) { @@ -48,7 +48,7 @@ require_once INSTALLDIR.'/lib/attachmentlist.php'; * @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 @@ -136,7 +136,7 @@ class NoticeList extends Widget * @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 7a969c2d70..6228831190 100644 --- a/lib/noticesection.php +++ b/lib/noticesection.php @@ -24,7 +24,7 @@ * @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')) { @@ -43,7 +43,7 @@ define('NOTICES_PER_SECTION', 6); * @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 ffecce7475..01dea3d361 100644 --- a/lib/nudgeform.php +++ b/lib/nudgeform.php @@ -25,7 +25,7 @@ * @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')) { @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/form.php'; * @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 a2ee0878f5..e9463bb532 100644 --- a/lib/oauthclient.php +++ b/lib/oauthclient.php @@ -24,7 +24,7 @@ * @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')) { @@ -40,7 +40,7 @@ require_once 'OAuth.php'; * @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 @@ -54,7 +54,7 @@ class OAuthClientCurlException extends Exception * @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 diff --git a/lib/ownerdesignaction.php b/lib/ownerdesignaction.php index f53954feab..e1400fd922 100644 --- a/lib/ownerdesignaction.php +++ b/lib/ownerdesignaction.php @@ -24,7 +24,7 @@ * @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')) { @@ -42,7 +42,7 @@ if (!defined('LACONICA')) { * @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 8e09a3a411..6735427ce9 100644 --- a/lib/parallelizingdaemon.php +++ b/lib/parallelizingdaemon.php @@ -25,7 +25,7 @@ * @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')) { @@ -42,7 +42,7 @@ declare(ticks = 1); * @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 49513eb2fb..0faa7a10dd 100644 --- a/lib/personalgroupnav.php +++ b/lib/personalgroupnav.php @@ -25,7 +25,7 @@ * @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')) { @@ -48,7 +48,7 @@ require_once INSTALLDIR.'/lib/widget.php'; * @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 1b8d9fa2d6..57c5b84a13 100644 --- a/lib/personaltagcloudsection.php +++ b/lib/personaltagcloudsection.php @@ -24,7 +24,7 @@ * @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')) { @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * @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/plugin.php b/lib/plugin.php index 437cf03a1a..97ff8f19aa 100644 --- a/lib/plugin.php +++ b/lib/plugin.php @@ -24,7 +24,7 @@ * @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')) { @@ -48,7 +48,7 @@ if (!defined('LACONICA')) { * @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/lib/popularnoticesection.php b/lib/popularnoticesection.php index 64abd88473..496305168e 100644 --- a/lib/popularnoticesection.php +++ b/lib/popularnoticesection.php @@ -24,7 +24,7 @@ * @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')) { @@ -41,7 +41,7 @@ if (!defined('LACONICA')) { * @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 19673a76db..1ca9830b87 100644 --- a/lib/profileaction.php +++ b/lib/profileaction.php @@ -25,7 +25,7 @@ * @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')) { @@ -44,7 +44,7 @@ require_once INSTALLDIR.'/lib/groupminilist.php'; * @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 5ee2fd4996..eb9bd222f6 100644 --- a/lib/profilelist.php +++ b/lib/profilelist.php @@ -25,7 +25,7 @@ * @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')) { @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/widget.php'; * @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 ea0a3d042d..d5a2f387ec 100644 --- a/lib/profileminilist.php +++ b/lib/profileminilist.php @@ -24,7 +24,7 @@ * @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')) { @@ -42,7 +42,7 @@ define('PROFILES_PER_MINILIST', 27); * @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 79a7515048..9f71d6b364 100644 --- a/lib/profilesection.php +++ b/lib/profilesection.php @@ -24,7 +24,7 @@ * @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')) { @@ -43,7 +43,7 @@ define('PROFILES_PER_SECTION', 6); * @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 d26a749093..c9c51d0035 100644 --- a/lib/publicgroupnav.php +++ b/lib/publicgroupnav.php @@ -24,7 +24,7 @@ * @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')) { @@ -41,7 +41,7 @@ require_once INSTALLDIR.'/lib/widget.php'; * @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/queuemanager.php b/lib/queuemanager.php index 37091af49e..8a37453ec1 100644 --- a/lib/queuemanager.php +++ b/lib/queuemanager.php @@ -25,7 +25,7 @@ * @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 fd9780b22d..e5f6514014 100644 --- a/lib/router.php +++ b/lib/router.php @@ -24,7 +24,7 @@ * @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')) { @@ -42,7 +42,7 @@ require_once 'Net/URL/Mapper.php'; * @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 diff --git a/lib/rssaction.php b/lib/rssaction.php index 21d85144d0..93a47f14e2 100644 --- a/lib/rssaction.php +++ b/lib/rssaction.php @@ -25,7 +25,7 @@ * @author Earle Martin * @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); } @@ -354,7 +354,7 @@ class Rss10Action extends Action 'xmlns:rdfs' => 'http://www.w3.org/2000/01/rdf-schema#', 'xmlns:laconica' => - 'http://laconi.ca/ont/', + '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/searchaction.php b/lib/searchaction.php index 4da2c012d1..5a0e3b8977 100644 --- a/lib/searchaction.php +++ b/lib/searchaction.php @@ -9,7 +9,7 @@ * @author Evan Prodromou * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/searchgroupnav.php'; * @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 f47b9a2bc4..7673e96c87 100644 --- a/lib/searchgroupnav.php +++ b/lib/searchgroupnav.php @@ -24,7 +24,7 @@ * @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')) { @@ -40,7 +40,7 @@ require_once INSTALLDIR.'/lib/widget.php'; * @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 de00e82cec..faf0430250 100644 --- a/lib/section.php +++ b/lib/section.php @@ -24,7 +24,7 @@ * @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')) { @@ -43,7 +43,7 @@ require_once INSTALLDIR.'/lib/widget.php'; * @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 a976778bfd..cee2e54fd9 100644 --- a/lib/servererroraction.php +++ b/lib/servererroraction.php @@ -10,7 +10,7 @@ * @author Evan Prodromou * @author Zach Copley * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ + * @link http://status.net/ * * StatusNet - the distributed open-source microblogging tool * Copyright (C) 2008, 2009, StatusNet, Inc. @@ -50,7 +50,7 @@ require_once INSTALLDIR.'/lib/error.php'; * @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 4ce3887e49..634d52d246 100644 --- a/lib/serverexception.php +++ b/lib/serverexception.php @@ -24,7 +24,7 @@ * @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')) { @@ -40,7 +40,7 @@ if (!defined('LACONICA')) { * @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 5118e588ec..7b0e0b1b50 100644 --- a/lib/settingsaction.php +++ b/lib/settingsaction.php @@ -24,7 +24,7 @@ * @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')) { @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * @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 e2b86a52fd..868389668f 100644 --- a/lib/snapshot.php +++ b/lib/snapshot.php @@ -24,7 +24,7 @@ * @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')) { @@ -36,7 +36,7 @@ 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. @@ -45,7 +45,7 @@ if (!defined('LACONICA')) { * @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/stompqueuemanager.php b/lib/stompqueuemanager.php index 34643114c2..3894d90723 100644 --- a/lib/stompqueuemanager.php +++ b/lib/stompqueuemanager.php @@ -25,7 +25,7 @@ * @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 2ff003d072..cc87447193 100644 --- a/lib/subgroupnav.php +++ b/lib/subgroupnav.php @@ -24,7 +24,7 @@ * @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')) { @@ -40,7 +40,7 @@ require_once INSTALLDIR.'/lib/widget.php'; * @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 c224c9c19a..c626535bd0 100644 --- a/lib/subpeopletagcloudsection.php +++ b/lib/subpeopletagcloudsection.php @@ -24,7 +24,7 @@ * @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')) { @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * @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/subscribeform.php b/lib/subscribeform.php index 79531329d1..5bfede6642 100644 --- a/lib/subscribeform.php +++ b/lib/subscribeform.php @@ -25,7 +25,7 @@ * @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')) { @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/form.php'; * @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 55c97111d4..bef8c8f3b2 100644 --- a/lib/subscriberspeopleselftagcloudsection.php +++ b/lib/subscriberspeopleselftagcloudsection.php @@ -24,7 +24,7 @@ * @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')) { @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * @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 ae6d6803ef..2481cb74ff 100644 --- a/lib/subscriberspeopletagcloudsection.php +++ b/lib/subscriberspeopletagcloudsection.php @@ -24,7 +24,7 @@ * @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')) { @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * @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 9d27519ace..e7a8302c59 100644 --- a/lib/subscriptionlist.php +++ b/lib/subscriptionlist.php @@ -25,7 +25,7 @@ * @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')) { @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/profilelist.php'; * @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 7efa6e157c..d2ea85c75e 100644 --- a/lib/subscriptionspeopleselftagcloudsection.php +++ b/lib/subscriptionspeopleselftagcloudsection.php @@ -24,7 +24,7 @@ * @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')) { @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * @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 7ad6e79a48..fe26f9afaa 100644 --- a/lib/subscriptionspeopletagcloudsection.php +++ b/lib/subscriptionspeopletagcloudsection.php @@ -24,7 +24,7 @@ * @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')) { @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * @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 57260efac7..8278c90d42 100644 --- a/lib/tagcloudsection.php +++ b/lib/tagcloudsection.php @@ -24,7 +24,7 @@ * @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')) { @@ -43,7 +43,7 @@ define('TAGS_PER_SECTION', 20); * @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 5bd3cb69b8..734284b279 100644 --- a/lib/theme.php +++ b/lib/theme.php @@ -25,7 +25,7 @@ * @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')) { diff --git a/lib/topposterssection.php b/lib/topposterssection.php index 604ffb2e8a..ddb1104508 100644 --- a/lib/topposterssection.php +++ b/lib/topposterssection.php @@ -24,7 +24,7 @@ * @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')) { @@ -41,7 +41,7 @@ if (!defined('LACONICA')) { * @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/twitteroauthclient.php b/lib/twitteroauthclient.php index 12a4068be7..6555858d90 100644 --- a/lib/twitteroauthclient.php +++ b/lib/twitteroauthclient.php @@ -24,7 +24,7 @@ * @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')) { @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * @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 diff --git a/lib/unblockform.php b/lib/unblockform.php index 1b9a889601..e302f3843e 100644 --- a/lib/unblockform.php +++ b/lib/unblockform.php @@ -25,7 +25,7 @@ * @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')) { @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/form.php'; * @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 ddfe6c0859..5ac1a2ff3b 100644 --- a/lib/unqueuemanager.php +++ b/lib/unqueuemanager.php @@ -25,7 +25,7 @@ * @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 2fe06752e7..6699a294cf 100644 --- a/lib/unsubscribeform.php +++ b/lib/unsubscribeform.php @@ -25,7 +25,7 @@ * @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')) { @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/form.php'; * @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/webcolor.php b/lib/webcolor.php index 986b411c55..230e04a1fd 100644 --- a/lib/webcolor.php +++ b/lib/webcolor.php @@ -24,7 +24,7 @@ * @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')) { diff --git a/lib/widget.php b/lib/widget.php index 8a132fc522..abb8037c51 100644 --- a/lib/widget.php +++ b/lib/widget.php @@ -25,7 +25,7 @@ * @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')) { @@ -44,7 +44,7 @@ if (!defined('LACONICA')) { * @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 2536337518..cd6b8eb41b 100644 --- a/lib/xmloutputter.php +++ b/lib/xmloutputter.php @@ -25,7 +25,7 @@ * @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')) { @@ -44,7 +44,7 @@ if (!defined('LACONICA')) { * @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 1e14ec60f1..5a7189cbd0 100644 --- a/lib/xmlstringer.php +++ b/lib/xmlstringer.php @@ -24,7 +24,7 @@ * @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')) { @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * @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/scripts/synctwitterfriends.php b/scripts/synctwitterfriends.php index f4f714f591..caec9977ac 100755 --- a/scripts/synctwitterfriends.php +++ b/scripts/synctwitterfriends.php @@ -41,7 +41,7 @@ require_once INSTALLDIR . '/lib/parallelizingdaemon.php'; * @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 = << * @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 diff --git a/scripts/update_translations.php b/scripts/update_translations.php index b3ca8c70b3..0dee4f5a55 100755 --- a/scripts/update_translations.php +++ b/scripts/update_translations.php @@ -42,7 +42,7 @@ $languages = get_all_languages(); foreach ($languages as $language) { $code = $language['lang']; - $file_url = 'http://laconi.ca/pootle/' . $code . + $file_url = 'http://status.net/pootle/' . $code . '/laconica/LC_MESSAGES/laconica.po'; $lcdir = INSTALLDIR . '/locale/' . $code; $msgdir = "$lcdir/LC_MESSAGES"; From ae883ceb9b4689f6c1dd3aecdc4a844eda7d179a Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 25 Aug 2009 18:19:04 -0400 Subject: [PATCH 041/134] change controlyourself.ca to status.net --- actions/accesstoken.php | 8 ++++---- actions/allrss.php | 8 ++++---- actions/attachment.php | 4 ++-- actions/attachment_ajax.php | 4 ++-- actions/attachment_thumbnail.php | 4 ++-- actions/avatarbynickname.php | 8 ++++---- actions/avatarsettings.php | 10 +++++----- actions/block.php | 8 ++++---- actions/blockedfromgroup.php | 8 ++++---- actions/confirmaddress.php | 4 ++-- actions/conversation.php | 8 ++++---- actions/deletenotice.php | 4 ++-- actions/disfavor.php | 8 ++++---- actions/doc.php | 8 ++++---- actions/editgroup.php | 10 +++++----- actions/emailsettings.php | 8 ++++---- actions/favor.php | 8 ++++---- actions/favorited.php | 8 ++++---- actions/favoritesrss.php | 10 +++++----- actions/featured.php | 8 ++++---- actions/finishaddopenid.php | 4 ++-- actions/groupblock.php | 4 ++-- actions/groupbyid.php | 6 +++--- actions/groupdesignsettings.php | 8 ++++---- actions/grouplogo.php | 10 +++++----- actions/groupmembers.php | 12 ++++++------ actions/grouprss.php | 6 +++--- actions/groups.php | 6 +++--- actions/groupsearch.php | 8 ++++---- actions/groupunblock.php | 4 ++-- actions/imsettings.php | 4 ++-- actions/inbox.php | 4 ++-- actions/joingroup.php | 4 ++-- actions/leavegroup.php | 4 ++-- actions/login.php | 4 ++-- actions/logout.php | 8 ++++---- actions/makeadmin.php | 4 ++-- actions/microsummary.php | 8 ++++---- actions/newgroup.php | 6 +++--- actions/newmessage.php | 12 ++++++------ actions/newnotice.php | 12 ++++++------ actions/noticesearch.php | 10 +++++----- actions/noticesearchrss.php | 8 ++++---- actions/nudge.php | 10 +++++----- actions/oembed.php | 2 +- actions/openidsettings.php | 4 ++-- actions/opensearch.php | 8 ++++---- actions/othersettings.php | 8 ++++---- actions/outbox.php | 4 ++-- actions/passwordsettings.php | 8 ++++---- actions/peoplesearch.php | 12 ++++++------ actions/peopletag.php | 8 ++++---- actions/profilesettings.php | 8 ++++---- actions/public.php | 4 ++-- actions/publicrss.php | 8 ++++---- actions/publictagcloud.php | 4 ++-- actions/publicxrds.php | 8 ++++---- actions/register.php | 4 ++-- actions/replies.php | 4 ++-- actions/requesttoken.php | 8 ++++---- actions/showfavorites.php | 4 ++-- actions/showgroup.php | 6 +++--- actions/showmessage.php | 4 ++-- actions/shownotice.php | 4 ++-- actions/showstream.php | 6 +++--- actions/smssettings.php | 4 ++-- actions/subscribers.php | 6 +++--- actions/subscriptions.php | 6 +++--- actions/twitapigroups.php | 4 ++-- actions/twitapisearchatom.php | 4 ++-- actions/twitapisearchjson.php | 4 ++-- actions/twitapistatusnet.php | 4 ++-- actions/twitapitags.php | 4 ++-- actions/twitapitrends.php | 4 ++-- actions/twitterauthorization.php | 2 +- actions/twittersettings.php | 4 ++-- actions/unblock.php | 8 ++++---- actions/unsubscribe.php | 8 ++++---- actions/userbyid.php | 8 ++++---- actions/userdesignsettings.php | 8 ++++---- actions/usergroups.php | 6 +++--- actions/xrds.php | 8 ++++---- lib/accountsettingsaction.php | 6 +++--- lib/action.php | 8 ++++---- lib/attachmentlist.php | 8 ++++---- lib/attachmentnoticesection.php | 4 ++-- lib/attachmenttagcloudsection.php | 4 ++-- lib/blockform.php | 8 ++++---- lib/clienterroraction.php | 6 +++--- lib/clientexception.php | 4 ++-- lib/connectsettingsaction.php | 6 +++--- lib/currentuserdesignaction.php | 4 ++-- lib/dberroraction.php | 6 +++--- lib/dbqueuemanager.php | 2 +- lib/deleteaction.php | 4 ++-- lib/designsettings.php | 8 ++++---- lib/disfavorform.php | 8 ++++---- lib/error.php | 6 +++--- lib/event.php | 4 ++-- lib/facebookaction.php | 2 +- lib/favorform.php | 8 ++++---- lib/featureduserssection.php | 4 ++-- lib/feed.php | 6 +++--- lib/feedlist.php | 8 ++++---- lib/form.php | 8 ++++---- lib/groupdesignaction.php | 4 ++-- lib/groupeditform.php | 8 ++++---- lib/grouplist.php | 4 ++-- lib/groupminilist.php | 4 ++-- lib/groupnav.php | 8 ++++---- lib/groupsbymemberssection.php | 4 ++-- lib/groupsbypostssection.php | 4 ++-- lib/groupsection.php | 4 ++-- lib/grouptagcloudsection.php | 4 ++-- lib/htmloutputter.php | 8 ++++---- lib/imagefile.php | 8 ++++---- lib/jabber.php | 2 +- lib/joinform.php | 8 ++++---- lib/jsonsearchresultslist.php | 6 +++--- lib/language.php | 2 +- lib/leaveform.php | 8 ++++---- lib/logingroupnav.php | 4 ++-- lib/mail.php | 8 ++++---- lib/mailbox.php | 4 ++-- lib/messageform.php | 8 ++++---- lib/microid.php | 4 ++-- lib/noticeform.php | 8 ++++---- lib/noticelist.php | 8 ++++---- lib/noticesection.php | 4 ++-- lib/nudgeform.php | 8 ++++---- lib/oauthclient.php | 6 +++--- lib/ownerdesignaction.php | 4 ++-- lib/parallelizingdaemon.php | 8 ++++---- lib/personalgroupnav.php | 8 ++++---- lib/personaltagcloudsection.php | 4 ++-- lib/plugin.php | 4 ++-- lib/popularnoticesection.php | 4 ++-- lib/profileaction.php | 6 +++--- lib/profilelist.php | 6 +++--- lib/profileminilist.php | 4 ++-- lib/profilesection.php | 4 ++-- lib/publicgroupnav.php | 6 +++--- lib/queuemanager.php | 4 ++-- lib/router.php | 4 ++-- lib/rssaction.php | 2 +- lib/searchaction.php | 8 ++++---- lib/searchgroupnav.php | 4 ++-- lib/section.php | 4 ++-- lib/servererroraction.php | 6 +++--- lib/serverexception.php | 4 ++-- lib/settingsaction.php | 4 ++-- lib/snapshot.php | 4 ++-- lib/stompqueuemanager.php | 4 ++-- lib/subgroupnav.php | 4 ++-- lib/subpeopletagcloudsection.php | 4 ++-- lib/subscribeform.php | 8 ++++---- lib/subscriberspeopleselftagcloudsection.php | 4 ++-- lib/subscriberspeopletagcloudsection.php | 4 ++-- lib/subscriptionlist.php | 6 +++--- lib/subscriptionspeopleselftagcloudsection.php | 4 ++-- lib/subscriptionspeopletagcloudsection.php | 4 ++-- lib/tagcloudsection.php | 4 ++-- lib/theme.php | 4 ++-- lib/topposterssection.php | 4 ++-- lib/twitteroauthclient.php | 4 ++-- lib/unblockform.php | 8 ++++---- lib/unqueuemanager.php | 4 ++-- lib/unsubscribeform.php | 8 ++++---- lib/webcolor.php | 2 +- lib/widget.php | 8 ++++---- lib/xmloutputter.php | 8 ++++---- lib/xmlstringer.php | 4 ++-- scripts/synctwitterfriends.php | 4 ++-- scripts/twitterstatusfetcher.php | 4 ++-- 174 files changed, 510 insertions(+), 510 deletions(-) diff --git a/actions/accesstoken.php b/actions/accesstoken.php index 064c6da248..551c2e4d83 100644 --- a/actions/accesstoken.php +++ b/actions/accesstoken.php @@ -6,8 +6,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -39,8 +39,8 @@ require_once INSTALLDIR.'/lib/omb.php'; * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/actions/allrss.php b/actions/allrss.php index 61aa5b475b..0313ef6114 100644 --- a/actions/allrss.php +++ b/actions/allrss.php @@ -7,8 +7,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -42,8 +42,8 @@ require_once INSTALLDIR.'/lib/rssaction.php'; * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/actions/attachment.php b/actions/attachment.php index a1db8f8ba8..f417d47ee8 100644 --- a/actions/attachment.php +++ b/actions/attachment.php @@ -21,7 +21,7 @@ * * @category Personal * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/attachmentlist.php'; * * @category Personal * @package StatusNet - * @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://status.net/ */ diff --git a/actions/attachment_ajax.php b/actions/attachment_ajax.php index e4e6431ba2..6701a94637 100644 --- a/actions/attachment_ajax.php +++ b/actions/attachment_ajax.php @@ -21,7 +21,7 @@ * * @category Personal * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/actions/attachment.php'; * * @category Personal * @package StatusNet - * @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://status.net/ */ diff --git a/actions/attachment_thumbnail.php b/actions/attachment_thumbnail.php index e325713226..e27480424d 100644 --- a/actions/attachment_thumbnail.php +++ b/actions/attachment_thumbnail.php @@ -21,7 +21,7 @@ * * @category Personal * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/actions/attachment.php'; * * @category Personal * @package StatusNet - * @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://status.net/ */ diff --git a/actions/avatarbynickname.php b/actions/avatarbynickname.php index 2e1149511e..0b0d77aadc 100644 --- a/actions/avatarbynickname.php +++ b/actions/avatarbynickname.php @@ -6,8 +6,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -37,8 +37,8 @@ if (!defined('LACONICA')) { * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/actions/avatarsettings.php b/actions/avatarsettings.php index dec4049e40..d5be3463b2 100644 --- a/actions/avatarsettings.php +++ b/actions/avatarsettings.php @@ -21,8 +21,8 @@ * * @category Settings * @package StatusNet - * @author Evan Prodromou - * @author Zach Copley + * @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://status.net/ @@ -43,9 +43,9 @@ define('MAX_ORIGINAL', 480); * * @category Settings * @package StatusNet - * @author Evan Prodromou - * @author Zach Copley - * @author Sarven Capadisli + * @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://status.net/ */ diff --git a/actions/block.php b/actions/block.php index d0ac7836cb..9687783a8d 100644 --- a/actions/block.php +++ b/actions/block.php @@ -6,8 +6,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -37,8 +37,8 @@ if (!defined('LACONICA')) { * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/actions/blockedfromgroup.php b/actions/blockedfromgroup.php index 9d1beab725..dea868fc63 100644 --- a/actions/blockedfromgroup.php +++ b/actions/blockedfromgroup.php @@ -21,7 +21,7 @@ * * @category Group * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * * @category Group * @package StatusNet - * @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://status.net/ */ @@ -191,8 +191,8 @@ class GroupBlockListItem extends ProfileListItem * * @category Form * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ * diff --git a/actions/confirmaddress.php b/actions/confirmaddress.php index dc6d4c339b..2b7b949a48 100644 --- a/actions/confirmaddress.php +++ b/actions/confirmaddress.php @@ -21,7 +21,7 @@ * * @category Confirm * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -40,7 +40,7 @@ if (!defined('LACONICA')) { * * @category Confirm * @package StatusNet - * @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://status.net/ */ diff --git a/actions/conversation.php b/actions/conversation.php index 7f5483ef1e..b284e4dd75 100644 --- a/actions/conversation.php +++ b/actions/conversation.php @@ -6,7 +6,7 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou + * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -41,7 +41,7 @@ require_once INSTALLDIR.'/lib/noticelist.php'; * * @category Action * @package StatusNet - * @author Evan Prodromou + * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ @@ -130,7 +130,7 @@ class ConversationAction extends Action * * @category Widget * @package StatusNet - * @author Evan Prodromou + * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ @@ -251,7 +251,7 @@ class ConversationTree extends NoticeList * * @category Widget * @package StatusNet - * @author Evan Prodromou + * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/actions/deletenotice.php b/actions/deletenotice.php index 22c3fc3b94..24f70b5dbb 100644 --- a/actions/deletenotice.php +++ b/actions/deletenotice.php @@ -21,8 +21,8 @@ * * @category Personal * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ diff --git a/actions/disfavor.php b/actions/disfavor.php index ff78f79e6c..67b16bfd38 100644 --- a/actions/disfavor.php +++ b/actions/disfavor.php @@ -7,8 +7,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -40,8 +40,8 @@ require_once INSTALLDIR.'/lib/favorform.php'; * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/actions/doc.php b/actions/doc.php index bfa90e0800..522441824c 100644 --- a/actions/doc.php +++ b/actions/doc.php @@ -7,8 +7,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -38,8 +38,8 @@ if (!defined('LACONICA')) { * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/actions/editgroup.php b/actions/editgroup.php index 1c27ecefbc..ea317f365d 100644 --- a/actions/editgroup.php +++ b/actions/editgroup.php @@ -21,9 +21,9 @@ * * @category Group * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli - * @author Zach Copley + * @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://status.net/ @@ -40,8 +40,8 @@ if (!defined('LACONICA')) { * * @category Group * @package StatusNet - * @author Evan Prodromou - * @author Zach Copley + * @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://status.net/ */ diff --git a/actions/emailsettings.php b/actions/emailsettings.php index d54d942720..8bd1c74c47 100644 --- a/actions/emailsettings.php +++ b/actions/emailsettings.php @@ -21,8 +21,8 @@ * * @category Settings * @package StatusNet - * @author Evan Prodromou - * @author Zach Copley + * @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://status.net/ @@ -39,8 +39,8 @@ require_once INSTALLDIR.'/lib/accountsettingsaction.php'; * * @category Settings * @package StatusNet - * @author Evan Prodromou - * @author Zach Copley + * @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://status.net/ * diff --git a/actions/favor.php b/actions/favor.php index d10beb8d61..17d0d9d17a 100644 --- a/actions/favor.php +++ b/actions/favor.php @@ -7,8 +7,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -41,8 +41,8 @@ require_once INSTALLDIR.'/lib/disfavorform.php'; * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/actions/favorited.php b/actions/favorited.php index 2929736abc..445c307679 100644 --- a/actions/favorited.php +++ b/actions/favorited.php @@ -21,8 +21,8 @@ * * @category Public * @package StatusNet - * @author Zach Copley - * @author Evan Prodromou + * @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://status.net/ @@ -43,8 +43,8 @@ require_once INSTALLDIR.'/lib/noticelist.php'; * * @category Personal * @package StatusNet - * @author Zach Copley - * @author Evan Prodromou + * @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://status.net/ */ diff --git a/actions/favoritesrss.php b/actions/favoritesrss.php index 3603c6e43c..0c6c4b8f9a 100644 --- a/actions/favoritesrss.php +++ b/actions/favoritesrss.php @@ -7,8 +7,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -42,9 +42,9 @@ require_once INSTALLDIR.'/lib/rssaction.php'; * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette - * @author Zach Copley + * @author Evan Prodromou + * @author Robin Millette + * @author Zach Copley * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/actions/featured.php b/actions/featured.php index 4211c67eae..ac1912ba37 100644 --- a/actions/featured.php +++ b/actions/featured.php @@ -21,8 +21,8 @@ * * @category Public * @package StatusNet - * @author Zach Copley - * @author Evan Prodromou + * @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://status.net/ @@ -40,8 +40,8 @@ require_once INSTALLDIR.'/lib/publicgroupnav.php'; * * @category Public * @package StatusNet - * @author Zach Copley - * @author Evan Prodromou + * @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://status.net/ */ diff --git a/actions/finishaddopenid.php b/actions/finishaddopenid.php index 98db9eb4f3..f8d88587d5 100644 --- a/actions/finishaddopenid.php +++ b/actions/finishaddopenid.php @@ -21,7 +21,7 @@ * * @category Settings * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -40,7 +40,7 @@ require_once INSTALLDIR.'/lib/openid.php'; * * @category Settings * @package StatusNet - * @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://status.net/ */ diff --git a/actions/groupblock.php b/actions/groupblock.php index 5b3dd545ab..7735e2dcf2 100644 --- a/actions/groupblock.php +++ b/actions/groupblock.php @@ -6,7 +6,7 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou + * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * * @category Action * @package StatusNet - * @author Evan Prodromou + * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/actions/groupbyid.php b/actions/groupbyid.php index 9bbf8d3d2a..8775676f78 100644 --- a/actions/groupbyid.php +++ b/actions/groupbyid.php @@ -21,8 +21,8 @@ * * @category Group * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -43,7 +43,7 @@ require_once INSTALLDIR.'/lib/feedlist.php'; * * @category Group * @package StatusNet - * @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://status.net/ */ diff --git a/actions/groupdesignsettings.php b/actions/groupdesignsettings.php index 973c1b8026..aae4ae865d 100644 --- a/actions/groupdesignsettings.php +++ b/actions/groupdesignsettings.php @@ -21,8 +21,8 @@ * * @category Settings * @package StatusNet - * @author Sarven Capadisli - * @author Zach Copley + * @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://status.net/ @@ -41,8 +41,8 @@ require_once INSTALLDIR . '/lib/designsettings.php'; * * @category Settings * @package StatusNet - * @author Zach Copley - * @author Sarven Capadisli + * @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://status.net/ */ diff --git a/actions/grouplogo.php b/actions/grouplogo.php index 74e8e71367..f9354d458b 100644 --- a/actions/grouplogo.php +++ b/actions/grouplogo.php @@ -21,8 +21,8 @@ * * @category Settings * @package StatusNet - * @author Evan Prodromou - * @author Zach Copley + * @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://status.net/ @@ -43,9 +43,9 @@ define('MAX_ORIGINAL', 480); * * @category Settings * @package StatusNet - * @author Evan Prodromou - * @author Zach Copley - * @author Sarven Capadisli + * @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://status.net/ */ diff --git a/actions/groupmembers.php b/actions/groupmembers.php index 7df5147589..265d2ca0e1 100644 --- a/actions/groupmembers.php +++ b/actions/groupmembers.php @@ -21,7 +21,7 @@ * * @category Group * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -39,7 +39,7 @@ require_once INSTALLDIR.'/lib/publicgroupnav.php'; * * @category Group * @package StatusNet - * @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://status.net/ */ @@ -221,8 +221,8 @@ class GroupMemberListItem extends ProfileListItem * * @category Form * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ * @@ -349,8 +349,8 @@ class GroupBlockForm extends Form * * @category Form * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ */ diff --git a/actions/grouprss.php b/actions/grouprss.php index 21e493fe55..ad60940322 100644 --- a/actions/grouprss.php +++ b/actions/grouprss.php @@ -21,8 +21,8 @@ * * @category Group * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -41,7 +41,7 @@ define('MEMBERS_PER_SECTION', 27); * * @category Group * @package StatusNet - * @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://status.net/ */ diff --git a/actions/groups.php b/actions/groups.php index e862428fce..09216e6134 100644 --- a/actions/groups.php +++ b/actions/groups.php @@ -21,8 +21,8 @@ * * @category Personal * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -41,7 +41,7 @@ require_once INSTALLDIR.'/lib/grouplist.php'; * * @category Personal * @package StatusNet - * @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://status.net/ */ diff --git a/actions/groupsearch.php b/actions/groupsearch.php index 6d49792723..a7004366f5 100644 --- a/actions/groupsearch.php +++ b/actions/groupsearch.php @@ -6,8 +6,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -40,8 +40,8 @@ if (!defined('LACONICA')) { * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/actions/groupunblock.php b/actions/groupunblock.php index fc79538361..45d70841c7 100644 --- a/actions/groupunblock.php +++ b/actions/groupunblock.php @@ -6,7 +6,7 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou + * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * * @category Action * @package StatusNet - * @author Evan Prodromou + * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/actions/imsettings.php b/actions/imsettings.php index bfad8eaf9f..3e89b6f664 100644 --- a/actions/imsettings.php +++ b/actions/imsettings.php @@ -21,7 +21,7 @@ * * @category Settings * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -39,7 +39,7 @@ require_once INSTALLDIR.'/lib/jabber.php'; * * @category Settings * @package StatusNet - * @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://status.net/ * diff --git a/actions/inbox.php b/actions/inbox.php index 2ee7660135..757461fe80 100644 --- a/actions/inbox.php +++ b/actions/inbox.php @@ -21,7 +21,7 @@ * * @category Message * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/mailbox.php'; * * @category Message * @package StatusNet - * @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://status.net/ * @see MailboxAction diff --git a/actions/joingroup.php b/actions/joingroup.php index 599cf50e36..bf19a2ad9d 100644 --- a/actions/joingroup.php +++ b/actions/joingroup.php @@ -21,7 +21,7 @@ * * @category Group * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -39,7 +39,7 @@ if (!defined('LACONICA')) { * * @category Group * @package StatusNet - * @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://status.net/ */ diff --git a/actions/leavegroup.php b/actions/leavegroup.php index a87e6225dd..347440ed6d 100644 --- a/actions/leavegroup.php +++ b/actions/leavegroup.php @@ -21,7 +21,7 @@ * * @category Group * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -39,7 +39,7 @@ if (!defined('LACONICA')) { * * @category Group * @package StatusNet - * @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://status.net/ */ diff --git a/actions/login.php b/actions/login.php index c187a587fb..020f5ea634 100644 --- a/actions/login.php +++ b/actions/login.php @@ -21,7 +21,7 @@ * * @category Login * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * * @category Personal * @package StatusNet - * @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://status.net/ */ diff --git a/actions/logout.php b/actions/logout.php index 237348628b..6e147ccc05 100644 --- a/actions/logout.php +++ b/actions/logout.php @@ -6,8 +6,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -39,8 +39,8 @@ require_once INSTALLDIR.'/lib/openid.php'; * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/actions/makeadmin.php b/actions/makeadmin.php index 9bc0d37107..7ab41fa6e7 100644 --- a/actions/makeadmin.php +++ b/actions/makeadmin.php @@ -6,7 +6,7 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou + * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * * @category Action * @package StatusNet - * @author Evan Prodromou + * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/actions/microsummary.php b/actions/microsummary.php index b5cfb974ef..585ef788aa 100644 --- a/actions/microsummary.php +++ b/actions/microsummary.php @@ -6,8 +6,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -37,8 +37,8 @@ if (!defined('LACONICA')) { * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/actions/newgroup.php b/actions/newgroup.php index a1cbb4d4ac..f16c25f1a6 100644 --- a/actions/newgroup.php +++ b/actions/newgroup.php @@ -21,8 +21,8 @@ * * @category Group * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -39,7 +39,7 @@ if (!defined('LACONICA')) { * * @category Group * @package StatusNet - * @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://status.net/ */ diff --git a/actions/newmessage.php b/actions/newmessage.php index ca9d3703a2..9ca3e66e1f 100644 --- a/actions/newmessage.php +++ b/actions/newmessage.php @@ -21,9 +21,9 @@ * * @category Personal * @package StatusNet - * @author Evan Prodromou - * @author Zach Copley - * @author Sarven Capadisli + * @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://status.net/ @@ -38,9 +38,9 @@ if (!defined('LACONICA')) { * * @category Personal * @package StatusNet - * @author Evan Prodromou - * @author Zach Copley - * @author Sarven Capadisli + * @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://status.net/ */ diff --git a/actions/newnotice.php b/actions/newnotice.php index 3fcf0df548..bc1b7b06ab 100644 --- a/actions/newnotice.php +++ b/actions/newnotice.php @@ -21,9 +21,9 @@ * * @category Personal * @package StatusNet - * @author Evan Prodromou - * @author Zach Copley - * @author Sarven Capadisli + * @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://status.net/ @@ -40,9 +40,9 @@ require_once INSTALLDIR.'/lib/noticelist.php'; * * @category Personal * @package StatusNet - * @author Evan Prodromou - * @author Zach Copley - * @author Sarven Capadisli + * @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://status.net/ */ diff --git a/actions/noticesearch.php b/actions/noticesearch.php index 59f2a5092f..fc849f4dce 100644 --- a/actions/noticesearch.php +++ b/actions/noticesearch.php @@ -6,9 +6,9 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette - * @author Sarven Capadisli + * @author Evan Prodromou + * @author Robin Millette + * @author Sarven Capadisli * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -40,8 +40,8 @@ require_once INSTALLDIR.'/lib/searchaction.php'; * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @todo common parent for people and content search? diff --git a/actions/noticesearchrss.php b/actions/noticesearchrss.php index c49a5a1ba5..a1d36ff56c 100644 --- a/actions/noticesearchrss.php +++ b/actions/noticesearchrss.php @@ -6,8 +6,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -41,8 +41,8 @@ require_once INSTALLDIR.'/lib/rssaction.php'; * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/actions/nudge.php b/actions/nudge.php index ae9a375007..58ec0cbc04 100644 --- a/actions/nudge.php +++ b/actions/nudge.php @@ -7,8 +7,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -40,9 +40,9 @@ require_once INSTALLDIR.'/lib/mail.php'; * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette - * @author Sarven Capadisli + * @author Evan Prodromou + * @author Robin Millette + * @author Sarven Capadisli * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/actions/oembed.php b/actions/oembed.php index 3236527142..3940a4db48 100644 --- a/actions/oembed.php +++ b/actions/oembed.php @@ -21,7 +21,7 @@ * * @category Twitter * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ diff --git a/actions/openidsettings.php b/actions/openidsettings.php index 86db7478ad..5812546517 100644 --- a/actions/openidsettings.php +++ b/actions/openidsettings.php @@ -21,7 +21,7 @@ * * @category Settings * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -41,7 +41,7 @@ require_once INSTALLDIR.'/lib/openid.php'; * * @category Settings * @package StatusNet - * @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://status.net/ */ diff --git a/actions/opensearch.php b/actions/opensearch.php index c32a34f610..81efcea9bf 100644 --- a/actions/opensearch.php +++ b/actions/opensearch.php @@ -7,8 +7,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -40,8 +40,8 @@ if (!defined('LACONICA')) { * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/actions/othersettings.php b/actions/othersettings.php index 056a0c2d45..3953bbb88c 100644 --- a/actions/othersettings.php +++ b/actions/othersettings.php @@ -21,8 +21,8 @@ * * @category Settings * @package StatusNet - * @author Robin Millette - * @author Evan Prodromou + * @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://status.net/ @@ -41,8 +41,8 @@ require_once INSTALLDIR.'/lib/accountsettingsaction.php'; * * @category Settings * @package StatusNet - * @author Robin Millette - * @author Zach Copley + * @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://status.net/ */ diff --git a/actions/outbox.php b/actions/outbox.php index 869360efa1..726934ae61 100644 --- a/actions/outbox.php +++ b/actions/outbox.php @@ -21,7 +21,7 @@ * * @category Message * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/mailbox.php'; * * @category Message * @package StatusNet - * @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://status.net/ * @see MailboxAction diff --git a/actions/passwordsettings.php b/actions/passwordsettings.php index 905940557c..43188030f0 100644 --- a/actions/passwordsettings.php +++ b/actions/passwordsettings.php @@ -21,8 +21,8 @@ * * @category Settings * @package StatusNet - * @author Evan Prodromou - * @author Zach Copley + * @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://status.net/ @@ -39,8 +39,8 @@ require_once INSTALLDIR.'/lib/accountsettingsaction.php'; * * @category Settings * @package StatusNet - * @author Evan Prodromou - * @author Zach Copley + * @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://status.net/ */ diff --git a/actions/peoplesearch.php b/actions/peoplesearch.php index 3bad19d832..e083faf621 100644 --- a/actions/peoplesearch.php +++ b/actions/peoplesearch.php @@ -6,8 +6,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -40,8 +40,8 @@ require_once INSTALLDIR.'/lib/profilelist.php'; * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ @@ -94,8 +94,8 @@ class PeoplesearchAction extends SearchAction * * @category Widget * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * diff --git a/actions/peopletag.php b/actions/peopletag.php index 310d91eeab..bf15e1e2e6 100644 --- a/actions/peopletag.php +++ b/actions/peopletag.php @@ -21,8 +21,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Zach Copley + * @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://status.net/ @@ -39,8 +39,8 @@ require_once INSTALLDIR.'/lib/profilelist.php'; * * @category Output * @package StatusNet - * @author Evan Prodromou - * @author Zach Copley + * @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://status.net/ * diff --git a/actions/profilesettings.php b/actions/profilesettings.php index 390e855246..013e3ac820 100644 --- a/actions/profilesettings.php +++ b/actions/profilesettings.php @@ -21,8 +21,8 @@ * * @category Settings * @package StatusNet - * @author Evan Prodromou - * @author Zach Copley + * @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://status.net/ @@ -39,8 +39,8 @@ require_once INSTALLDIR.'/lib/accountsettingsaction.php'; * * @category Settings * @package StatusNet - * @author Evan Prodromou - * @author Zach Copley + * @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://status.net/ */ diff --git a/actions/public.php b/actions/public.php index 2c8d2c4f9c..4ea48a2ff0 100644 --- a/actions/public.php +++ b/actions/public.php @@ -21,7 +21,7 @@ * * @category Public * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -44,7 +44,7 @@ define('MAX_PUBLIC_PAGE', 100); * * @category Public * @package StatusNet - * @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://status.net/ * diff --git a/actions/publicrss.php b/actions/publicrss.php index 6fc7dfa808..55ef3c66b9 100644 --- a/actions/publicrss.php +++ b/actions/publicrss.php @@ -7,8 +7,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -42,8 +42,8 @@ require_once INSTALLDIR.'/lib/rssaction.php'; * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/actions/publictagcloud.php b/actions/publictagcloud.php index 0fbd41901a..de987184b7 100644 --- a/actions/publictagcloud.php +++ b/actions/publictagcloud.php @@ -22,7 +22,7 @@ * @category Public * @package StatusNet * @author Mike Cochrane - * @author Evan Prodromou + * @author Evan Prodromou * @copyright 2008 Mike Cochrane * @copyright 2008-2009 StatusNet, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 @@ -39,7 +39,7 @@ define('TAGS_PER_PAGE', 100); * @category Personal * @package StatusNet * @author Mike Cochrane - * @author Evan Prodromou + * @author Evan Prodromou * @copyright 2008 Mike Cochrane * @copyright 2008-2009 StatusNet, Inc. * @link http://status.net/ diff --git a/actions/publicxrds.php b/actions/publicxrds.php index e30c7f8fbd..afc5463d33 100644 --- a/actions/publicxrds.php +++ b/actions/publicxrds.php @@ -7,8 +7,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -40,8 +40,8 @@ require_once INSTALLDIR.'/lib/openid.php'; * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * diff --git a/actions/register.php b/actions/register.php index d256cb093b..35c1ddd4bd 100644 --- a/actions/register.php +++ b/actions/register.php @@ -21,7 +21,7 @@ * * @category Login * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * * @category Login * @package StatusNet - * @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://status.net/ */ diff --git a/actions/replies.php b/actions/replies.php index ff634ce6ff..37c1f33e6f 100644 --- a/actions/replies.php +++ b/actions/replies.php @@ -21,7 +21,7 @@ * * @category Personal * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -40,7 +40,7 @@ require_once INSTALLDIR.'/lib/feedlist.php'; * * @category Personal * @package StatusNet - * @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://status.net/ */ diff --git a/actions/requesttoken.php b/actions/requesttoken.php index 8755fa4478..1ece3e6b0a 100644 --- a/actions/requesttoken.php +++ b/actions/requesttoken.php @@ -7,8 +7,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -40,8 +40,8 @@ require_once INSTALLDIR.'/lib/omb.php'; * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/actions/showfavorites.php b/actions/showfavorites.php index 5be2814d15..41178c5a99 100644 --- a/actions/showfavorites.php +++ b/actions/showfavorites.php @@ -21,7 +21,7 @@ * * @category Personal * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -40,7 +40,7 @@ require_once INSTALLDIR.'/lib/feedlist.php'; * * @category Personal * @package StatusNet - * @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://status.net/ */ diff --git a/actions/showgroup.php b/actions/showgroup.php index e33da9b9ac..ed980233a5 100644 --- a/actions/showgroup.php +++ b/actions/showgroup.php @@ -21,8 +21,8 @@ * * @category Group * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -42,7 +42,7 @@ define('MEMBERS_PER_SECTION', 27); * * @category Group * @package StatusNet - * @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://status.net/ */ diff --git a/actions/showmessage.php b/actions/showmessage.php index d89e0792d5..522fec490c 100644 --- a/actions/showmessage.php +++ b/actions/showmessage.php @@ -21,7 +21,7 @@ * * @category Personal * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -39,7 +39,7 @@ require_once INSTALLDIR.'/lib/mailbox.php'; * * @category Personal * @package StatusNet - * @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://status.net/ */ diff --git a/actions/shownotice.php b/actions/shownotice.php index 7e83724a7b..92911effb1 100644 --- a/actions/shownotice.php +++ b/actions/shownotice.php @@ -21,7 +21,7 @@ * * @category Personal * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -40,7 +40,7 @@ require_once INSTALLDIR.'/lib/feedlist.php'; * * @category Personal * @package StatusNet - * @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://status.net/ */ diff --git a/actions/showstream.php b/actions/showstream.php index 68dabe6815..76482e97af 100644 --- a/actions/showstream.php +++ b/actions/showstream.php @@ -21,8 +21,8 @@ * * @category Personal * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -49,7 +49,7 @@ require_once INSTALLDIR.'/lib/feedlist.php'; * * @category Personal * @package StatusNet - * @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://status.net/ */ diff --git a/actions/smssettings.php b/actions/smssettings.php index 123c16316b..587cf7d584 100644 --- a/actions/smssettings.php +++ b/actions/smssettings.php @@ -21,7 +21,7 @@ * * @category Settings * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/connectsettingsaction.php'; * * @category Settings * @package StatusNet - * @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://status.net/ * diff --git a/actions/subscribers.php b/actions/subscribers.php index 0f173e041e..66a531c3f8 100644 --- a/actions/subscribers.php +++ b/actions/subscribers.php @@ -21,8 +21,8 @@ * * @category Social * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -37,7 +37,7 @@ if (!defined('LACONICA')) { * * @category Social * @package StatusNet - * @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://status.net/ */ diff --git a/actions/subscriptions.php b/actions/subscriptions.php index a8c790531a..656dea688d 100644 --- a/actions/subscriptions.php +++ b/actions/subscriptions.php @@ -21,8 +21,8 @@ * * @category Social * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -37,7 +37,7 @@ if (!defined('LACONICA')) { * * @category Social * @package StatusNet - * @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://status.net/ */ diff --git a/actions/twitapigroups.php b/actions/twitapigroups.php index 866492b7b2..f39975237d 100644 --- a/actions/twitapigroups.php +++ b/actions/twitapigroups.php @@ -22,7 +22,7 @@ * @category Twitter * @package StatusNet * @author Craig Andrews - * @author Zach Copley + * @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/ @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/twitterapi.php'; * @category Twitter * @package StatusNet * @author Craig Andrews - * @author Zach Copley + * @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/ diff --git a/actions/twitapisearchatom.php b/actions/twitapisearchatom.php index 560eb64d29..5ecec96841 100644 --- a/actions/twitapisearchatom.php +++ b/actions/twitapisearchatom.php @@ -21,7 +21,7 @@ * * @category Search * @package StatusNet - * @author Zach Copley + * @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://status.net/ @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/twitterapi.php'; * * @category Search * @package StatusNet - * @author Zach Copley + * @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/ * diff --git a/actions/twitapisearchjson.php b/actions/twitapisearchjson.php index 8c80aca3b0..73735c5b5c 100644 --- a/actions/twitapisearchjson.php +++ b/actions/twitapisearchjson.php @@ -21,7 +21,7 @@ * * @category Search * @package StatusNet - * @author Zach Copley + * @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://status.net/ @@ -39,7 +39,7 @@ require_once INSTALLDIR.'/lib/jsonsearchresultslist.php'; * * @category Search * @package StatusNet - * @author Zach Copley + * @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/ * @see TwitterapiAction diff --git a/actions/twitapistatusnet.php b/actions/twitapistatusnet.php index 80ddb48a9e..ff159f207c 100644 --- a/actions/twitapistatusnet.php +++ b/actions/twitapistatusnet.php @@ -21,7 +21,7 @@ * * @category Twitter * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -40,7 +40,7 @@ require_once INSTALLDIR.'/lib/twitterapi.php'; * * @category Twitter * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ diff --git a/actions/twitapitags.php b/actions/twitapitags.php index 9480d5abd4..9ed9970a39 100644 --- a/actions/twitapitags.php +++ b/actions/twitapitags.php @@ -22,7 +22,7 @@ * @category Twitter * @package StatusNet * @author Craig Andrews - * @author Zach Copley + * @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/ @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/twitterapi.php'; * @category Twitter * @package StatusNet * @author Craig Andrews - * @author Zach Copley + * @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/ diff --git a/actions/twitapitrends.php b/actions/twitapitrends.php index e6baf7c631..f76601768b 100644 --- a/actions/twitapitrends.php +++ b/actions/twitapitrends.php @@ -21,7 +21,7 @@ * * @category Search * @package StatusNet - * @author Zach Copley + * @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://status.net/ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/twitterapi.php'; * * @category Search * @package StatusNet - * @author Zach Copley + * @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/ * diff --git a/actions/twitterauthorization.php b/actions/twitterauthorization.php index 123aafbbd7..1861c1fcbd 100644 --- a/actions/twitterauthorization.php +++ b/actions/twitterauthorization.php @@ -21,7 +21,7 @@ * * @category TwitterauthorizationAction * @package StatusNet - * @author Zach Copely + * @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://status.net/ diff --git a/actions/twittersettings.php b/actions/twittersettings.php index bb003c3434..3890976677 100644 --- a/actions/twittersettings.php +++ b/actions/twittersettings.php @@ -21,7 +21,7 @@ * * @category Settings * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -39,7 +39,7 @@ require_once INSTALLDIR.'/lib/twitter.php'; * * @category Settings * @package StatusNet - * @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://status.net/ * diff --git a/actions/unblock.php b/actions/unblock.php index afd6cfcdfb..e4dbf4ca72 100644 --- a/actions/unblock.php +++ b/actions/unblock.php @@ -6,8 +6,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -37,8 +37,8 @@ if (!defined('LACONICA')) { * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/actions/unsubscribe.php b/actions/unsubscribe.php index 3ce96aefbe..91d06cfa61 100644 --- a/actions/unsubscribe.php +++ b/actions/unsubscribe.php @@ -6,8 +6,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -37,8 +37,8 @@ if (!defined('LACONICA')) { * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/actions/userbyid.php b/actions/userbyid.php index b6908846a5..5fa929a93c 100644 --- a/actions/userbyid.php +++ b/actions/userbyid.php @@ -7,8 +7,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ @@ -38,8 +38,8 @@ if (!defined('LACONICA')) { * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/actions/userdesignsettings.php b/actions/userdesignsettings.php index fc9c471cf2..312ca11503 100644 --- a/actions/userdesignsettings.php +++ b/actions/userdesignsettings.php @@ -21,8 +21,8 @@ * * @category Settings * @package StatusNet - * @author Sarven Capadisli - * @author Zach Copley + * @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://status.net/ @@ -41,8 +41,8 @@ require_once INSTALLDIR . '/lib/designsettings.php'; * * @category Settings * @package StatusNet - * @author Zach Copley - * @author Sarven Capadisli + * @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://status.net/ */ diff --git a/actions/usergroups.php b/actions/usergroups.php index 9543eb4801..fa7068a3be 100644 --- a/actions/usergroups.php +++ b/actions/usergroups.php @@ -21,8 +21,8 @@ * * @category Personal * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -41,7 +41,7 @@ require_once INSTALLDIR.'/lib/grouplist.php'; * * @category Personal * @package StatusNet - * @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://status.net/ */ diff --git a/actions/xrds.php b/actions/xrds.php index 0258f9b2de..ef1ebaed0e 100644 --- a/actions/xrds.php +++ b/actions/xrds.php @@ -7,8 +7,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -40,8 +40,8 @@ require_once INSTALLDIR.'/lib/omb.php'; * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/lib/accountsettingsaction.php b/lib/accountsettingsaction.php index 972b3693ed..d5dc0b217d 100644 --- a/lib/accountsettingsaction.php +++ b/lib/accountsettingsaction.php @@ -21,7 +21,7 @@ * * @category Settings * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/settingsaction.php'; * * @category Settings * @package StatusNet - * @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://status.net/ * @@ -67,7 +67,7 @@ class AccountSettingsAction extends SettingsAction * * @category Widget * @package StatusNet - * @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://status.net/ * diff --git a/lib/action.php b/lib/action.php index 9507df3baa..fdfb6ebc6c 100644 --- a/lib/action.php +++ b/lib/action.php @@ -21,8 +21,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -46,8 +46,8 @@ require_once INSTALLDIR.'/lib/htmloutputter.php'; * * @category Output * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ * diff --git a/lib/attachmentlist.php b/lib/attachmentlist.php index 4a221ec352..51fc40457f 100644 --- a/lib/attachmentlist.php +++ b/lib/attachmentlist.php @@ -21,8 +21,8 @@ * * @category UI * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -42,7 +42,7 @@ if (!defined('LACONICA')) { * * @category UI * @package StatusNet - * @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://status.net/ * @see Notice @@ -128,7 +128,7 @@ class AttachmentList extends Widget * * @category UI * @package StatusNet - * @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://status.net/ * @see NoticeList diff --git a/lib/attachmentnoticesection.php b/lib/attachmentnoticesection.php index 127fe5824e..630a149acb 100644 --- a/lib/attachmentnoticesection.php +++ b/lib/attachmentnoticesection.php @@ -21,7 +21,7 @@ * * @category Widget * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * * @category Widget * @package StatusNet - * @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://status.net/ */ diff --git a/lib/attachmenttagcloudsection.php b/lib/attachmenttagcloudsection.php index d751079aa2..83b561104d 100644 --- a/lib/attachmenttagcloudsection.php +++ b/lib/attachmenttagcloudsection.php @@ -21,7 +21,7 @@ * * @category Widget * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * * @category Widget * @package StatusNet - * @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://status.net/ */ diff --git a/lib/blockform.php b/lib/blockform.php index e5ed31b0f7..403ac59fee 100644 --- a/lib/blockform.php +++ b/lib/blockform.php @@ -21,8 +21,8 @@ * * @category Form * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -39,8 +39,8 @@ require_once INSTALLDIR.'/lib/form.php'; * * @category Form * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ * diff --git a/lib/clienterroraction.php b/lib/clienterroraction.php index cf7129c938..cd7d85221e 100644 --- a/lib/clienterroraction.php +++ b/lib/clienterroraction.php @@ -7,8 +7,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Zach Copley + * @author Evan Prodromou + * @author Zach Copley * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -40,7 +40,7 @@ require_once INSTALLDIR.'/lib/error.php'; * * @category Action * @package StatusNet - * @author Zach Copley + * @author Zach Copley * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/lib/clientexception.php b/lib/clientexception.php index c1492be745..bf26ec2eb4 100644 --- a/lib/clientexception.php +++ b/lib/clientexception.php @@ -21,7 +21,7 @@ * * @category Exception * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * * @category Exception * @package StatusNet - * @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://status.net/ */ diff --git a/lib/connectsettingsaction.php b/lib/connectsettingsaction.php index 75c825621c..03142d4e5f 100644 --- a/lib/connectsettingsaction.php +++ b/lib/connectsettingsaction.php @@ -21,7 +21,7 @@ * * @category Settings * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/settingsaction.php'; * * @category Settings * @package StatusNet - * @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://status.net/ * @@ -67,7 +67,7 @@ class ConnectSettingsAction extends SettingsAction * * @category Widget * @package StatusNet - * @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://status.net/ * diff --git a/lib/currentuserdesignaction.php b/lib/currentuserdesignaction.php index 7ff7c3399a..874e3ff982 100644 --- a/lib/currentuserdesignaction.php +++ b/lib/currentuserdesignaction.php @@ -21,7 +21,7 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -39,7 +39,7 @@ if (!defined('LACONICA')) { * * @category Action * @package StatusNet - * @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://status.net/ * diff --git a/lib/dberroraction.php b/lib/dberroraction.php index 2b9fad4e6c..a56ad9369c 100644 --- a/lib/dberroraction.php +++ b/lib/dberroraction.php @@ -6,8 +6,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Zach Copley + * @author Evan Prodromou + * @author Zach Copley * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -43,7 +43,7 @@ require_once INSTALLDIR.'/lib/servererroraction.php'; * * @category Action * @package StatusNet - * @author Evan Prodromou + * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/lib/dbqueuemanager.php b/lib/dbqueuemanager.php index b1850925bd..750300928e 100644 --- a/lib/dbqueuemanager.php +++ b/lib/dbqueuemanager.php @@ -21,7 +21,7 @@ * * @category QueueManager * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ diff --git a/lib/deleteaction.php b/lib/deleteaction.php index fd4778cca9..4320ad21b0 100644 --- a/lib/deleteaction.php +++ b/lib/deleteaction.php @@ -21,8 +21,8 @@ * * @category Personal * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ diff --git a/lib/designsettings.php b/lib/designsettings.php index 103b1cd652..a531c10f1a 100644 --- a/lib/designsettings.php +++ b/lib/designsettings.php @@ -21,8 +21,8 @@ * * @category Settings * @package StatusNet - * @author Sarven Capadisli - * @author Zach Copley + * @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://status.net/ @@ -43,8 +43,8 @@ require_once INSTALLDIR . '/lib/webcolor.php'; * * @category Settings * @package StatusNet - * @author Zach Copley - * @author Sarven Capadisli + * @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://status.net/ */ diff --git a/lib/disfavorform.php b/lib/disfavorform.php index e6b22fc708..3d045d522d 100644 --- a/lib/disfavorform.php +++ b/lib/disfavorform.php @@ -21,8 +21,8 @@ * * @category Form * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -39,8 +39,8 @@ require_once INSTALLDIR.'/lib/form.php'; * * @category Form * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ * diff --git a/lib/error.php b/lib/error.php index fc749adfc0..554156e53e 100644 --- a/lib/error.php +++ b/lib/error.php @@ -7,8 +7,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Zach Copley + * @author Evan Prodromou + * @author Zach Copley * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * * @category Action * @package StatusNet - * @author Zach Copley + * @author Zach Copley * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/lib/event.php b/lib/event.php index 1bfcdb67d0..5df875be10 100644 --- a/lib/event.php +++ b/lib/event.php @@ -21,7 +21,7 @@ * * @category Event * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * * @category Event * @package StatusNet - * @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://status.net/ * diff --git a/lib/facebookaction.php b/lib/facebookaction.php index 753447f8b6..b547c44748 100644 --- a/lib/facebookaction.php +++ b/lib/facebookaction.php @@ -21,7 +21,7 @@ * * @category Faceboook * @package StatusNet - * @author Zach Copley + * @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://status.net/ diff --git a/lib/favorform.php b/lib/favorform.php index 0479105c5e..ea6fd57c4e 100644 --- a/lib/favorform.php +++ b/lib/favorform.php @@ -21,8 +21,8 @@ * * @category Form * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -39,8 +39,8 @@ require_once INSTALLDIR.'/lib/form.php'; * * @category Form * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ * diff --git a/lib/featureduserssection.php b/lib/featureduserssection.php index b8a971415a..daea881a97 100644 --- a/lib/featureduserssection.php +++ b/lib/featureduserssection.php @@ -21,7 +21,7 @@ * * @category Widget * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * * @category Widget * @package StatusNet - * @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://status.net/ */ diff --git a/lib/feed.php b/lib/feed.php index 5e0f9add77..43137503f2 100644 --- a/lib/feed.php +++ b/lib/feed.php @@ -21,7 +21,7 @@ * * @category Feed * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -38,8 +38,8 @@ if (!defined('LACONICA')) { * * @category Feed * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ */ diff --git a/lib/feedlist.php b/lib/feedlist.php index da114c4918..bb1a0016a3 100644 --- a/lib/feedlist.php +++ b/lib/feedlist.php @@ -21,8 +21,8 @@ * * @category Widget * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -39,8 +39,8 @@ if (!defined('LACONICA')) { * * @category Widget * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ * diff --git a/lib/form.php b/lib/form.php index 61c20fd48b..b5547dbcdc 100644 --- a/lib/form.php +++ b/lib/form.php @@ -21,8 +21,8 @@ * * @category Widget * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -42,8 +42,8 @@ require_once INSTALLDIR.'/lib/widget.php'; * * @category Widget * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ * diff --git a/lib/groupdesignaction.php b/lib/groupdesignaction.php index ff2532026c..50321097a5 100644 --- a/lib/groupdesignaction.php +++ b/lib/groupdesignaction.php @@ -21,7 +21,7 @@ * * @category Action * @package StatusNet - * @author Zach Copley + * @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/ @@ -39,7 +39,7 @@ if (!defined('LACONICA')) { * * @category Action * @package StatusNet - * @author Zach Copley + * @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/ * diff --git a/lib/groupeditform.php b/lib/groupeditform.php index ae9eb17b9d..c88fd88f4b 100644 --- a/lib/groupeditform.php +++ b/lib/groupeditform.php @@ -21,8 +21,8 @@ * * @category Form * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -39,8 +39,8 @@ require_once INSTALLDIR.'/lib/form.php'; * * @category Form * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ * diff --git a/lib/grouplist.php b/lib/grouplist.php index 47406bb2c8..9650526255 100644 --- a/lib/grouplist.php +++ b/lib/grouplist.php @@ -22,7 +22,7 @@ * * @category Public * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -41,7 +41,7 @@ define('GROUPS_PER_PAGE', 20); * * @category Public * @package StatusNet - * @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://status.net/ */ diff --git a/lib/groupminilist.php b/lib/groupminilist.php index 2b74a6ef88..9007b4fb0e 100644 --- a/lib/groupminilist.php +++ b/lib/groupminilist.php @@ -21,7 +21,7 @@ * * @category Public * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -40,7 +40,7 @@ define('GROUPS_PER_MINILIST', 27); * * @category Public * @package StatusNet - * @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://status.net/ */ diff --git a/lib/groupnav.php b/lib/groupnav.php index e3daff6a42..9097831325 100644 --- a/lib/groupnav.php +++ b/lib/groupnav.php @@ -21,8 +21,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -41,8 +41,8 @@ require_once INSTALLDIR.'/lib/widget.php'; * * @category Output * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ * diff --git a/lib/groupsbymemberssection.php b/lib/groupsbymemberssection.php index c8bf546f95..c799bc166d 100644 --- a/lib/groupsbymemberssection.php +++ b/lib/groupsbymemberssection.php @@ -21,7 +21,7 @@ * * @category Widget * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * * @category Widget * @package StatusNet - * @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://status.net/ */ diff --git a/lib/groupsbypostssection.php b/lib/groupsbypostssection.php index e78efeeb41..256b164bc0 100644 --- a/lib/groupsbypostssection.php +++ b/lib/groupsbypostssection.php @@ -21,7 +21,7 @@ * * @category Widget * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * * @category Widget * @package StatusNet - * @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://status.net/ */ diff --git a/lib/groupsection.php b/lib/groupsection.php index 203ac3cb20..95d33569d6 100644 --- a/lib/groupsection.php +++ b/lib/groupsection.php @@ -21,7 +21,7 @@ * * @category Widget * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -41,7 +41,7 @@ define('GROUPS_PER_SECTION', 6); * * @category Widget * @package StatusNet - * @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://status.net/ */ diff --git a/lib/grouptagcloudsection.php b/lib/grouptagcloudsection.php index afd2eba449..085e2d25b2 100644 --- a/lib/grouptagcloudsection.php +++ b/lib/grouptagcloudsection.php @@ -21,7 +21,7 @@ * * @category Widget * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * * @category Widget * @package StatusNet - * @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://status.net/ */ diff --git a/lib/htmloutputter.php b/lib/htmloutputter.php index 714107710c..565b148fa0 100644 --- a/lib/htmloutputter.php +++ b/lib/htmloutputter.php @@ -21,8 +21,8 @@ * * @category Output * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -48,8 +48,8 @@ define('PAGE_TYPE_PREFS', * * @category Output * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ * diff --git a/lib/imagefile.php b/lib/imagefile.php index ec4349d6cf..bdff9874d3 100644 --- a/lib/imagefile.php +++ b/lib/imagefile.php @@ -21,8 +21,8 @@ * * @category Image * @package StatusNet - * @author Evan Prodromou - * @author Zach Copley + * @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://status.net/ @@ -39,8 +39,8 @@ if (!defined('LACONICA')) { * * @category Image * @package StatusNet - * @author Evan Prodromou - * @author Zach Copley + * @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://status.net/ */ diff --git a/lib/jabber.php b/lib/jabber.php index 375a3e50f2..99226b04e9 100644 --- a/lib/jabber.php +++ b/lib/jabber.php @@ -21,7 +21,7 @@ * * @category Network * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ diff --git a/lib/joinform.php b/lib/joinform.php index a19e014de7..eb06f1de66 100644 --- a/lib/joinform.php +++ b/lib/joinform.php @@ -21,8 +21,8 @@ * * @category Form * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -39,8 +39,8 @@ require_once INSTALLDIR.'/lib/form.php'; * * @category Form * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ * diff --git a/lib/jsonsearchresultslist.php b/lib/jsonsearchresultslist.php index 7ff32f829f..f17db334b6 100644 --- a/lib/jsonsearchresultslist.php +++ b/lib/jsonsearchresultslist.php @@ -21,7 +21,7 @@ * * @category Search * @package StatusNet - * @author Zach Copley + * @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/ @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * * @category Search * @package StatusNet - * @author Zach Copley + * @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/ * @@ -148,7 +148,7 @@ class JSONSearchResultsList * * @category UI * @package StatusNet - * @author Zach Copley + * @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/ * @see JSONSearchResultsList diff --git a/lib/language.php b/lib/language.php index 49c5a7317d..d278f5ab45 100644 --- a/lib/language.php +++ b/lib/language.php @@ -23,7 +23,7 @@ * @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://status.net/ */ diff --git a/lib/leaveform.php b/lib/leaveform.php index 3e37e45fff..1dab6d99e3 100644 --- a/lib/leaveform.php +++ b/lib/leaveform.php @@ -21,8 +21,8 @@ * * @category Form * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -39,8 +39,8 @@ require_once INSTALLDIR.'/lib/form.php'; * * @category Form * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ * diff --git a/lib/logingroupnav.php b/lib/logingroupnav.php index 49a90cf807..39548a2712 100644 --- a/lib/logingroupnav.php +++ b/lib/logingroupnav.php @@ -21,7 +21,7 @@ * * @category Menu * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/widget.php'; * * @category Output * @package StatusNet - * @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://status.net/ * diff --git a/lib/mail.php b/lib/mail.php index 23bea22ef5..a9c94f2f96 100644 --- a/lib/mail.php +++ b/lib/mail.php @@ -21,10 +21,10 @@ * * @category Mail * @package StatusNet - * @author Evan Prodromou - * @author Zach Copley - * @author Robin Millette - * @author Sarven Capadisli + * @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://status.net/ diff --git a/lib/mailbox.php b/lib/mailbox.php index e628d952e0..cd4bcba020 100644 --- a/lib/mailbox.php +++ b/lib/mailbox.php @@ -21,7 +21,7 @@ * * @category Message * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -38,7 +38,7 @@ define('MESSAGES_PER_PAGE', 20); * * @category Message * @package StatusNet - * @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://status.net/ * @see InboxAction diff --git a/lib/messageform.php b/lib/messageform.php index cf80858c7c..ea93b8cf6c 100644 --- a/lib/messageform.php +++ b/lib/messageform.php @@ -21,8 +21,8 @@ * * @category Form * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -39,8 +39,8 @@ require_once INSTALLDIR.'/lib/form.php'; * * @category Form * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ * diff --git a/lib/microid.php b/lib/microid.php index 6fee71acfd..e4160e94eb 100644 --- a/lib/microid.php +++ b/lib/microid.php @@ -21,7 +21,7 @@ * * @category ID * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * * @category ID * @package StatusNet - * @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://status.net/ * @see http://microid.org/ diff --git a/lib/noticeform.php b/lib/noticeform.php index 1452b2e1ed..7f4e59fa15 100644 --- a/lib/noticeform.php +++ b/lib/noticeform.php @@ -21,8 +21,8 @@ * * @category Form * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -41,8 +41,8 @@ require_once INSTALLDIR.'/lib/form.php'; * * @category Form * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ * diff --git a/lib/noticelist.php b/lib/noticelist.php index 46fc73bc11..1b2a57aadb 100644 --- a/lib/noticelist.php +++ b/lib/noticelist.php @@ -21,8 +21,8 @@ * * @category UI * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -46,7 +46,7 @@ require_once INSTALLDIR.'/lib/attachmentlist.php'; * * @category UI * @package StatusNet - * @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://status.net/ * @see Notice @@ -134,7 +134,7 @@ class NoticeList extends Widget * * @category UI * @package StatusNet - * @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://status.net/ * @see NoticeList diff --git a/lib/noticesection.php b/lib/noticesection.php index 6228831190..145545fbe2 100644 --- a/lib/noticesection.php +++ b/lib/noticesection.php @@ -21,7 +21,7 @@ * * @category Widget * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -41,7 +41,7 @@ define('NOTICES_PER_SECTION', 6); * * @category Widget * @package StatusNet - * @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://status.net/ */ diff --git a/lib/nudgeform.php b/lib/nudgeform.php index 01dea3d361..23ccb26b63 100644 --- a/lib/nudgeform.php +++ b/lib/nudgeform.php @@ -21,8 +21,8 @@ * * @category Form * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -39,8 +39,8 @@ require_once INSTALLDIR.'/lib/form.php'; * * @category Form * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ * diff --git a/lib/oauthclient.php b/lib/oauthclient.php index e9463bb532..e1fc47264b 100644 --- a/lib/oauthclient.php +++ b/lib/oauthclient.php @@ -21,7 +21,7 @@ * * @category Action * @package StatusNet - * @author Zach Copley + * @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://status.net/ @@ -38,7 +38,7 @@ require_once 'OAuth.php'; * * @category Integration * @package StatusNet - * @author Zach Copley + * @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/ * @@ -52,7 +52,7 @@ class OAuthClientCurlException extends Exception * * @category Integration * @package StatusNet - * @author Zach Copley + * @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/ * diff --git a/lib/ownerdesignaction.php b/lib/ownerdesignaction.php index e1400fd922..216da6ef8a 100644 --- a/lib/ownerdesignaction.php +++ b/lib/ownerdesignaction.php @@ -21,7 +21,7 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -40,7 +40,7 @@ if (!defined('LACONICA')) { * * @category Action * @package StatusNet - * @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://status.net/ * diff --git a/lib/parallelizingdaemon.php b/lib/parallelizingdaemon.php index 6735427ce9..d10fea0e4c 100644 --- a/lib/parallelizingdaemon.php +++ b/lib/parallelizingdaemon.php @@ -21,8 +21,8 @@ * * @category Daemon * @package StatusNet - * @author Zach Copley - * @author Evan Prodromou + * @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://status.net/ @@ -39,8 +39,8 @@ declare(ticks = 1); * * @category Daemon * @package StatusNet - * @author Zach Copley - * @author Evan Prodromou + * @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://status.net/ */ diff --git a/lib/personalgroupnav.php b/lib/personalgroupnav.php index 0faa7a10dd..8a5e6322e3 100644 --- a/lib/personalgroupnav.php +++ b/lib/personalgroupnav.php @@ -21,8 +21,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -45,8 +45,8 @@ require_once INSTALLDIR.'/lib/widget.php'; * * @category Output * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ * diff --git a/lib/personaltagcloudsection.php b/lib/personaltagcloudsection.php index 57c5b84a13..bb7b8386d0 100644 --- a/lib/personaltagcloudsection.php +++ b/lib/personaltagcloudsection.php @@ -21,7 +21,7 @@ * * @category Widget * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * * @category Widget * @package StatusNet - * @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://status.net/ */ diff --git a/lib/plugin.php b/lib/plugin.php index 97ff8f19aa..e6cf6f7cca 100644 --- a/lib/plugin.php +++ b/lib/plugin.php @@ -21,7 +21,7 @@ * * @category Plugin * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -46,7 +46,7 @@ if (!defined('LACONICA')) { * * @category Plugin * @package StatusNet - * @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://status.net/ * diff --git a/lib/popularnoticesection.php b/lib/popularnoticesection.php index 496305168e..4906fd8b74 100644 --- a/lib/popularnoticesection.php +++ b/lib/popularnoticesection.php @@ -21,7 +21,7 @@ * * @category Widget * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -39,7 +39,7 @@ if (!defined('LACONICA')) { * * @category Widget * @package StatusNet - * @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://status.net/ */ diff --git a/lib/profileaction.php b/lib/profileaction.php index 1ca9830b87..25e9aab5da 100644 --- a/lib/profileaction.php +++ b/lib/profileaction.php @@ -21,8 +21,8 @@ * * @category Personal * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -42,7 +42,7 @@ require_once INSTALLDIR.'/lib/groupminilist.php'; * * @category Personal * @package StatusNet - * @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://status.net/ */ diff --git a/lib/profilelist.php b/lib/profilelist.php index eb9bd222f6..e54060dffd 100644 --- a/lib/profilelist.php +++ b/lib/profilelist.php @@ -22,7 +22,7 @@ * * @category Public * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -39,8 +39,8 @@ require_once INSTALLDIR.'/lib/widget.php'; * * @category Public * @package StatusNet - * @author Zach Copley - * @author Evan Prodromou + * @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://status.net/ */ diff --git a/lib/profileminilist.php b/lib/profileminilist.php index d5a2f387ec..9d13ef167b 100644 --- a/lib/profileminilist.php +++ b/lib/profileminilist.php @@ -21,7 +21,7 @@ * * @category Public * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -40,7 +40,7 @@ define('PROFILES_PER_MINILIST', 27); * * @category Public * @package StatusNet - * @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://status.net/ */ diff --git a/lib/profilesection.php b/lib/profilesection.php index 9f71d6b364..f8a65a9dc8 100644 --- a/lib/profilesection.php +++ b/lib/profilesection.php @@ -21,7 +21,7 @@ * * @category Widget * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -41,7 +41,7 @@ define('PROFILES_PER_SECTION', 6); * * @category Widget * @package StatusNet - * @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://status.net/ */ diff --git a/lib/publicgroupnav.php b/lib/publicgroupnav.php index c9c51d0035..46c47abb13 100644 --- a/lib/publicgroupnav.php +++ b/lib/publicgroupnav.php @@ -21,7 +21,7 @@ * * @category Menu * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -38,8 +38,8 @@ require_once INSTALLDIR.'/lib/widget.php'; * * @category Output * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ * diff --git a/lib/queuemanager.php b/lib/queuemanager.php index 8a37453ec1..43105b7a86 100644 --- a/lib/queuemanager.php +++ b/lib/queuemanager.php @@ -21,8 +21,8 @@ * * @category QueueManager * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ diff --git a/lib/router.php b/lib/router.php index e5f6514014..ba30ea476a 100644 --- a/lib/router.php +++ b/lib/router.php @@ -21,7 +21,7 @@ * * @category URL * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -40,7 +40,7 @@ require_once 'Net/URL/Mapper.php'; * * @category URL * @package StatusNet - * @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://status.net/ */ diff --git a/lib/rssaction.php b/lib/rssaction.php index 93a47f14e2..608c4dab5e 100644 --- a/lib/rssaction.php +++ b/lib/rssaction.php @@ -21,7 +21,7 @@ * * @category Mail * @package StatusNet - * @author Evan Prodromou + * @author Evan Prodromou * @author Earle Martin * @copyright 2008-9 StatusNet, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 diff --git a/lib/searchaction.php b/lib/searchaction.php index 5a0e3b8977..724f53f596 100644 --- a/lib/searchaction.php +++ b/lib/searchaction.php @@ -6,8 +6,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -39,8 +39,8 @@ require_once INSTALLDIR.'/lib/searchgroupnav.php'; * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Robin Millette + * @author Evan Prodromou + * @author Robin Millette * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/lib/searchgroupnav.php b/lib/searchgroupnav.php index 7673e96c87..7237f23027 100644 --- a/lib/searchgroupnav.php +++ b/lib/searchgroupnav.php @@ -21,7 +21,7 @@ * * @category Menu * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/widget.php'; * * @category Output * @package StatusNet - * @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://status.net/ * diff --git a/lib/section.php b/lib/section.php index faf0430250..24bcd7f655 100644 --- a/lib/section.php +++ b/lib/section.php @@ -21,7 +21,7 @@ * * @category Widget * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -41,7 +41,7 @@ require_once INSTALLDIR.'/lib/widget.php'; * * @category Widget * @package StatusNet - * @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://status.net/ */ diff --git a/lib/servererroraction.php b/lib/servererroraction.php index cee2e54fd9..6727418718 100644 --- a/lib/servererroraction.php +++ b/lib/servererroraction.php @@ -7,8 +7,8 @@ * * @category Action * @package StatusNet - * @author Evan Prodromou - * @author Zach Copley + * @author Evan Prodromou + * @author Zach Copley * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ * @@ -48,7 +48,7 @@ require_once INSTALLDIR.'/lib/error.php'; * * @category Action * @package StatusNet - * @author Zach Copley + * @author Zach Copley * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ diff --git a/lib/serverexception.php b/lib/serverexception.php index 634d52d246..864e544d81 100644 --- a/lib/serverexception.php +++ b/lib/serverexception.php @@ -21,7 +21,7 @@ * * @category Exception * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -38,7 +38,7 @@ if (!defined('LACONICA')) { * * @category Exception * @package StatusNet - * @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://status.net/ */ diff --git a/lib/settingsaction.php b/lib/settingsaction.php index 7b0e0b1b50..a84d650b81 100644 --- a/lib/settingsaction.php +++ b/lib/settingsaction.php @@ -21,7 +21,7 @@ * * @category Settings * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * * @category Settings * @package StatusNet - * @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://status.net/ * diff --git a/lib/snapshot.php b/lib/snapshot.php index 868389668f..fadbcae4b0 100644 --- a/lib/snapshot.php +++ b/lib/snapshot.php @@ -21,7 +21,7 @@ * * @category Stats * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -43,7 +43,7 @@ if (!defined('LACONICA')) { * * @category Stats * @package StatusNet - * @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://status.net/ * diff --git a/lib/stompqueuemanager.php b/lib/stompqueuemanager.php index 3894d90723..f059b42f00 100644 --- a/lib/stompqueuemanager.php +++ b/lib/stompqueuemanager.php @@ -21,8 +21,8 @@ * * @category QueueManager * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ diff --git a/lib/subgroupnav.php b/lib/subgroupnav.php index cc87447193..dcda611366 100644 --- a/lib/subgroupnav.php +++ b/lib/subgroupnav.php @@ -21,7 +21,7 @@ * * @category Subs * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -38,7 +38,7 @@ require_once INSTALLDIR.'/lib/widget.php'; * * @category Subs * @package StatusNet - * @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://status.net/ */ diff --git a/lib/subpeopletagcloudsection.php b/lib/subpeopletagcloudsection.php index c626535bd0..c99d603ce2 100644 --- a/lib/subpeopletagcloudsection.php +++ b/lib/subpeopletagcloudsection.php @@ -21,7 +21,7 @@ * * @category Widget * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * * @category Widget * @package StatusNet - * @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://status.net/ */ diff --git a/lib/subscribeform.php b/lib/subscribeform.php index 5bfede6642..6bd2ea5882 100644 --- a/lib/subscribeform.php +++ b/lib/subscribeform.php @@ -21,8 +21,8 @@ * * @category Form * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -39,8 +39,8 @@ require_once INSTALLDIR.'/lib/form.php'; * * @category Form * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ * diff --git a/lib/subscriberspeopleselftagcloudsection.php b/lib/subscriberspeopleselftagcloudsection.php index bef8c8f3b2..af06713784 100644 --- a/lib/subscriberspeopleselftagcloudsection.php +++ b/lib/subscriberspeopleselftagcloudsection.php @@ -21,7 +21,7 @@ * * @category Widget * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * * @category Widget * @package StatusNet - * @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://status.net/ */ diff --git a/lib/subscriberspeopletagcloudsection.php b/lib/subscriberspeopletagcloudsection.php index 2481cb74ff..837613a70e 100644 --- a/lib/subscriberspeopletagcloudsection.php +++ b/lib/subscriberspeopletagcloudsection.php @@ -21,7 +21,7 @@ * * @category Widget * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * * @category Widget * @package StatusNet - * @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://status.net/ */ diff --git a/lib/subscriptionlist.php b/lib/subscriptionlist.php index e7a8302c59..101687d417 100644 --- a/lib/subscriptionlist.php +++ b/lib/subscriptionlist.php @@ -22,7 +22,7 @@ * * @category Public * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -39,8 +39,8 @@ require_once INSTALLDIR.'/lib/profilelist.php'; * * @category Public * @package StatusNet - * @author Zach Copley - * @author Evan Prodromou + * @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://status.net/ */ diff --git a/lib/subscriptionspeopleselftagcloudsection.php b/lib/subscriptionspeopleselftagcloudsection.php index d2ea85c75e..bf2471a0b3 100644 --- a/lib/subscriptionspeopleselftagcloudsection.php +++ b/lib/subscriptionspeopleselftagcloudsection.php @@ -21,7 +21,7 @@ * * @category Widget * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * * @category Widget * @package StatusNet - * @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://status.net/ */ diff --git a/lib/subscriptionspeopletagcloudsection.php b/lib/subscriptionspeopletagcloudsection.php index fe26f9afaa..fc0aabfdcb 100644 --- a/lib/subscriptionspeopletagcloudsection.php +++ b/lib/subscriptionspeopletagcloudsection.php @@ -21,7 +21,7 @@ * * @category Widget * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * * @category Widget * @package StatusNet - * @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://status.net/ */ diff --git a/lib/tagcloudsection.php b/lib/tagcloudsection.php index 8278c90d42..ed84999f0c 100644 --- a/lib/tagcloudsection.php +++ b/lib/tagcloudsection.php @@ -21,7 +21,7 @@ * * @category Widget * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -41,7 +41,7 @@ define('TAGS_PER_SECTION', 20); * * @category Widget * @package StatusNet - * @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://status.net/ */ diff --git a/lib/theme.php b/lib/theme.php index 734284b279..e52566b978 100644 --- a/lib/theme.php +++ b/lib/theme.php @@ -21,8 +21,8 @@ * * @category Paths * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ diff --git a/lib/topposterssection.php b/lib/topposterssection.php index ddb1104508..dd72dfc4c8 100644 --- a/lib/topposterssection.php +++ b/lib/topposterssection.php @@ -21,7 +21,7 @@ * * @category Widget * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -39,7 +39,7 @@ if (!defined('LACONICA')) { * * @category Widget * @package StatusNet - * @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://status.net/ */ diff --git a/lib/twitteroauthclient.php b/lib/twitteroauthclient.php index 6555858d90..ca3b347abe 100644 --- a/lib/twitteroauthclient.php +++ b/lib/twitteroauthclient.php @@ -21,7 +21,7 @@ * * @category Integration * @package StatusNet - * @author Zach Copley + * @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://status.net/ @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * * @category Integration * @package StatusNet - * @author Zach Copley + * @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/ * diff --git a/lib/unblockform.php b/lib/unblockform.php index e302f3843e..336aeda931 100644 --- a/lib/unblockform.php +++ b/lib/unblockform.php @@ -21,8 +21,8 @@ * * @category Form * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -39,8 +39,8 @@ require_once INSTALLDIR.'/lib/form.php'; * * @category Form * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ * diff --git a/lib/unqueuemanager.php b/lib/unqueuemanager.php index 5ac1a2ff3b..3cdad0b54a 100644 --- a/lib/unqueuemanager.php +++ b/lib/unqueuemanager.php @@ -21,8 +21,8 @@ * * @category QueueManager * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ diff --git a/lib/unsubscribeform.php b/lib/unsubscribeform.php index 6699a294cf..5bf42fdfee 100644 --- a/lib/unsubscribeform.php +++ b/lib/unsubscribeform.php @@ -21,8 +21,8 @@ * * @category Form * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -39,8 +39,8 @@ require_once INSTALLDIR.'/lib/form.php'; * * @category Form * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ * diff --git a/lib/webcolor.php b/lib/webcolor.php index 230e04a1fd..ee74fa8f67 100644 --- a/lib/webcolor.php +++ b/lib/webcolor.php @@ -21,7 +21,7 @@ * * @category Personal * @package StatusNet - * @author Zach Copley + * @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/ diff --git a/lib/widget.php b/lib/widget.php index abb8037c51..0c52748f38 100644 --- a/lib/widget.php +++ b/lib/widget.php @@ -21,8 +21,8 @@ * * @category Widget * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -41,8 +41,8 @@ if (!defined('LACONICA')) { * * @category Widget * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ * diff --git a/lib/xmloutputter.php b/lib/xmloutputter.php index cd6b8eb41b..d7bb1bf006 100644 --- a/lib/xmloutputter.php +++ b/lib/xmloutputter.php @@ -21,8 +21,8 @@ * * @category Output * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ @@ -41,8 +41,8 @@ if (!defined('LACONICA')) { * * @category Output * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli + * @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://status.net/ * @see Action diff --git a/lib/xmlstringer.php b/lib/xmlstringer.php index 5a7189cbd0..f8d8793e61 100644 --- a/lib/xmlstringer.php +++ b/lib/xmlstringer.php @@ -21,7 +21,7 @@ * * @category Output * @package StatusNet - * @author Evan Prodromou + * @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://status.net/ @@ -36,7 +36,7 @@ if (!defined('LACONICA')) { * * @category Output * @package StatusNet - * @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://status.net/ * @see Action diff --git a/scripts/synctwitterfriends.php b/scripts/synctwitterfriends.php index caec9977ac..545cb23b3c 100755 --- a/scripts/synctwitterfriends.php +++ b/scripts/synctwitterfriends.php @@ -38,8 +38,8 @@ require_once INSTALLDIR . '/lib/parallelizingdaemon.php'; * * @category Twitter * @package StatusNet - * @author Zach Copley - * @author Evan Prodromou + * @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://status.net/ */ diff --git a/scripts/twitterstatusfetcher.php b/scripts/twitterstatusfetcher.php index 38ddb3a5f7..f25690e58e 100755 --- a/scripts/twitterstatusfetcher.php +++ b/scripts/twitterstatusfetcher.php @@ -47,8 +47,8 @@ require_once INSTALLDIR . '/lib/daemon.php'; * * @category Twitter * @package StatusNet - * @author Zach Copley - * @author Evan Prodromou + * @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://status.net/ */ From 1f6ea95c92681ea2c52fcf12082e1ab68303c4ea Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 25 Aug 2009 18:21:37 -0400 Subject: [PATCH 042/134] convert CSS files to use new names --- theme/base/css/display.css | 8 ++++---- theme/base/css/mobile.css | 6 +++--- theme/base/css/print.css | 8 ++++---- theme/biz/css/base.css | 8 ++++---- theme/biz/css/display.css | 8 ++++---- theme/cloudy/css/display.css | 8 ++++---- theme/default/css/display.css | 8 ++++---- theme/h4ck3r/css/base.css | 8 ++++---- theme/h4ck3r/css/display.css | 8 ++++---- theme/identica/css/display.css | 8 ++++---- theme/otalk/css/base.css | 8 ++++---- theme/otalk/css/display.css | 8 ++++---- theme/pigeonthoughts/css/base.css | 8 ++++---- theme/pigeonthoughts/css/display.css | 8 ++++---- theme/readme.txt | 2 +- 15 files changed, 56 insertions(+), 56 deletions(-) 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/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..3794eecb3b 100644 --- a/theme/readme.txt +++ b/theme/readme.txt @@ -1,6 +1,6 @@ /** Howto: create a laconica 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 From 020ee729435b99d6189b03e8e59547daf88a4c01 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 25 Aug 2009 18:23:26 -0400 Subject: [PATCH 043/134] update doc-src with StatusNet, status.net --- doc-src/about | 2 +- doc-src/contact | 4 ++-- doc-src/faq | 4 ++-- doc-src/groups | 2 +- doc-src/help | 4 ++-- doc-src/openmublog | 4 ++-- doc-src/source | 8 ++++---- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/doc-src/about b/doc-src/about index 3036a51b96..21f4dbf15c 100644 --- a/doc-src/about +++ b/doc-src/about @@ -1,6 +1,6 @@ %%site.name%% is 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. If you [register](%%action.register%%) for an account, you can post small (140 chars or less) text notices diff --git a/doc-src/contact b/doc-src/contact index a8efc456a1..31f3a4d2b3 100644 --- a/doc-src/contact +++ b/doc-src/contact @@ -12,8 +12,8 @@ with "@" plus your user name. Bugs ---- -If you think you've found a bug in the [Laconica](http://laconi.ca/) software, -or if there's a new feature you'd like to see, add it into the [Laconica bug database](http://laconi.ca/PITS/HomePage). Don't forget to check the list of +If you think you've found a bug in the [StatusNet](http://status.net/) software, +or if there's a new feature you'd like to see, add it into the [StatusNet bug database](http://status.net/PITS/HomePage). Don't forget to check the list of existing bugs to make sure it hasn't already been reported! Email diff --git a/doc-src/faq b/doc-src/faq index 31582b9f0d..6aadd2e603 100644 --- a/doc-src/faq +++ b/doc-src/faq @@ -26,7 +26,7 @@ presence. If you don't like how %%site.name%% works, you can take your data and Where is feature X? ------------------- -The software we run, [Laconica](http://laconi.ca/), is still in its early stages, +The software we run, [StatusNet](http://status.net/), is still in its early stages, and many features people expect from microblogging sites are not yet implemented. Some important ones that are expected "soon": * More [AJAX](http://en.wikipedia.org/wiki/AJAX)-y interface @@ -36,7 +36,7 @@ and many features people expect from microblogging sites are not yet implemented * [Facebook](http://www.facebook.com/) integration * Image, video, audio notices -There is [a list of bugs and features](http://laconi.ca/trac/) that you may find +There is [a list of bugs and features](http://status.net/trac/) that you may find interesting. New ideas or complaints are very welcome. diff --git a/doc-src/groups b/doc-src/groups index 645390e0c8..772ca98334 100644 --- a/doc-src/groups +++ b/doc-src/groups @@ -38,5 +38,5 @@ your phone or IM client if you've set them up to receive notices. Remote groups ------------- -While it's technically possible, this version of Laconica does not +While it's technically possible, this version of StatusNet does not support remote group membership. diff --git a/doc-src/help b/doc-src/help index 02cf0d14b0..8d7acf63b4 100644 --- a/doc-src/help +++ b/doc-src/help @@ -29,6 +29,6 @@ Here are some documents that you might find helpful in understanding * [OpenID](%%doc.openid%%) - what OpenID is and how to use it with this service * [OpenMicroBlogging](%%doc.openmublog%%) - subscribing to remote users * [Privacy](%%doc.privacy%%) - %%site.name%%'s privacy policy -* [Source](%%doc.source%%) - How to get the Laconica source code -* [Badge](%%doc.badge%%) - How to put a Laconica badge on your blog or homepage +* [Source](%%doc.source%%) - How to get the StatusNet source code +* [Badge](%%doc.badge%%) - How to put a StatusNet badge on your blog or homepage * [Bookmarklet](%%doc.bookmarklet%%) - Bookmarklet for posting Web pages \ No newline at end of file diff --git a/doc-src/openmublog b/doc-src/openmublog index 6e3abee42e..aec532b797 100644 --- a/doc-src/openmublog +++ b/doc-src/openmublog @@ -4,8 +4,8 @@ subscribe to notices by users of another service. The protocol, based on [OAuth](http://oauth.net/), is open and free, and doesn't depend on any central authority to maintain the federated microblogs. -The [Laconica](http://laconi.ca/) software that runs %%site.name%% supports -OpenMicroBlogging 0.1. Anyone can make a new installation of Laconica on their +The [StatusNet](http://status.net/) software that runs %%site.name%% supports +OpenMicroBlogging 0.1. Anyone can make a new installation of StatusNet on their own servers, and users of that new installation can subscribe to notices from %%site.name%%. diff --git a/doc-src/source b/doc-src/source index 83debbe539..3ddd6203ec 100644 --- a/doc-src/source +++ b/doc-src/source @@ -1,12 +1,12 @@ -This service uses a Free microblogging tool called **Laconica**. -Laconica is available under the [GNU Affero General Public License +This service uses a Free microblogging tool called **StatusNet**. +StatusNet is available under the [GNU Affero General Public License Version 3.0](http://www.fsf.org/licensing/licenses/agpl-3.0.html), a Free Software license for network services. You can get a copy of the software from the -[Laconica](http://laconi.ca/) main site. The version of the software +[StatusNet](http://status.net/) main site. The version of the software that runs on *this* site is unmodified from that version. The site also depends on certain libraries and other software; you can get -those at the Laconica site, too. +those at the StatusNet site, too. From 25062074540d59c723f31665676abd816cb8895a Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 25 Aug 2009 18:25:01 -0400 Subject: [PATCH 044/134] update README file --- README | 182 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 91 insertions(+), 91 deletions(-) diff --git a/README b/README index c13e28791d..83f893daaa 100644 --- a/README +++ b/README @@ -2,19 +2,19 @@ README ------ -Laconica 0.8.0 ("Shiny Happy People") +StatusNet 0.8.0 ("Shiny Happy People") 15 July 2009 -This is the README file for Laconica, the Open Source microblogging +This is the README file for StatusNet, 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 +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 +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 only their friends' or @@ -25,12 +25,12 @@ 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: @@ -56,7 +56,7 @@ 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 @@ -91,9 +91,9 @@ This is a major feature release since version 0.7.4, released May 31 - 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. + off the flexibility of StatusNet's theming system. - Statistics. Public sites will periodically send usage statistics, - configuration options, and dependency information to Laconica dev site. + configuration options, and dependency information to StatusNet 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 @@ -113,7 +113,7 @@ This is a major feature release since version 0.7.4, released May 31 - 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. + as default TOS for StatusNet 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/) @@ -137,7 +137,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 @@ -206,7 +206,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 +215,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,7 +225,7 @@ 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 @@ -243,7 +243,7 @@ especially if you've previously installed PHP/MySQL packages. mv laconica-0.8.0 /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 configure virtual hosts on your web server, you can try setting up @@ -278,7 +278,7 @@ especially if you've previously installed PHP/MySQL packages. mysqladmin -u "username" --password="password" create laconica - 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,7 +286,7 @@ 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: @@ -298,7 +298,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 +316,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 +336,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 +344,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 +380,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,7 +395,7 @@ 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 @@ -428,8 +428,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 +449,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 +465,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 +488,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 +499,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 +516,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: @@ -560,7 +560,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 +583,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 +604,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). @@ -635,7 +635,7 @@ In Facebook's application editor, specify the following URLs for your app: - Canvas 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 +644,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 +654,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 +688,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 +719,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 +764,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.0. 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,8 +794,8 @@ 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.0 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. @@ -810,14 +810,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 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, @@ -872,12 +872,12 @@ problem. 'true'. 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,8 +900,8 @@ 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. @@ -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 @@ -1005,7 +1005,7 @@ 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, @@ -1040,10 +1040,10 @@ 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 +appname: The name that StatusNet uses to log messages. By default it's "laconica", 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. @@ -1103,9 +1103,9 @@ This is for configuring nicknames in the service. blacklist: an array of strings for usernames that may not be registered. A default array exists for strings that are - used by Laconica (e.g. 'doc', 'main', 'avatar', 'theme') + used by StatusNet (e.g. 'doc', 'main', 'avatar', 'theme') but you may want to add others if you have other software - installed in a subdirectory of Laconica or if you just + installed in a subdirectory of StatusNet or if you just don't want certain words used as usernames. featured: an array of nicknames of 'featured' users of the site. Can be useful to draw attention to well-known users, or @@ -1178,7 +1178,7 @@ host: some XMPP domains are served by machines with a different hostname. (For example, @gmail.com GTalk users connect to talk.google.com). Set this to the correct hostname if that's the case with your server. -encryption: Whether to encrypt the connection between Laconica and the +encryption: Whether to encrypt the connection between StatusNet and the XMPP server. Defaults to true, but you can get considerably better performance turning it off if you're connecting to a server on the same machine or on a @@ -1252,7 +1252,7 @@ base: memcached uses key-value pairs to store data. We build long, base of the key is usually a simplified version of the site name (like "Identi.ca" => "identica"), but you can overwrite this if you need to. You can safely ignore it if you only have one - Laconica site using your memcached server. + StatusNet site using your memcached server. port: Port to connect to; defaults to 11211. sphinx @@ -1353,11 +1353,11 @@ snapshot -------- The software will, by default, send statistical snapshots about the -local installation to a stats server on the laconi.ca Web site. This +local installation to a stats server on the status.net Web site. This data is used by the developers to prioritize development decisions. No identifying data about users or organizations is collected. The data is available to the public for review. Participating in this survey -helps Laconica developers take your needs into account when updating +helps StatusNet developers take your needs into account when updating the software. run: string indicating when to run the statistics. Values can be 'web' @@ -1368,7 +1368,7 @@ frequency: if run value is 'web', how often to report statistics. Measured in Web hits; depends on how active your site is. Default is 10000 -- that is, one report every 10000 Web hits, on average. -reporturl: URL to post statistics to. Defaults to Laconica developers' +reporturl: URL to post statistics to. Defaults to StatusNet developers' report system, but if they go evil or disappear you may need to update this to another value. Note: if you don't want to report stats, it's much better to @@ -1508,7 +1508,7 @@ disposition: Flags for whether or not to tile the background image. Plugins ======= -Beginning with the 0.7.x branch, Laconica has supported a simple but +Beginning with the 0.7.x branch, StatusNet has supported a simple but powerful plugin architecture. Important events in the code are named, like 'StartNoticeSave', and other software can register interest in those events. When the events happen, the other software is called @@ -1544,7 +1544,7 @@ can enable a plugin with the following line in config.php: This will look for and load files named 'ExamplePlugin.php' or 'Example/ExamplePlugin.php' either in the plugins/ directory (for -plugins that ship with Laconica) or in the local/ directory (for +plugins that ship with StatusNet) or in the local/ directory (for plugins you write yourself or that you get from somewhere else) or local/plugins/. @@ -1553,24 +1553,24 @@ Plugins are documented in their own directories. Troubleshooting =============== -The primary output for Laconica is syslog, unless you configured a +The primary output for StatusNet is syslog, unless you configured a separate logfile. This is probably the first place to look if you're -getting weird behaviour from Laconica. +getting weird behaviour from StatusNet. -If you're tracking the unstable version of Laconica in the git +If you're tracking the unstable version of StatusNet in the git repository (see below), and you get a compilation error ("unexpected T_STRING") in the browser, check to see that you don't have any conflicts in your code. -If you upgraded to Laconica 0.7.4 without reading the "Notice inboxes" +If you upgraded to StatusNet 0.7.4 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. @@ -1582,7 +1582,7 @@ assumptions. - "Edit dataobject.ini with the following settings..." dataobject.ini is a development file for the DB_DataObject framework and is not - used by the running software. It was removed from the Laconica + used by the running software. It was removed from the StatusNet distribution because its presence was confusing. Do not bother configuring dataobject.ini, and do not put your database username and password into the file on a production Web server; unscrupulous @@ -1592,29 +1592,29 @@ 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 http://status.net/software/laconica.git 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 +* There is a mailing list for StatusNet developers and admins at + http://mail.status.net/mailman/listinfo/laconica-dev * The #laconica IRC channel on freenode.net . -* The Laconica wiki, http://laconi.ca/trac/ +* The StatusNet wiki, http://status.net/trac/ 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/ +* 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@identi.ca will usually be read and responded to very quickly, unless the question is really hard. From bfc66cfe1923c8610f693d4309b7b09764ca4dcb Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 25 Aug 2009 18:29:56 -0400 Subject: [PATCH 045/134] Laconica in plugins --- plugins/Autocomplete/AutocompletePlugin.php | 8 ++++---- plugins/BlogspamNetPlugin.php | 18 ++++++++--------- plugins/Comet/CometPlugin.php | 16 +++++++-------- plugins/FBConnect/FBCLoginGroupNav.php | 20 +++++++++---------- plugins/FBConnect/FBCSettingsNav.php | 20 +++++++++---------- plugins/FBConnect/FBConnectAuth.php | 10 +++++----- plugins/FBConnect/FBConnectLogin.php | 2 +- plugins/FBConnect/FBConnectPlugin.php | 18 ++++++++--------- plugins/FBConnect/FBConnectSettings.php | 16 +++++++-------- plugins/GoogleAnalyticsPlugin.php | 16 +++++++-------- .../InfiniteScroll/InfiniteScrollPlugin.php | 6 +++--- plugins/LinkbackPlugin.php | 18 ++++++++--------- plugins/Meteor/MeteorPlugin.php | 16 +++++++-------- plugins/PiwikAnalyticsPlugin.php | 14 ++++++------- plugins/Realtime/RealtimePlugin.php | 16 +++++++-------- plugins/TemplatePlugin.php | 8 ++++---- plugins/WikiHashtagsPlugin.php | 18 ++++++++--------- plugins/recaptcha/recaptcha.php | 6 +++--- 18 files changed, 123 insertions(+), 123 deletions(-) diff --git a/plugins/Autocomplete/AutocompletePlugin.php b/plugins/Autocomplete/AutocompletePlugin.php index 58b6a84cab..1fbb0dbec7 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')) { @@ -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..602ced6614 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')) { @@ -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/' . LACONICA_VERSION; } } diff --git a/plugins/Comet/CometPlugin.php b/plugins/Comet/CometPlugin.php index 1735d2b15a..c3a5d0fbcd 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')) { @@ -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..763578d46d 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')) { @@ -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..be6c0ea9bd 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')) { @@ -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/FBConnectAuth.php b/plugins/FBConnect/FBConnectAuth.php index 6191d9ea64..647d5def89 100644 --- a/plugins/FBConnect/FBConnectAuth.php +++ b/plugins/FBConnect/FBConnectAuth.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..1ffcc7878e 100644 --- a/plugins/FBConnect/FBConnectLogin.php +++ b/plugins/FBConnect/FBConnectLogin.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')) { @@ -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..c3f108a9e5 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')) { @@ -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/GoogleAnalyticsPlugin.php b/plugins/GoogleAnalyticsPlugin.php index 1ecbb664e0..01010e2641 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')) { @@ -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..69a56afdd5 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')) { diff --git a/plugins/LinkbackPlugin.php b/plugins/LinkbackPlugin.php index 93a0294c4c..7bf7fa6194 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')) { @@ -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/' . LACONICA_VERSION; } } diff --git a/plugins/Meteor/MeteorPlugin.php b/plugins/Meteor/MeteorPlugin.php index d54d565bda..a288cad647 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')) { @@ -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/PiwikAnalyticsPlugin.php b/plugins/PiwikAnalyticsPlugin.php index dc3c7c37fe..3238292a63 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')) { @@ -48,10 +48,10 @@ if (!defined('LACONICA')) { * exchange id with the ID your laconica 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 */ diff --git a/plugins/Realtime/RealtimePlugin.php b/plugins/Realtime/RealtimePlugin.php index 75bb8a91e9..4f05934d75 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')) { @@ -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/TemplatePlugin.php b/plugins/TemplatePlugin.php index 6c14f19881..0f4daa734e 100644 --- a/plugins/TemplatePlugin.php +++ b/plugins/TemplatePlugin.php @@ -8,7 +8,7 @@ * 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 @@ -261,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/ @@ -283,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); @@ -332,7 +332,7 @@ class TemplateAction extends Action * 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/WikiHashtagsPlugin.php b/plugins/WikiHashtagsPlugin.php index 6d186a5fed..72217cc831 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')) { @@ -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/' . LACONICA_VERSION; } } diff --git a/plugins/recaptcha/recaptcha.php b/plugins/recaptcha/recaptcha.php index 38a860fc75..a9a17e1ea1 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')) { From 5fb94f874da6dbb4016e42508d7e4770f82d926c Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 25 Aug 2009 18:30:48 -0400 Subject: [PATCH 046/134] Laconica -> StatusNet in EVENTS.txt --- EVENTS.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/EVENTS.txt b/EVENTS.txt index 2c43469d46..59de6de5f8 100644 --- a/EVENTS.txt +++ b/EVENTS.txt @@ -20,10 +20,10 @@ StartShowStyles: Showing Style links; good place to add UA style resets EndShowStyles: End showing Style links; good place to add custom styles - $action: the current action -StartShowLaconicaStyles: Showing Laconica Style links +StartShowStatusNetStyles: Showing StatusNet Style links - $action: the current action -EndShowLaconicaStyles: End showing Laconica Style links; good place to add handheld or JavaScript dependant styles +EndShowStatusNetStyles: End showing StatusNet Style links; good place to add handheld or JavaScript dependant styles - $action: the current action StartShowUAStyles: Showing custom UA Style links @@ -45,10 +45,10 @@ 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 StartShowSections: Start the list of sections in the sidebar From 9d98768e837c811cc5f671479ee3472b4d0fa324 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 25 Aug 2009 18:37:41 -0400 Subject: [PATCH 047/134] change Laconica and laconi.ca in locale files --- locale/bg_BG/LC_MESSAGES/statusnet.mo | Bin 97725 -> 89338 bytes locale/bg_BG/LC_MESSAGES/statusnet.po | 16 ++++++++-------- locale/ca_ES/LC_MESSAGES/statusnet.mo | Bin 84537 -> 84543 bytes locale/ca_ES/LC_MESSAGES/statusnet.po | 8 ++++---- locale/cs_CZ/LC_MESSAGES/statusnet.mo | Bin 38699 -> 28419 bytes locale/cs_CZ/LC_MESSAGES/statusnet.po | 6 +++--- locale/de_DE/LC_MESSAGES/statusnet.mo | Bin 84573 -> 59656 bytes locale/de_DE/LC_MESSAGES/statusnet.po | 8 ++++---- locale/el_GR/LC_MESSAGES/statusnet.po | 4 ++-- locale/en_GB/LC_MESSAGES/statusnet.mo | Bin 78515 -> 77405 bytes locale/en_GB/LC_MESSAGES/statusnet.po | 8 ++++---- locale/es/LC_MESSAGES/statusnet.mo | Bin 83466 -> 71978 bytes locale/es/LC_MESSAGES/statusnet.po | 8 ++++---- locale/fi/LC_MESSAGES/statusnet.mo | Bin 86002 -> 86008 bytes locale/fi/LC_MESSAGES/statusnet.po | 8 ++++---- locale/fr_FR/LC_MESSAGES/statusnet.mo | Bin 86456 -> 83964 bytes locale/fr_FR/LC_MESSAGES/statusnet.po | 18 +++++++++--------- locale/he_IL/LC_MESSAGES/statusnet.mo | Bin 31405 -> 31408 bytes locale/he_IL/LC_MESSAGES/statusnet.po | 10 +++++----- locale/it_IT/LC_MESSAGES/statusnet.mo | Bin 83394 -> 80184 bytes locale/it_IT/LC_MESSAGES/statusnet.po | 6 +++--- locale/ja_JP/LC_MESSAGES/statusnet.mo | Bin 46644 -> 37594 bytes locale/ja_JP/LC_MESSAGES/statusnet.po | 6 +++--- locale/ko_KR/LC_MESSAGES/statusnet.mo | Bin 88923 -> 88928 bytes locale/ko_KR/LC_MESSAGES/statusnet.po | 6 +++--- locale/mk_MK/LC_MESSAGES/statusnet.mo | Bin 37725 -> 37729 bytes locale/mk_MK/LC_MESSAGES/statusnet.po | 6 +++--- locale/nb_NO/LC_MESSAGES/statusnet.mo | Bin 19769 -> 14685 bytes locale/nb_NO/LC_MESSAGES/statusnet.po | 4 ++-- locale/nl_NL/LC_MESSAGES/statusnet.mo | Bin 63575 -> 56796 bytes locale/nl_NL/LC_MESSAGES/statusnet.po | 6 +++--- locale/nn_NO/LC_MESSAGES/statusnet.mo | Bin 80322 -> 80329 bytes locale/nn_NO/LC_MESSAGES/statusnet.po | 12 ++++++------ locale/pl_PL/LC_MESSAGES/statusnet.mo | Bin 49768 -> 38812 bytes locale/pl_PL/LC_MESSAGES/statusnet.po | 6 +++--- locale/pt/LC_MESSAGES/statusnet.mo | Bin 25415 -> 22701 bytes locale/pt/LC_MESSAGES/statusnet.po | 4 ++-- locale/pt_BR/LC_MESSAGES/statusnet.mo | Bin 83647 -> 76796 bytes locale/pt_BR/LC_MESSAGES/statusnet.po | 8 ++++---- locale/ru_RU/LC_MESSAGES/statusnet.mo | Bin 109415 -> 109421 bytes locale/ru_RU/LC_MESSAGES/statusnet.po | 8 ++++---- locale/statusnet.po | 16 ++++++++-------- locale/sv_SE/LC_MESSAGES/statusnet.mo | Bin 69740 -> 54299 bytes locale/sv_SE/LC_MESSAGES/statusnet.po | 6 +++--- locale/te_IN/LC_MESSAGES/statusnet.mo | Bin 43726 -> 29270 bytes locale/te_IN/LC_MESSAGES/statusnet.po | 8 ++++---- locale/tr_TR/LC_MESSAGES/statusnet.mo | Bin 27594 -> 27598 bytes locale/tr_TR/LC_MESSAGES/statusnet.po | 6 +++--- locale/uk_UA/LC_MESSAGES/statusnet.mo | Bin 109630 -> 109628 bytes locale/uk_UA/LC_MESSAGES/statusnet.po | 10 +++++----- locale/vi_VN/LC_MESSAGES/statusnet.mo | Bin 78720 -> 50649 bytes locale/vi_VN/LC_MESSAGES/statusnet.po | 12 ++++++------ locale/zh_CN/LC_MESSAGES/statusnet.mo | Bin 76518 -> 63488 bytes locale/zh_CN/LC_MESSAGES/statusnet.po | 8 ++++---- locale/zh_TW/LC_MESSAGES/statusnet.mo | Bin 11939 -> 11931 bytes locale/zh_TW/LC_MESSAGES/statusnet.po | 6 +++--- 56 files changed, 119 insertions(+), 119 deletions(-) diff --git a/locale/bg_BG/LC_MESSAGES/statusnet.mo b/locale/bg_BG/LC_MESSAGES/statusnet.mo index 4aa8804c53c97875751d7a3f65ab04072fc21de4..8cfa1523d21d8ab163e0fe13bec92b17c7eb0d65 100644 GIT binary patch delta 17453 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 UEo1G>8Pf`<+Bwr=Qtj3M2NM$#<^TWy delta 20043 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 diff --git a/locale/bg_BG/LC_MESSAGES/statusnet.po b/locale/bg_BG/LC_MESSAGES/statusnet.po index 3ad602175f..2c359f0e8d 100644 --- a/locale/bg_BG/LC_MESSAGES/statusnet.po +++ b/locale/bg_BG/LC_MESSAGES/statusnet.po @@ -1,13 +1,13 @@ -# #-#-#-#-# laconica.pot (Laconica 0.6.4) #-#-#-#-# -# Laconica Bulgarian translation. +# #-#-#-#-# laconica.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 # 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" @@ -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/statusnet.mo b/locale/ca_ES/LC_MESSAGES/statusnet.mo index 993d020daaed98cee8ca0f979e790ace088eccd8..aadf38da9892a697549dc353a73e23c97e03266a 100644 GIT binary patch delta 14783 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 delta 14383 zcmaKy34B!5)xclaA*>;6fshv738r!OfT0-=*))j1vD_T*jRa)x;+UoZ|@7=J}{`!8N`JZ#{e(t&Vz0huc zKkng2n#A5uXtu-PIT~jeyy5I^}0JlM@{~qiDn+`CHj<5%0sF*PjMFzOcaTs%Sg(4^&u7+*kjnEHwLK&cG zI)lRDurCb3vG8`72w#T-;c1u*J7yS0Idnm3w;PUQeB)0j&2c1By9G>wEnzBb3Nv6E zI9U6~K&d|wN9_()$ZpX7d!Tgm92^G!1ZB@#4{`Q(u;xrC1NmSoyb1P(k3b3iE3h;C7|H_A z4k7*$lJ-NLz3T#H@6w^{=`8Ipf@82FP`2a%lr1;`Wy0@6^33=V_JsYIrA%}pKk+aO zC1*B3NyaTu7QQ!zA~QY$Wre4p3C}{AagX5+heGLi8k7}zpq!3PP}<+6%b(N!cc8TY zR{PtIa8{lU#XkEN{HzhDt|=aEiCqOd>q z2G|bngKc3QYzCi)tzd&=$Bb9C<2aO1z6+({IVf4&GRp~J0`y?_hKt}PC=+=HO746O zeK28^Gx4in7wp@iBG%aG?Ouj5fs;^j

ZV{{;;1MVjd>;0IuR^K!8I)7;lia^D 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 w%DDe4bkqM)RM%oEZ@V+D++ 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 literal 84573 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 diff --git a/locale/de_DE/LC_MESSAGES/statusnet.po b/locale/de_DE/LC_MESSAGES/statusnet.po index 5e1f346afc..4124224d7b 100644 --- a/locale/de_DE/LC_MESSAGES/statusnet.po +++ b/locale/de_DE/LC_MESSAGES/statusnet.po @@ -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/statusnet.po b/locale/el_GR/LC_MESSAGES/statusnet.po index ccbeb34b9a..f3fe654995 100644 --- a/locale/el_GR/LC_MESSAGES/statusnet.po +++ b/locale/el_GR/LC_MESSAGES/statusnet.po @@ -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/statusnet.mo b/locale/en_GB/LC_MESSAGES/statusnet.mo index 93ff37f9da367ee2166aab732ddd03f62270046b..11eacc9ac10a225565937c59c93d8f684e78fe17 100644 GIT binary patch delta 19478 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 delta 20309 zcmc)R2YAotqxbP|A|gSo5J?EX*d)YWHEXYGZ8al;kO)ca@v}?qRYj@Y+S(Ykt5i!- z6s@gF)!wbuI`7Z#zH^TAKhJZX>$$FTUFUn9yRUnF?|pw0{LjS;KB?Dz+?R6r%yoDs zq;s6S*p&b5_Hmrym6hu_{hByVZtRa)aS|5B`PdBiqAvzCb)52;6Ek5WjKtPh9LHdO zTxZiqu$<$#oj-}R@OGRMv=%~z5zQT^6wX8b&pF6{)M3!Oj`KEFLv`fFT(}uC;9=`Y z3?h9Fv*AN5fZp#pP8KYTnoxNRq<^O=5zV|S`r!!FixW@-nupo(3-rhRm;;Ymub}Eb zwrQUhre1DThvBFWOQY&FM77%}EOe@Dp!LB#}Ph)j#(waUC5}8EgEnJWF@h0ZP(rwrltcTjWei()` zus3c%H5Ag;ai(HhtcKTd3KnQ*mVP5fl0Jzpe2ux#)t>dwN2FqV$4QT^QA^wbHIrD> z-o_*6(@8v8aaTp_X<%M&TZ8i1$$MS9;%ZN@7h^KMB_4_gQ~6ID`y!Fb+BV z&O}uHRMZxHj9GC7X2;D~2oItT*KN#!Svr`*8g6ZX8c+hNd=YA8H(?3<)=fl9^8kY| ztfOhTJZfv&qn308>Kg5^`PZ-!X}?a6QyE*J8lH?=xh1Fpe`ei=Iy2wl9K4VH&^@lR z<3td7ih41;i`jx=s1+%TF05$t+oF~*8r4Bh)JhFP&2S8c;9LyFjTnrF@h$uf^J4z4 zj+2M}ooYnXaXZwKbiw@iA!-HIpvsS-_WCrcTFCw zUB^YXd>v+`f9DVp&EPERuw3&LIL;l^y?uq+^PJsG!$q(X={nd7hoL@T$5HPWj5RZk zKn zYA0t;(@{m#ioS=UeSmL2Xe2mcfrvTXY!1 z@E&T$nd3~l7;3=vQSHZ}uKQ$Lz9x?KSB3A%(CNR8y4T*l&1nrnjkpGC?>nF`_D3DI z!B`k4qqgV^o4+4*E6$*!R{|qPBJxy3oCbh?f2b>s8c@o}*SG zSE89gc~nF1pvwE({Hdt-KePFJPy;%L+RA6PJTqS#bRnW8>yP^2j6iM4 zXw*oTqn2(bY6VW9mhNZNmfb`x>0``-uTbx0>Tg!AAZmcstSvDs>E4)6_kSo64PZX% z#g(Wf-)%jE5v1>9SIm=SR%AHpaD9Xt$U@X@S&5nP2zujL)W9!b0A9t6_&{m;cU}_F z3;xOGumzz85N552nn82a$a|nV9*COxFjRx%Z2okcKL>S)7opnUff~Sf=)%+J)(HP3 zq6VI$R>CL6abhqVmckTlhs&`fzQPJvVt{F=D-I_;8a2~@P#yXVGy~6$I()@YE7=mY zRqlbTzdk_IY{ds_)JhB+%=%|1GKmbG&V{H3wxdRR1k2(x)OR3ai1~S57PFD=hI%g2X*XkD!+L5o#u{QSSw? z4;oM)D!&YBf;Fx0p{{WZMxlEG5iQA9T!5EQBOEfqG%yl1qbZmZXJaw^9P{7_48*&r zJ@p!Ceo@JW)k#;yNF0n|xDqw+{g{FNo#Q6r{DNAlE0`N!U=_^47HNP@QKvrzgK-?H z!$p`M*WpAwg1UySN15-*aMTZ}QK)OW0`+~_fSGjvj}y^|E}(9~O`Cp#s^~S^{JbxS znsEozmJPzdjXIp6Y`6wq8np%O&>MTBwkiQV_dl74W~nQvW%I_;?#iThCR-9sPz2h~ry3FiG=sP;-sVE^+HsZEAv z+8K44Q&1}~5w)btZ24}R{s~Kxe-E_+c|R~6H$cra1vP+KsP>nk4&PqX3LQcX_>`N7 zW_%SjW~IZHWMn08A+Ex z^-~S~bpM+YDN06bTQCB{Nl(QhxDj>l&)D)us3rHFVmb^#b>u<~q_VZX&2NPocsy#! z2Vh~GfW_$FSx2NIo<_|q^HlT8WDYDwx-PE31k|49m}X`WiaHA=uq@WWOgIp=1!Jsp zQ7iK~>ivzV0dGUMGJYhY8U2if@E$5ZaJp$Q59(GFMa|$X%!*A>4R=I!7=tPwh*|Li z)BxvUDcpob@iO{jh8e8CMx1?y=_m|!?TVuYPzSSN6V$2hh+4|wsCwg3Gx-!XkZq{; z_MkdCjM?xJsyy9Hvqc$E*E)D6>tBONIWqcV5~|~C7=U+BEAs-iHQ8sGQ=S`@j>Ifj z7SmyEREPC2Gq$nm7*sncsIxU0bfBzk*048Jkff`W3Z@FHtkf z@UiJAGpf8Ss==nH+tC*_fq58#-=S9YF{<4cSQ?AYH}}6C29u6Kf8GD#L_GHqgD6;s z`cUjgt;jLdfG%Thyp6dq-2%Ims3k6ns$UINuNmswAB#F0V^9N|fI9tC(NFh(9uduS z3BH3Xu^B$WP<(r#>7Wy;UJ`0RgRlgS#e%p2wIV062)?xW1wJubRv$I+p{Uz513iEL zw~2`M{1oQFzfemYxX4tjfco~gM(uS9s)Jcr7Pq68{*E6^OhhLwi!;Q}e<*Sd#Qe+=}Z^9mFi*;NWyDgAq&39(O|3{}5~9S6CdMVF(sj zW>%;g>MV4%&Rpg;GycX_xP)rhd%3YZ>V+PtEt!V}@j6yS{}pCtwJ@G^B6h(GxC^VT zGy{5$wMbW4Wmaw|<|VzX5ERZ~PiH!2Ngu zpP*Ls#OHi9F~e$eR$5{P(p`{i=k&C?2NBV!{lNM$YAaTw&cZh~{}O7??%Q<6HRhD( z!R+LhL+x=rOou5Lh=WlpIt4Z3J*bsCk8G9O$+6ZPq83<`g7H`#*Q2iGZPduKuQMHm zpsrg4YJjy+1M7(T!VN+VXac(MV~oe`r~wpNZ&suZhU)$|Cz6?h-l&ELq3-V#)RwHk z0NjsSsS~J7}TFu0pL$DrUm7sC#`KHSm|Hi3EOO23`!alCFq)zdnXxOLP|_(w~TC zvH-i{F4QRx`_dfF+L(oOchr(6qxNt*YK0D>uGw|e*?EmR1Hq}Lqr6y(bX9DFai|G? zoyz)a?{1J$0=+kz!%`A8fG!w`V^L>g6Y6yTf*L@UE#{Qh!y2S#Vgw$?7WfK_WAm+! zGYW@b6u!V_SYjLNuNMYyGr#$)Ky`cwU3eEOV3x1Ui0h*A`=A=0f|GG8>bPXogF|o^y0GF-Q?V@ulb(v&%T*YJTTxqZ6m_WX zU=EDjWmc#rjvze{v*Q!1?`~7i9ZV!A1rZpCwNM?jvK6|cUL1tkaFR_gKwr}9P%}zJ z9mWf&v+@V};a`{@ojqp2zL<+-7*g(b$`R@8#itT;Q?PKa89*xPl<&uP@FwaORQ}rh zxu80#!z9!h8Hrl*wU{4I+w@Z`M>_vL^Vjq(F@*H0{W_FxP9c%zWZXw}Sn~kCcw#J; z$JMA2UqXF|o>*U@2JG{#S(&_8kaS7Z3cQCZ?}~bVFoxkY)XJ>GZ1nGJA)*l-L@o6d z^v6f2y?kZOdeC%K0F_@3Rj)p(!*@{~c0p~`AXK{(Q7g3!!*PSnKaOr4qFc6t*LUVO zp8)hFKNz*Q`LQZC#J)JzmOsKiq@QC+jQyVPKF-Dg=y%9`%15GBW*5GNSFk?jJI@0O#MYCrbIU$F)@{ek7f$yg0Tk8lOCE$XM}HH^dzN6qaik6QZHm=F74 zdi)UmamG>BUo%}mMh0Ap>2Nh>#Pz6K@fE6}Bd9I9iu#Z|!G>7qn0Y?|OOhUd>S(!j zHLAUhsP=cD5AJc>g8isHI)=J_=TIHp!b128HN)^9&ED6=!lc_;M__5v%We57)WC0G z34DoKnIgx{HEfA$*WH_l_GUV2NmH>nKCt>4=}qdu@>|a66reXi0jZ3*$|JGZnRj^H3cuLeG|T-t z9@W7ZR0p48Hr$C>@Q5uxkD9l2Q57(S`GD{#U5>PucVx)OWz|9P3|}NC_fEuoH&hIMiWVj9Sut z=)!ZTm3oO=NV*#8EWL{wXfIp- z0cy)uqE>7hYJ&SQoc^7|MD*ev)DrnzHx)urOBaqAu{`==P1MRXM7`G*HSk2#04G_O zpjK`hYJ%UP25s|Dw&miaNx% zQ62dGVFr*3!$}uJwNnpO-q@D6{e$(7AtRQIQg{g4;WN}H_r06uw_i89NN>Rrcm_4o zR<}%p@1q9Z6HDMo)Jm>KP2@DX@H(oV?`^XsVYgZT5@b{-qc`?K?afc9FWPPNT&Fu` zh4P{rsDL^fO|4x}Ta|<^oPtGhJ!&gXqYmM37=}+#?+3c?nvoX4vShSC?ag?M!YQch zwF~v)QQV2QQT0B%XC|-#HGs1?1|OrAeBgbPKMegy&&5Kx7`1}#{X{YmIb zVPP!tz$|f73?SVe^;2h`T}#+o=6OX6wNz|uW70}saxq)S;VqE@N~=GOgh zN2CfF{ZJ!ZgIVz;>Q-Dub@&qVW5y@uuVPDJ5z<>Q9bP~!?G^OL^iRzSWJRrTSh(cw(J<5i$6z*GjCyY)YDIRUW_lI% z{(aP0@P20M7e=KkK4bkgqV{BHCdn9#ldQ`yH|d=ifj^-J_8PT>*`J#g%8Tl#Flz5B zTic)po`QOB9BL&#LT%}a=d8bGkZLO)z#!76P)l?hH52EBF#y#-DC)2kLv_#wb=`WP zI_iUZe*~(%S*S1MYScszVjx~{6VXyWux5T~Dip&|@@t?vYLD9c4=@tHM9uUvY5;$u zItX}W4qpk>3YA95=`vN<6z*XB@FM2)y6D!(3T z=B-cz>1NY$s6#pkbql7W2C@*<(JIt6-io@Wdu{#=40n_97ZF{X5XZ}N7HXkqk5Ee< zkLqwNs-q8416gL>Wb^l+Iy!?|^2=BlAE3UZL0(>-zcs6gn%F>emmxBoh$?Kr75Fo1 zPltP(fs8|)g*jLj*P~{71+}zytglf6&5_Q$AA%ZixJ_3{^?;a1F#-=UWBhOPJjHIt0#%|HsE8Z3_5(+a5fJK6HSs4W_Ry2fL%1}?__coDV2 z&E3AHVq4VG#G>|QIO+p3#-`_?4&fry51VzU4mY7r^*)SxNIsCyoq!3;bM zwStAPDY`2W8A@avHpbWZAvX3iOLW?LAJw71ziBWO!${{xeaow(2HX`j&;h6w7>8Qw zSy&p^q1w5KyytfA5y?wN_KaShzho+fl}N{-uH{nHDL#Yh@D;Yl&`c&j1sjlFfSU1D z)YAH7Hd~k(b%t_bBo;;us0Did_doGOv_ykZ9gVORmZN628+Dkjpl0A7;N|%sRYe`j z9;k*BP~{6y_x}gfp*({+g!fVHKSym*{w&nf{jW$wOHvzks9K;7TW8d#cOYshr=XU2 z0jmB+RK2fJEBFiQY&=B`>^Z7qC#zYBjHrnQ;yW0O?q)=K645E$g6iNns^WFjfNo(4 z{1Xdecs8>l^{@!(zE}w7qPA=YYT)-#w<&#gQ(hRgqKz>RCS>RSYtJT;;lj0;509Ys z`ZlTq{~YGSQyL>k$5^MMe#q>^C_IX#@Na8mpqW?)tU&%i)RwG6)&Dk-`(KjCQ!=(< z!JMXpbGVSSZ!Ry-AGepG_V^U4zE_Z!=aK+N*%tlJ@9A_Yfjlng!ShkE6bPp?S?IEr{NvtD**29WP*C)O$_BygdKVI2v_U zj-syLS=6=r)%p;1Xua|ob0Aycb_x>FVW?&c+My0(oK25Io$|S;y9C z;}L2}ee;_cS4OQ|Yt+h2LH+PLf<^H)R;PcbsLR~TSk%ZTqdJ<6x(zE)1Kfcc*cr@% z4^j1;aI=&-P+Lg6gQHYJ%#hBkIuf zLG9^uRD)a57f;~t_>0ZoThP3J4mI=JsOuR~$jh_m?_xvJ{n4!kcMy3Ce?{H%{}MIRZ&26xN7NVeF6z1m74dSqV&x*-f6Z(@ z8Jf{<)Qo>YE%^=99;Pd5R;ViKnzcvW<7Ctsn1bqP2I_2Vz&3ahHNo=5O#2;BAF_d{ zv$C|9+br!*WJHqj7wT{nDsE19Q`7*)U=!SqTGI3-%y*(5wjkXf^&L2XqwpT;1CtnG zuJflDLHaIgD?%bozct)MTx4`ZU8k|A5pTEoS5OUmmGtubzgR_}R%|eE~oYheuP z7l{?9721Zw@E+<`^e$r@j;c2ebyk+5uIpChthk-Sw!%5oi+53{|FunLD{D@90o06& zqYh&W)LH3_ewcviaUg2I!%>HIHu~dg^g=HV47+R}?tf!GZzpWBAn{KL>;JuiDHzF1 zi^$tXI7+#mm&89K#1Z}`bR~Z^`D=;mIYYVwA&Gc4-akaV3h^$;xpZ#eO8WmVPcQ{( z&qN}>+H_+YNqeG*w|XO;mcNU-T}d3lopkaO`jWm(=t}wz!WiQGymQ_nxNlRTIN>dV z=SkBhwZwc`o!{_Vy+F`Ylg?{ne)P5PbRn+iXTo+uLDEUo&qw(QTPMl-7G*x^*#Ejz z^d`X%G$$~v0phu-*bxhpR}=MoNZv}@Ko;^}+4zr?mn2=9^f!b()NN$jI!jr0;FQapr;Xe2fSvFX%OT&$NaM6d_d6C5Wgq%qsm!AAM)zbOn2LK9C=$PFM;bQ z8;beyWAd64zfJr*;tusQlfF(=PZr{O+F(nS^YH(~;&zUav7YcYFX#)G_5|1$&QW=w z?fh@@{-8oN@(S2;)labHqinNP<{vx9j1&L%H zC7q2Bq1rr!DQialAoBP@=)7+`OGbW6bAF`!V^fts>hlYZjbA0dEkTdIurG+$;GOBb zQ-}0tq}^Ko#bg{Oy!nLK7f++h7U<_i4E37Wvi^95bX~#=!hXv6J=gPVUMgiB>Fi&h z`IJ{9e+dP*h`XzkSU{pYA(qhAzSN2aCXh~`lAfKUYZ2Fv>x%?0(rM4;H{!}`K)nZq z4zxAQws(Q_VL~H9GC@x%?f<(}2(^_=Hs25`B-%>K%SHz~Nc+5zHds;7WVy5!r7C+K;l~^jX_m>(4Wm#2hkHiR*{hP2zV6KK6w(#Pvg|J!yW~ zavl*{+p-k=nzDW5y@%zIpIOdNgoC7867&O5PkQP$ps%Ks&DHzrzrIR%7Lxf6g*9x$ zCYR4Qk-_ALq-9_Y>gq|PZfC+t;yuW#Nc=S}v29Ex&aanF4DUx%$BVdrS$+qLljoU# z4=T4Nqa~igHiSMDzWG$6EEjooDCU=MXlMSCXDR$D6x16Bo25zMuzc6_o zH}xhEMv>Q!@He>)urHwszsEXp6uL2Vj_{dDI(==ve#xmyy&ZS}r`Zlv?MK2b zMeGwv`7_GnaR5P28$uFoeL}u|v#O$et^ZKlK?E6L#QF8gxk1q5PhM%v%1hCS;=6Uy_c+rZlpOz;EMDUfW=O^5aSC`I1o1=6f>if7(-L9QkXg*O|DUk;JQ}^PGQ^ z(b2wG+%~4%%7huDD--@v0|fm+WP=KM_+8iWwe^3)DK?%R2M`8QC#P*U2kGxgx5c%X zPWkHpJv$%REbH>|5d$FzuPF!?^2<_w1@$Z@`04k^bren_Jf~vXGmCUyu1g3U$Ar;A`H`NIdNc(fz+kg^wusm9U4PCy>1K*p4upygv!w z5I!OuP1$flDrx;`I_(K2@*DYj<`Y&Co{{cJy=8>YiSx%xM^(x(h;)Qa+W*Dmlp=A0 zLOq*EFEUZj-w!BSl=AMjTRK;mEHV9F{H zcju$wv}ZCI!K5=%VFU3`DCkS5PJB4-!uEu5gbCC+h6k}P{*KoOkBRr7jq!xdyfcrW zXEkMMPau(tq_6Ae|6vkc2t5e(csU(mFNFnYU^#i6NzWrVgl|AkIi-0TV<+l1M}NXb z^41XM5K8m@W%7Cxej(^tPThON+nc1bTR;CdkUpk0hiJ^z`KAX1HA) zVixkt^IjR^y9w`+UzxQ24yieY5H6Fq+P+V=(~!Itq)(B*m2^foiKQg`DJVj`HvT}t z3i37(juRhC{#}fw>>PP|wvyL`bZOMH&EWa(1zTq{PP6eKN-|TwBEC!BJ2)QQImql! zBN?#1ZA`7i5b}_xXSTulit=j2V{D_!E<~NWr1w%*f%pOPHj*x3-ET(u)C?``OB;tYTUrw%M|K`u@%)(T%W*m(re-#3zzh&sLm9!E@pxaR_C*ZQUr+@q|}|I+VY(^+`G_ zY@J_~u+PtwzfH(t>&?{u2iU@QiC?wx1Y2PQv&m2XMZyfqn&A(GJ(Pb)`V!`}OMS<_ z6HfXjWmWJ4EJQeI%Vt>HlDCMsdoGcx1U>JNQN&hAF_#j(f+0_Z(5#FY)O0?ULcxK|W)PHL#Mv|c?FY$d;NPDIb8BJaj zDla6z1L?!Iyc_Z14(OXQdtj&H{;pzm68px*M0YCID>FFk_5Uhw z)I-%>eflO2az&>#>PqPqouaA4_De~2wQSbXl{hdq$rYOr9T)Ga)NMeDD=xWj(G-T2 zoD$pJ)hjkBHqw2Nt_!i}f_?86|ujB5WoX2YkL z5i``btYFNCA-vxzkrY@~P1FsoOui?o;Rw_WOfdC}Q6v5mJ@_^11?Ny5e{AYg)NyAj z1PfE14J%_U9Drk0&-<;rrr;53YC6}otT>#B!_lf|S=C_#R>d92|5=auM`nzuZ&}5# z32MqmVn6iZYz$~%S+j5+=EGbK-KB~|uZMzx1nT)5%#CX>IUdAdJc=ps3?{>imK~wH%4*`yR2D2jHnIuxugx`(0zG&N=EpCw8lJ$S zn2N2>;H>gk2|q&3NCKwEy|@rh;t=fF%(9B(uc(1(t9u|2gRvlL21Okri?ubHAYhN8TfG()|iKwNC$MpCqY9=_nXDoef;7Q!B=8JmupsnzJg?@&v51@mG+JNG#SP%~5$ zGh;U_r1Kv~pfA%hEQUX08GMPF$`b84GS~vu(Lp9Z1GNd)qh55}ls_=#sXMrPD;x_` zUl%nq12GHEz@+oPl0dt69cnL}z)E-xbsDmL=sqAfYE#ui4-P}U*gPk zs6Frs(_%nJ_xTx61I&+Jji@a_HXMrT*-X?Y^mELJ8&FgB9csj& zqIPu*s(b)yFO5OX;B?H6>rgX&pcC`2&Gmo+J@~b$@N{-JRb%u}-V;M{ig6j{Aio_o z;*+TRADHqCUEBecK;2gl)xHbn!qKP?m#>RC{~Jxk0pm5)$lqXU%+S?6$2n0`?!hqp z05#%{s3qu*nz??ck;kIiO~S0W6xAWW@tBuDGjJVq<6oHc!fx)3IZ-#3H#SA>ff($L z3s6h<52^!cDb(o*!!%d}1F$iwqs>rD(*|{%y*&uDNd}@`6la``>gifk2lt>h;|bJ_ zr%nC}YQ#4%C;o|gaZr@IbXiaxsEE3+GHQTzu&2&{3xaS8b|4$xx``#RS`WU8*bhCp z635~9sFBp*ZoQ}us-rDYo2n0Lh8#?X`!EllM74Wp^2vLty_cg$(3gr9sI}USn$pv# z({LX(GXc@=19G5_X<1`kRQnF-!C|QL?x3dnTg-(=QTN?Jb?_x7o&Q2H?yprz)F-$L z?!iH*5tZoezMwr$B0m&0m0|Ix+;+u{r3~E?-Vi z3O8e6OvI&_f@w*CpQFzIdMtu_P{-*u>KFy|bAKg6u{!xkEP)@PUbqp}k)xOr&!J{4 zu^;oVDSu8uWz5ju?LZ^crW=Nu`bnrYT!!)ZEf&H$1KeZTAM=wRjKSz&UR;5xaUZ6^ z= z%jAcnUbGlBlbel)Q8VwoMo^64IjRHshqzNz0W|}Ws9oC-wU(WYV=z7W#i;w%V+P!9 z%8#Rt+a=V<|3)oA%Au~Aks0z@c?n8TQ400I&KQUTP&W=mJ!mTG1G54(qTQ&?_X}!@ zZ=q)Bjj7Kz%>9m(LJhDB>OJwOfqaeWb^gx~=)pHpo5zZEKOCtr1KDh-wJe4qSP9jE z#;A@(p*H6z)b3tv%2#4W@(HNt97XMoi>OU_4b$^}>rVnr%`4PzKv10fZ$gE!IQh<~ zJrIwXaW1MOYf$$kpdR=GdhloCV^q70!`+!JU@VX2DX)WGt?_6A^=uMqr17X1E;9KQ zsLiqw^`e8Qr8Tnvtc(O{189HQY}@ z7#>08uVE?~ZUT>IGk-9pK|I#S8>o>Ko8T@%6VzI_MSVb`Q5{@>+LS(2NA{rZ`wg`j zU!XdcZ=!pQTcKv;Bh+&~#?rjY+D@QjbrZAWL(Gc7{MhS*ln?cy5~vZjLalvI)SeiO zS#TO^%~zmiY9r>v{ir3pg6hC^)N}7*()s_JKqGpE&Cr_c{e?JN-dRv;fd&7IkrSdx5)Y0UpO1XC%{gQ~~#Rl>fg z4@>gt?pj5lZs>(IaRC;^)2Oxo4@+YxTUypf-9O5>!IWRdrj)0h>CQkWFM)QYRFA*G z0r)$1!&b96ySN?o;=!}|NyaT$2p^-?IBbr)>&v5NtUYSPBd`H}g+cf)hTl$mHs7r;huTYZOuiek zdA-&Uf{aweV>m9wWOx)a;R)0XT}RD8)&=e#nH{ho`9-LXeTUklKcHTG0rkRvF&$=b z++W8$s2PsLoI3xT2sFZDs2k3q9`qOLc%@kAPHApTOTId4#Enr8?u^>B{ZUIY8}*zW zm;!&s+j!2D@Am{t+@4iOtyNd7it8{CZ=yze7uC^pKKD3fM|H3?X2u4n z4t7B;QGe8_8H+`5396$9ushyDug+oJ#qQ?miyF}^tcc4{o9Q%am;Z%XG4&F6i3*@z zPz2jyJ=DloU@_c@W$-4Jz${DMz4Za=`J%8Sgbqc-Vgli!Ca$e+U0cpkOX-dhCvF#Lnb z@jp~g16I46EE_hnnRd)h`A2Kq|I)bx)js?S{wTrns0WY2k~jsmG}}>oArUpe;I;0j zI}*cn{$mN6Qn3o_;bW|f5$oKJ3`L#qcnrgN#`Tzo{C?Dnuc2n-zA3lXo4=qi3*|*I zFV;lOU=#-H{EsjVCZI;X2sMS9P;0dh(_kWMP5(qqZQz&ggR`JERdLh{+M=E_5;eth zFc?>0VO)px@n@XQ`>n7IZiCOU2lLme2qJibn!4BM z!O#SEDI!oE>4tT1Iu^u}m=B+z?ho7P{)~H2^)0amjzlflH<%0eVkW$dSg!~0lAHWgN z{iQLB&Q&jh5)_QV2DlDO<73oj%DdnF--4o14_;+FjK#>`N3{?8-u>b=K(&iA`6ZZ( z{2{D}H&L4}`vIQqC1^;XQ_vr^`G#UBF2*Xj1+~fkK)vuU)b7rC&>cw=%u9X(>Pxr^ z)uGL(y>JzEfASyP4_O+_NIn~S^@8FAdO!^3#&}c*)}cDK7qu6DK<$k)sCKuoJSIEj z{s>jVJmedomava;9O{MhP#s@|1@QDC=3krR83p;U)Q@hDTVZkXqfnb_jVa%Q*~s5S z?SK?Oj)TyXwj6}6>gdXgM8o&h9z?OOmbbS1%sXdPB`DILluh4@* z$K3LwsLj*>D`O0f!g$d2zuuc=+nCzQ{Xn#h<2iS z_$%s#4^TIx{>gnnZcI(S0P4Qds5OqjV%QM%y@*2%Xa=eSU!rFAE2N#*Iztdc!5b`! z(I?!09iNNZEcdVmW;^MA2Rh(f^0BB6CHvVe4@IqQ8Pq5DLyW|^m>z#Y)n7v`dC)I9 z_N;#qg5ngk#V$Az^W#-4g~?8tzX4GX=!~kLf|{B2#ve`jEz}1l=(PKnPBm0V2ctIY zB-9>QgXMX@wU;0z{)2kKE7a8IKf`Z6RzuCqQ`DEx^DCcEtcsfYhp5x@FQ&t+XWdV9 zVXQ>HECyqL%!tELGcXOk83@)9$epO~!BNzV1fFyMb6RQCra6mx!6noP|3Hl>_iyg8 zjl@XuF<1}RVO4yHTJvJ(-M!WlHQ;XNng1|?-V}tQ7b9>Hmd2B)j=jaKnBjsu(xRvt zXoBkKTT};&Uvxj^WiSo-u2>TLqdL9>wQ1KIcU)xtH6{BgD1oQ3Hoirjg4&nd2X{jc z`Dkp9Q&AmDM13zFVGhiE+1=%(QA<+}L$C@K#HPkr%tU^Pmq1gv2{Yr*s2RD1y5T>} zj`^;*GgKW_-Uiif42I(Z)Cj*f`Cm-^TayneCpxBnD`p{o6g8l$s7?I@^}?Lj+!={L+Ig);1X}y<*Z@bO z9 z=R-~DT1<<3jX$9}bP=^?k5MlUyy?Cm8)^oM8SA6gz87j>{ZTVF3HAJC7=(Vz=q31$ zAQzrQz2H82(7NRw$GoVKbw+h;9_GVOQ62jpH3Pq)UhoV(nErQnZ+jx*nOk5N@ryZR>I4)w+Cf#J9Sbv(aE?STiV z4raOI4!GnU);~D~jVaJEX^DDaFI2-3sE*A+jlhRm!}Zt*&!Rf)x$Ayt3Zm9J3YVdS zDY4W&w>|>(U5G_Jf5JWHU%_Hiu@$uxdoUGV!h(1kQ(&4u+!1F&%}72}$E#rwHb*_L z18U8OU}>C=>ez17jNLcB@)G2wAl0AlH@XCBZ7O0}Y=WuLi)uF$HA95Suh#-lBnHY2DK#3 zP#x-q9vq6raRF-T_o8O*N7V5>fphU5viH2!=!bj;DcFUYy4H`}CFqa3aXM<`^RNhR zN42|zdhtJ~B}@L;JuUfBr>HBc{V>%1%dj!-!6q2|mrfPy-;TgT!3^w*8?hm#`rAEr zZBT0#kNSf7up(|pb?_dl1CKESru)ZT>pZA-EwKj1oASe``(9v4-p{wu{nZP{v}9vY zJ&wboxCpfr`%#aG;Q!?9XfwwRWD+Jm} z=ej9s&$Pvi*b6h^2+W2vP&2Xy)uH_uinmPu71GXY0^ zj8*YE*2G*X?4jQ#u_r(l1e`VGn9%PNSCM57Z08g6*WWu8lfwF__k7kD=Z-HkEBP z;{DbN0`1znsPi6{+D=;ITBuDj7gORT)PrxLraXNbccghSH~H$u&Zzpam<4B>^3|wg zdH{7SAE0*xK@Pg5iUp{OJ(wQ<#2WYtJy<23yOy1>5P2_ZiPmCP+<@)yAZo3%r?-<% zQyDBpz8z}nr(y(dPH%gY{te|e1s_t7Cxe~zH{fX03l5-m`#sduMr5@0zfD@bunOMA zE|@>WeZfT3)NVr^<1?rMJV*T&L}ap)KH=T5H2JZaymr!$&sP*^%Ialyr?>-FB0mMy z<2|UQ`5mP0qHf3vZ9LYnOE^S1Iw2rbL zd4{>XR!uS$$!U~lO~pqv%0qn37@Cl zU2S7q+LR;d`(r(#L2iCnbMSxC%#8& zZYo$Wt zkpJAYDa$>FC>u}yV_ZavOj>0MzSB#v3hHV=szaJbBYyXjzO}olJ4z}{@{lf){-HjY zq-%qVRn6psO#T4v;z+AVx~3Wb#FTvHlCD~0E|XS}_>d%BRd`TJQU>$DtJs2+g;bw5 z=SUSv_h`)zi?xaJBgFlQ&10=;?xU>5lzngFyqJ^xFxtOW!!rakNe_rq<0jO{T30t3 zzJFaXc@OQn6aPeIUsJY{vIC^ClzoM|=2KUeIE)lTT0xpZ;ty170d?MA2^vu_=-ore zPa)~bLD>@O{veLPs-&%?8YEp`liJYcE9CQPy&`oW>GETB+T|w2lBSt^?wfkI6%*B( zg1<~oA7Wi!(|9_bq^<{P8_7?;J-)m2>#@o_^wPURj3?zM9iidFT&|9?@Di%c)lZAtzdjoJ{W!_L^3^zPbBP|IX~rR{IT{N-c)g6Bx1N#B{5bi^;n zzq=L^Or`ArQ-76TIcp&445^SQ>_;3<%1q;&lqJJsYUuOwcL&oKvOzmdEHC>Ti^OyML7wiD|*NS+@U>r3J>lq8ncPz%Cq-MlhumH{>#gH6QN*;HY z^oCT4`dK&^f2OVvaY15TmC650JkQNq@#J+)=Fd_qk>DdL)%8WB{^q85yg}V&JcIvI zmy4u-i_f5Ag_ogytE)u8PTOrX30 z=}*#n(`LVsYWLAqY227XA0;P9KPPR?GL(!UO(aE=#?op%wa1Bdb#h7i=S9jYneKI? zq>!l##2M7Rr0zQLY0PTs?hrp9=^BG;OuUW!zyR~3`zeJXJfJRa$2+8DG`MRTKfzs; z&7^D&+N6WTKTsY^YDcO}zCGnF@FFQ4Wu-}(D0}}JPMMEXk@DZo`~Ro@sEO86Ie;Wc{bS*F{{*w3;>c1uaSq0{LM0tQ|H<_~h#QQNFDHm~9 zQqup&$|P=nL}5t^GLrt+Mcqyc0`UDSn#^R=b}R8L>W7g!5^sO6ZDH~?NopF-KWdx0 zVmL>?CFKY@Q?Zn^hV%#dI2xxQ{u|$2oz0EPe{2ee;dRQp;uKTgh*-1w%(VHC@(w1R zfn!MNN#!a3O}`~=2}YWmix}1ZbK;?-4|v#G@`Z>aRKfL{_%P)qh#%ubtV!8H;tz;N z6JH^{Cf3!H@;!KovdyHANxD8&Pjz)SDt<`(3k`a`SN0F(rAfopz+B&$hrG)lBj`w3 zecf;F{R0yz`;fYCu{U0!Y_Yk?Ths(4sT@IknaWhAtf_g3veDF^H~FmZmH%kkrZwKD zZaL{s@?}WPiMMd?``2j7q9|*r_3uHZ8EGd4#ZAMaxRbKvqzS}NNt;L?kltPO2=-7P zN*Y3WN%CJ~Q&J>lt;sJU4Iyq$*=f`+tVgWtFX9aW?cM(Xn1;+LDqc|WR1LY(;$=6q zT2eQYbe*z0rYr%&C>x4-a5r^nu{QZ_&cMdG{QDaZww+1MGdo+G&vc?%#5q@5baa}x zyynzsmD?H7DkepdW`hSs7j>GqF5=J9+85yb()Nl|vqMVfbh|0e!uGTMT|1<=o#7w8 zb;fk8;NRD=L4Z@dOV4C+QNx^Xx>RyDc1`Wi+ts$6a^0%<R$ zddPV-^|W()S{^53d_kvqd`V|Ud^P8Gd_{ke=~ZlJ@QmhZhxP5c6 z(+ID_i)Wd1!tM9Dv)%6E0?qX*(qxHlNj)@x?H7wdQ zpl{FUL9x+Jk0q_0-T|MvR@re@hWZzOb~wP9yoznG zI>=ve^{Zt5TI*URa}I6D;yl~X+1b1?)+zT@CuikX=lqj5UACPeTb?*Gw|bnNTODV_ zwygdk+j85^hV6SDpTDy6%pd2>-BHkgc}JOK{_vf-Z2#b0bpoBsd)oV}?d@m#AMU$q zJ0JeA*a=v>oJ&Dq?4MB7geAseNM6 zd-=5f<|jwm{u4hJx1GRKHT@k=T@P^j{2J?|KAYX&@@yB|*>kSFzxr=)ZD;m{U}wUG zRQ}H|>H2fq@!pJa-rSt!e0HmduVXbkjsMoI z@r>toRj1sY5P#sE`vLx-KaSZcYxRsC!Z!D(xX+_gKOFCDd>HE#dlche_vm?YyRFmW zpD^ddzaKiCpEh(3KFyo+|J;FZo{o1WKYQ-1eqJnFyS{AASkHjLJ);Ih$69TB^z9kd zv+qIwAg9ucI?l8g?fm&)rm~%SujV^{zk2EX```HmZ!-BGzpfMTbx%7(fNxTOUB-7T zz#f^@GgI2xeX%L+%f3NDc3$7oAiJn9F~~0O%NJ}{@Qn$! zoA~(ei@6h?1=}NS--Oh5pR~>Y|E3)_*jF}<-P5-=josdtIjz0V_dKorO~Unbc4^yJ zGlMqROjymTcAW2*sLS_S;E4ac3C^&Mx-4Z=$l>F9{T?PFr`G; delta 26177 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 z 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 TWH2p_prsN0w=OL2=@R!p{55qy delta 14772 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 b(7Ztd>1HV149(dxR@tOaEQ diff --git a/locale/fi/LC_MESSAGES/statusnet.po b/locale/fi/LC_MESSAGES/statusnet.po index aadccd9a03..0d3f0a5110 100644 --- a/locale/fi/LC_MESSAGES/statusnet.po +++ b/locale/fi/LC_MESSAGES/statusnet.po @@ -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/statusnet.mo b/locale/fr_FR/LC_MESSAGES/statusnet.mo index d7c7ded012ebe119edcf3bc63a1226646a5a6f4a..f26b8708d6a0506529f6e8887530edd9777281dc 100644 GIT binary patch delta 19291 zcmaLecYKZKjn=HFy(u-SI3;MQRaM$5 zrAD=-YF1IL8m0Zd-sie}9v;6xe)r>Zd0y+j?rYxX96sH<-tWacKle|$Gri|<_4jq0 zaO_pUandt6&bIQ(b)2X5948Mx!^W7azT;%Zu2>fPU?48XINXFK@EjJxe{H&81II}s zT@PFMIL>&?=QwWXbR)-!r{E4Y#k@Qv8v9{QoQrzU84ShDO&rG`!>v&mMmi32Vl6C! ztuP2jp$0G=gK-sVpt~>&&v#A}(Tx|89yxa~7y8nhtQd;9v5>V4s(u}tZiA}VAA@i> z>VZ>G^_HR9-HMv2&oL6uD4*v$kBDew*_xROMNm^5k8fZ(9Ed|~{uP_Pj`8F-YwkE{ z=*AKF7goUmEgYv3et>oHR}8_DEgdHotD{?Mlu9H5XW;3{T7Wt6 z15Chu$Ub!Lpc*LC)^SQa37T)(8Ek&Zq$qpI{s1fh6>9eRFKSVtsxQ{vC#m zMq=)MrejH{UELZBVpr6ICt_w?j@fY?s{I}PnE&ELj*_97xQBW%6zp$iAQrV|bx}R< zhFNeVs-teyrhOMR0~@gceu;We$N;m4il86qN~ruAs7>6|O+-`J1+~WGF%}o2_f()7 zK5O$Iqt-Ms)r`CXYRcPNhoY8l25JV@qXuvU)y@@L{-4cv7vPgc4U|LO*a+33eyBB^ zZp)Y1{GHa*s2TVj1Mxrf#lS&kDRQ7XnuwaY`luP`in^~iX4Uy0MMP6N88s#Epl)1> zdeQ7eb?~J18fs>qqDGiyu&Ez|s$b384oi|AhTU)_Y9{_g?WMd!)B)B%f=DqkVlW#v zK_Bdh>Tws$j=eAd-?ZrosQR-|n`;TG1FNljQ5`>nIq){>!B0^Geu)7*-^t92TLrmL z1!1UNTL|@l%BT+1$4G38>fmTphsL3nU^?<@a28-Z{*CQ0dYJi?oQUN}Z^KCZ1>NI` z_`YdIItlf_>8PHkV=Qh#P33tELf3Hf!pVuMSK6jiQ1$yF2f$f?TFMuwsSimrdm$b* zQ?=8We>KpVjNF)Joq@Vx8AjsAsB?cFH4`r}7Y2?nn>7M;e^iF9+o%!$ zjUo6Fi(~Gw=6F}aVA5?-OX*G}Qi8}>tb!Xb4u3&)EXO$0^HS(fx}vov<|Ewz^I$K0 z1IME}xCe9KPnZ|)qaNtbhAV_&I8*1pJP{qg&rmOrn^+X@A}wJxg1 zy-+u%p=Mw@YAqL{I_JK|a(>yn%XPL-fN=sI}{X+AD)l0~mvv>bJ2hF2a&{3e~|Us2Tki)xqHD zroOuv5jB{EkyzE*6;*K(s^N6hgVtDgpdNGxH8YPcYG^dZ;AES>84Hu%hsE#*)cN+AY3?hCn&NoWgX*AmeCv;Ul3MAXy$%D}UzkzB?o{KMvl%`y!ZMD6}qRL85LX09o!;jX9$_Obb6 zP#t?4<8d9v;2CshCGw0&Ao|WW=0F{*0;mp^Lp`VpYS%WwEI1fdZxm_(@1i=e8P(nn z)Pp`n-T$jCe~em^7qeM^o!fvpi~^%^81_Ov_nlP97&qQQ38S424)YNUoMtBhUAanxfneX+}k=1a{phn(l zzHub#f%8%Atwp_HHewMxhB|(?FbH3u1{Uak*EEn16Ua!yoY)g}V;X9gFUAV!L2b@^ zn1n?am`&Rj+moJP(-$y>^h?x8>!h0*?TcEvA(#W*qlv^3nTZ()bSsVBCA=)troMO1IO3h&Ev=>Omt=YqT6S z6T46yI*Qt4r!f?7p{DR9hG5_#Q$G?_FA?=huaDXjeNY`6fSQ3}n2F~*V~I2&!;Ovc z8`P!@Uu+sqM$JScR7aX)EOy4CI1@D!+prj($0U4#>S*aD=G4?h)$fB^+IO&k&i{u* zv_@Z|j@NHk5CfN*O%#i2xE_|lA*iWdXZ;3qk$#R^ifqfwIj?L@MGa^fmc!kc7k@*y zZpgHp?`v2V`JeL}eBuxZ|s0Hfybg&LU zZPu~YS*R&qftrckHvbH2DSol(mu@0?$OwAhtYI;XCtU%3u`dQ=Drzd-sF~V{)$lfI zPZZy1UbP*u3hAjBjfYWh(p#uK@&I*OT$@bC++jr2qcW&BQ)5)cP8f-UQA;roHN`Jb zGm-BDb6+%OBV8TUaAVYfdZ3nIEb5ppMa|GA)N}S?VV(akh!i8^4yq$LH=A=>5^s_& zgUZjh#WYYBHS#(bh0`z+w_rUyg_SU5t2wsKP#tWInvotDh%+%%=YJs)^>_Ok zzJOZe8>j{zV+8taGv_@L8G%zDyJ0F8#jmgkK17W)_(QW~MNp@uJ!)?ZM_-=r%qF6S z=cCqsJGQ|eQ8QC^yP1KG7)yF2YA>usJ@7k>!zUPnQ6HJj+X%H+reH(dhgH#Uhk1Y0 zMt2J`h7y^CM==3w?=ezKd)qPVF@>pFd_*Uigj&;PUv>=g90PTzp>BzbJ@wf-@LHqp+>d< z^?QG#(4!T+|Y7K@Dg>X4Cn9NJKq*>CNEbN6ZK# zQMWT)3d2vBwQYbpEhA7PU4eR^>_w*7`5rYhS1}7d zKyA{e=+;{PM?^RHe`(%m(WnQcpq63;R>Zfl10F-&SLmdfp%~OAY>sNUvrYHHOr(ce zN1#s2SnI5l%)i!X1sU1{+p#bn#Ynt?Ivtr$nFmE+GU*hoiEh;WM^Fu)L%qOmpq3`| zD|3H+)PTBSX`G9F@w2a(|3o4&Uz;^-kGk}N?YPZ+H80?Hia2jffKEN_~9NXeE zEQQU_m_6i1EzJk0f$Tta^jB-Hv!+8;F^YV53K2bcAZqhWLw(M#MLqZ+mc(nQ8Oi>g z*~LY$4CxA}W0{KCaT;dDbPUFos3qKqy8i@fiGM_v((U|5q&FGK=lJ31!wskgQZASm zMRTO0GYmDd%@~h6Q7@9KR_CJWa3q!`zZTZU(O3l!pdS1WCSk-SeIH=`n-kF#jY1V{ zK#lw&mcW0oJVswOZ^TZhOaSwrW) zJrVVIIjV=>qDJ-zV=?!S<^feuOED0&=1VXUkE1&N6pLcqPi8MP!vxY}@D1FIy8k+Q zH}%iVe_k@eh-d~9Fei3Gs8c} z=DB9}L}6>WYs|lsSyYel?r2GHOQBP!C#% zn#nJ%f1~z5(HrLDx*=-GW}%*Qz-=>bV`Vb(-!uml87RRGl8t-8gM%*&*gPN$3 zc0*qriRExC#^4StiWgDG@C9ndf^VDC|G$$4#orE;!bijIe8T(<;-%We7u|DY|s2R(4pPA7Oi9|whKjz2N zs0w$n73O$g?1dWnKGfbgiCTges1D?RX!b}A97p<1)J)t*ZQ7te%o3DBd-CJKnwhB z_Cg%yCSCP!=0AZ*b2373vMpGIx?wZw-0w%dsQyCLFa3lv?1tJ@0Z&cCIZ*8sw(0Vy z`t@x7Xq!I=gUDa)CQ_ZqcC3gGur9_vGfOZGwF&2UeI%;`k+gi0(&3N)uW0k9oiuEJgYfs)znB%nKw8bC9lx%5Pw8j~a15 ztc(+|DegyYvVfOn$zm~%bRt&7F4$QIW+{OX8+f$O=Z*@ttsZhmY5fNVx~zy?$UXR#1o#R%jt zPrM^3Xl;m^+R>;1EVt>CsHy%PHR3Rr%X_?=qxRN7%dkc?gVFJE zd5>oZs-q=QGgjTE+gMXk?~O^QSNZ$a0~kj7JZdKHVL9~kbvf>WL@E){E4Krxfo`Zb z-89ts{s;@>_ZW^(Q6mV=+V4fp&<#w+5I>jOyO|pK znGtnFo!?=orI>)~`8%jhw-&V|J5a~&AnLtw6g5*PQT2a9b@VZ6Pvp*Qj7PQ805zcY znfZ;aV>ONpP0dtP&sU%t*l+VMpgQ&t^`IB1CCKS-W~vw}zZtf`URVz^P#tu#xV*1m ze^mR$P%~BAO(cLwYgCWAq1Jv1YL|Y9s(1*stIyc{YxoA~zfemSpVgGNL=C7X>i$%l zKM^(Zxu`v~61DX1T}0G@GpHM`pr-x-R=^jinJ5=vHcbmu{!G;FK8$+7+{GBo6zKB4 zs^d_{wmfP{>RG#@Ix-S@rStorh$_xQ&A?jJ3*;zjQwC>qd4KEWLmi_|coG+*I^H9@ z>G&X2M<-!JT#4E%cTjua32K1BK`!qbv>5v9{3j4mg=ExJw?ysQURVtmpw{p#s=-UB zwZCP3i5gLG4pXlP>Omz?d!{m~em&HyxeKcO`RM)kzk@_{!*S~+)Rf*sHIO-{-Njg% zbUdn~T~XidhN6z&Le$!SglaDXwL~XT?}I-v3kK#g_lKZcJ&PvN11sTNT!s3$EtT7B zs$^7$Qc(HbQEQrt8u=8|W_lO(%HDzM_{XSCdkEFxZ&4k-hI$|P1#|vYu}rX8%c`i| zTpxGiV0;gwLR{Xzc-W5zNr#4-dgoBb=^2*6JYi-A8lXnr0;6#pY5;3dGxG^*&wUfd z`PZB7Dj9V!Adi`0i z+IRv}FnhQ;)~!)9)&upza!(?nHC>1eaTTg(cTqj{k1(4i6!qdLh?>GA)Y8>OHPiwl zu@7qIW}tR?25RItQ1yRD?YU>jbNT;&6tw3X8&l8;^>Mldbu7O|y$9}~9{d1f(5H~8 z7mHe=#;6C5#2UB(wdOZbOX5VDO;-}t!FK5V{GUlgYq%4O;SZ?Y=~LL{{S}*l%I|~m zI0v=aKE+D-0JXbI7BMfV%GOcVU8v*tJL*2aqGkyyU^#vMw;}Qs&c=1vKFVyK7g&yT zyJ+*Ex!8jANz@1;ikYQqjGBP~sN2B!O4I7B))p`Px z(6_kDS%Jye9?#+D7+=EWw8XzqOI0t{d|_FHI{!ydZ@6n%2!l(SdP&%Y^kmfLzKWXB z2PHZGzC^;}Ob7C#!~a^Nj$@lr=G?D9ZOSL8%@h)EHe)#EAf0H_HBg(e4QdY!Ky9`; zwtPLRgL`fM-FUZ|A}7I2St4o^HAHo6j7?9lZbf}2Ttam)Uup9`=!#mZji}>x1$7*w z63vUPJL(lZ5VaIDP{(?gn}{BG0W}i8GG?=cVqwyya40rKP3a-@P9bW_AE1s^P?CA0 zhw%T?Tv+~=eoBO(OO(V_0YGhc^?$Snk+?e)aghqXCCk#HX^+V ztK(m&7g4$LF7J=k;W(J|2~@|Dlg*2*7HUA9P@f$Wkpa1#_lW2LyHUsMXVh^Cs$gy` zhDuk%Xl#qgI04JzZd{LdQENW;4Kwncs1aYrn)o}a1EnjP0k=S3eg2OjqJjyi4y?vj z_zh}iidHfWH$WY`LHGu)M0Mx_mdBTci*` zHo@YouUqGS6cJ73F06;QP*YsGmf6+)a0BU8sFBvHZN4vzMeX7rQExz>I_CHVqc&j- z>Opl-$8aI)bZo(8_^1x&U%PQmU9yOE}n)<>|eh6X2)vV4Sn_8w(x@64vne+kXN6b+qGS zNk1X*Hg^)RA3@hZ(yuPPzB`kDn&9RW)yYg_Ic>#Nwqh&NkBR?E;6>={Y&r4C zgss#WjpJ=TQSbF9f7Y=bc2lP{A&tD{)GI=mOIn`+D|~qWW~X9#TUmFHc&)MbNc)gJ z%niCW*)kvM_cmG1c)UY-Y4lK@Ve4kL+G@^S(t3A{M1Mkm!dJY1oVG;%;Ko8U`YwJ$ zh^OK~!gs{4P_FBHeBZ{Eo=KUm34}3(_O@)UGP&AQzTei#O<4irPs#rohv0R>1x-(3 zdt(DSu#L=%q+8k>$J;Wpz1LFGe9(D+E9AxhY`qbbR^t9nw%$PMh1>X2^t1Jpb%L_o zHtpSiIk_^3Mr@+@q@ypFiHn5B%BE8#8}=LS=tj>7;G6H+d5Ye&jcyTAK0+H|%}CP?nu^ z1Yt2DiF*9q#s4loeVt~c-pAgQzlB9~{!b7IA?Tx0{}pr}+)7$kYy6qYudX>n{vv&e z@RG9Qq`ML4W5oFuXA-&+3fsA%(x>Eit zdEE)q32jM-Qhs0Szk~`ukx|a}l&JSxiflufzAk^qO|Pzn0x-RmYkgkF|?0w2lwfoQeZ6pU3#@d^zQc3k{zSf9t=tO40*E-6VV<(*O8D#<3 z1IxTtu6vr3f0l5R(4BO3^j@fce{g;zGRI~%;sJhyaKaYK3ZkyuH2R2mHIsC*kgiF3 zDCxR5kNd0Jy8AJJ(1Ehw372f!ACcFP(1Y|QtVE>hn`$VTWx*=(#&`EMG^cU2fL0CiiGeQ^gN>ira1$oHdMS2SHgZL}z`k44c zg02|q==#=R&RQSf9 zYxOdd-`tiRr@=_-E+JixcsJ@@#>b@fvrE@)(hKko;WOezd>DTYA}ej9ZxcU7;cA~?AJT=(Y zrbPkj?6GMVg)fOOB5$K@r;c?Dwx&EQ<-=*G6@kmUah&f>!kLEE$!&`rxnT;S7dMTz z<>&A#%6H&Vd|~s6dVlJMP!iOq&?OH(IZqi+-bB6fuTDWKuRk-o>tB_5! zBYz7O_u2;)B3{&%1yJ_P=KqUO!~&L`-~W!o=J`b*Na@i#(SHwB-Nk)II7 zO}`Ozbtb=ny-Df!sN5c(+VbL*EwJ&ARDo+Tp_0w(Wbe(zeXVS~0_GndTLt&?ocLS8VzyE}K1*^}rILIUxP%I8X@fp8j|gH_2dV;kH| z{9WQ-5}FXAs2f4}ll=Xdje8~$UqSrU)quz_@?KqAh)+{Or=u1(T*J4?%tM39J44Ww zOxaBQnzD|>*HNzPgyDaGeo6W3*B}y?Udzzy<9pI$@eqDN_{u)Z89?L%GQK7>C!RrL zkBEP68x7;ZDdg*FLnz>l@%@qfkEpYXvU%jaNvK5pKH(uDim;vXPK03M!PGy6Eo{35 zHP#0t(g^z~ID)qb69~F~$6|yTCh7fippE}cehV7ZRh#$|6ZQUASh+|qB2={H<7hjQ z@&wY`iF<5a?_7tF_>9WQ6r|unT!FgY!HT4HZ6yQ|Y7o95Z;{ft-qzh?>&++s)zy%) z%_OqmWI|5jxe24FdtQ}73GWkj+MAU(z)2t6Fx+#fVYq+h;!TDO?p-3iY0HY9rY$@B zc)o3&?C&Yr`HFA)y^phaDt9j&=ovGxh@WTEuqXcEEz`QEjTqjfcUtG-{nFBgR!m43 z?#+oG+&j&)cTB3wQ)OJ!ES}X<5Bhn=zrD@nDLZS8%ky&fWFODGdHMW3#}}>k$!nX4 z96qE^+Nkbt_KqCbzi02k!+WRqSelxCap^wK@?~3G>4V4S@{C=P=$pQOO^fuBYkGS2 zuX*2?gEh`}X1?h|W$(&wBi;OTWLJ&UK%xq^P_^DkxdOuF<;e7?&w_QkS*j1vB?xBPu-^-gboI5^`@kgJ_fM$25TD4&dN!LAhF48J_C zDOneHj&y}*9E)_#^o?kwG4|{o*=t1Pz#)D6_w3($VC4U1b8*8c*Sy8QM7bVj{21*z z?aKH*#`UZ3;tO%EE{ki%xdvqr%jC28QM{{p#()IZj7%AM%DN_J%Gg`M^)z$FgKDmD e-^FpYT(vUh)pF&`l<`%H>vLDe;rgy8{{IJ1P*aTn delta 20609 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 AuK)l5 diff --git a/locale/fr_FR/LC_MESSAGES/statusnet.po b/locale/fr_FR/LC_MESSAGES/statusnet.po index 58fd29067e..1a44261807 100644 --- a/locale/fr_FR/LC_MESSAGES/statusnet.po +++ b/locale/fr_FR/LC_MESSAGES/statusnet.po @@ -1,8 +1,8 @@ # #-#-#-#-# laconica-no-duplicates.po (0.43) #-#-#-#-# -# French translations for Laconica package -# Traductions françaises du paquet Laconica. +# 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 # @@ -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 " @@ -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/statusnet.mo b/locale/he_IL/LC_MESSAGES/statusnet.mo index 797c883056c175ea89aefd86d5d5ad89a0b5e36e..fce14f20a53184f4762d5ad64dee3809c4a1b845 100644 GIT binary patch delta 4314 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 sd|27C>UC>ZS1((Xv1, 2008. # @@ -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/statusnet.mo b/locale/it_IT/LC_MESSAGES/statusnet.mo index 3b17f71d05b2607da6d39593a675463efead2b6a..87c242f035b5a4ea78b112776e43b590baea3c7c 100644 GIT binary patch delta 19186 zcmaLfb$r!jiSY3B3`N zP?Qo81cML>2@xa(;rn`@>*Dv|uixkKxO`syx$<-7ec#{jz8QhL?gn_y94B4%nmSI5<9M7gMCy>S5-Z|m%!h?|TQHWjreGxLG|YwVu{id@aGZe}=wi%+ z+fWnw8nfXgRJ)s45dXsn-tXjZ?l{@WD22JPg0()XK}VbJi>fyk!*L4gg$q#iHlaG+ zi&~kp=*G)7KZt2-Vs2D1uQHvJHjNcU>tIGLD*!!TP*$Ekti zuo~{h`uGU*Vy#w=lYnhdTjRlKT#kM53-qXi_|}dy3tz+Pcn@b{xi)5r_h4z#7txL3 zZOu%Qu?XpU7>K=4E7TV?flSmEjz*4`GZ8~@3TlhqYs>oQBeI4JE#YqDJUK^E4I|q* zP8lqMdO=fbD^y1vP#tF=XV!V$=J!V}@o>zE6EOm_uq1wjIy>LBWBqdzxkU!2kyB-i z#blCAQRQP$OZqNqNmrv*U-Px>M6srH?sFf>^nwX~s zk%B~8U?J>_1#mJ}!w*o`=w~d94^c19^Qu{iLa4)44>j}NsPbv3t(}8<@fy^M?Le*M zB~$Kk9ubKmBfN`wK_cobG{A7|fGU3-)zKu>4CbNE$a0&%7W0$diQ4PqsCE~TbL%`q zeTZ6jHSN}P*F@R>O++-aZ%`dxLO0$(tw?AO({UUsT?>n0CoGR+FcvqXR`N9JaQ%&1 z$vizxf2C1pq?vUH7UTWSLL%z;Gt^T4h#L7l)KW!cnEY5QM!G&KzYl80V^IT`j}>q? z>X818<*;xsvo*~yn)G1Qgx^JvGCn3!9KS`q;3n!`hxaxO%Am@dpicWh)cu`|I;4wG z1O5uN=jTvo;2!FbJ;4|Zf6Z)7MO1$M*I0jDhmK?f;CrYJ7otx2UUcIP)WAYtH>W)b zHNX_qi`!!mW?~qQM!jGf#^X}dN*qLe7apQkz`qacuRSZ;$BaA`vyo0m9ik4XrS6Mb z0S`9Dm8cipLhbPr48*)|nEXPh!yAuU;VP&tZj0KQL8!yL#6v_Ke{2hmq4xAKx-p`! zS@QDMMyQc@N3FmZ)C88G`q^&F&)EEXs4WZcXWGS}22>lhg`RFiRAHzsm~LH%T7j=I z2cAKH`~$TW*H8lu>2Fr9IBEq_Q0;1Bc5H#!uoG%UGEnV?AS>r_rW4TsR#`tsEzJqk z3@@Sv;0!PgLs3g!(pm!(Nw>r9I03aHmr!TwKh!|{2AW$EilL+{pr7u48WD}WE{0(v z48is`-4oSd5bBVPMGat*bs1^`J5U2ZihA*HsG0wc>hFfle_->UV3h8Ez?Q(#bQ#Y{gjAQqM=-`^~78If!b14s+vuYqp`LeqnTzUuh`o zA4jAe8JhVxjKG?%xR_yx{G)oV4(OrRr9 zAUz4SMZs^e{@SC^x6HRWA8N^}qLw-hRo)aEU|WpAWvDZ;A2smrQSHv52JnZ?_Zw~| zl*?KibxkW`GPd^+(F#n##kd(Yvc@A!$LXjUbiusX3*&Jl>N~I!^WYxT7XE;x@FLd0 z93#!oZX@)q3~J!>Fc>{6Y-BwaBx5V)$HSP4mrw(Y9%W8QDPQ_&y zi?O54_o5k=Al(vm4Tqt=A0A|dJO)Bw(*mi(SI zj7Hj`Sk%mGq6YQ`Y6VB5R_Gnni{8a(TxtChHSlxjQNzE8=oCBS&7Ov%1{95|n1qp7 z6SYEZQ8Vdl9gb>02}|R9sCIi%hxs__JwKw_UqSWvWIXF1MI`szW~Rxg(_9a=0v%CH zI@FfWw&~SahWx##6}W|Zae)bDru9$*$UyZ!6m|IKpjK!xYQP^&VCFi-UNSV}eW($i zMD6JrTk$+=0!zNOC5(Xn1YqDD+cQR z&nHrjj3pS4M{zYiz+mN1H3L|M+IugS$0Mj2K1VHSj%mgs7(}`ps(lJ-plLSU0X32C zSd#ZU!)?J*REMikw_pouu zYtW->wvC8JdIa^tA5o|HGG@cT8Rj~Mqh=D18b})Ezy_!nwMMlcjVhms+L|n^i7Rk0 zUO>IC)lAl36*|o{OVS4eNqbPIda_L~Mjgfv(H}RXUgX74JYdr&P)qwe>MT9R04zMq z49JaIxj1Z!RcEpO{9rj#$Y_jyvmJ*?JIzolbH;iX^}^71O^4B_Pik>2j%la?XJ9yv zz%ZPG>SsPC<7QMp=TYtc_7Kr2&ohUEg2|}U*#|4&a@46ki5>B=O}CzF{va8Nn(0@l zCB1~&vKyEa?_p^Sc+U)^9OfY11hq1r_C)l8S8as}s1BE6Jnq3{yo!mKKg%p-T~x=7 zu`CY95L}1)WP4G!%cJwYS^5grZWuxK4Aj;v!z4UveTte;;v)XU#`;(Q$Dr!Z$1->jJv)f}LqvPK zVKHAjJdNdW2np@+YE*+0SPP${_Po|o;~-T171onBKX93rm;;SkiAh))*P#Y{ei`fE zpGf!zYy*zQ-S`XYMei@?YT+5wiWL0N>~$JyNxPs{ZaiwH%dsJzLhX5x73Q$Tp&#j* zsDanUUvbC^k7<~`k}E;RWYnIYKwYQbP}k_P^*-wG1+FqiqLwxe3uBtie-*U_18jOK z<|n-fwRKxjE3n@~#GlAr%!3b5OBup1kd~@CY9)rE&Vm4%3#-JKb#ZX*@>UaxkCI?YV{~PLhK1Hoe z$XfHF!dQ%S0>)xfRDVM;2xsFJ-tWw}1!LBk4i=(jybep^HFRUxdb77lSdH{>3_vex zfV(gT52Cj42I@LKL=8A>gPA}KYQR-7r|y44BI=+6Mq_V`$BEb-Kfw|h_OUs1QSP&PZ&cdhYk4I7coj~pNZES}{J~1mY3=8poXDN{c+=<%z-%&5jyU|>~6pSO? z8+FQOp*LX6vBE1#IW58x}?zC_ObC2DqLstcLM%rO+T!31U^*9zUU<7vEZXATFHv#kFe9VIzwzK|v z!5&-T7^>k#%!U8hbifXCY9moIipCsRAH%T~X2TvBh6zYVKV-QsaWPS{!H`ZKNZI$($)EFHphNg7C*;^cmvb0 z;umHh!!Vfi467%Lh?Zmt7Qii75x>O{e1@7q_C2P&DC(@FU?{$dYX1fn#c`HLD&dk5a`#etMUNhrl45OeLY9NhJThSAvFcY;^b5Zwv1xDjHsQQ;t?Vn+G z4E@slMHPtyNvEUo_u%Vz2+QjJm;H*b5*a;k2%bV+lZN}upI8g95$SWNLlnQ?Y)LiL zj52I`0?sA90oA_x0rMY1O~(eL8y@7di*rzCsKwXx!~30)M3k`tHKXs)jn`01oc$Yf z7$Y&5beuIAb*QSKRwfOLVGAsXLr_~c6FcBa)CxSo3K)2Z_17M!5|OW9IHsdcaaRn& zUN*mWAwM?Om)K)((_PTcJy1;UoX5uMjYNpo$~1K zOvlZz1nCUaQcuAexCT}44{V8f5A$!t_!??JpI|oJXVZsKhx8(r!Uwnp-A7pe1w_6% zVy;`)qh=-MU>NyJFgvbCT}Ll!sV}2e=02+9rx=D2$IR9hMNKFTOJg6@3eCs5xEr-n zj_0`fQHjN1(v7eTw#0Z_o`CB}YepxrDE^AN9Zyl8-0<)1twHU5PgMIc){jtIb_{(h zfo{^C2Sn6S{u5@VrBE-bfND@3^{Gs^=?v5W-omE106+2LUp!Fl=KN^3Y7x3g??UCD zMXkv1sIw7r%BRPPC!#&BkIC2wbaL~Pf+dS ze=@%*ov=9RIjCFW#U$PTQ$*Zk1e`J7>=;yq>R1W8Vr`sf)2Fc+>Cm(0XS)+>K$B53 z+<=MrgY_9|3ln}eThbO)Zyc84{mvR9n&FSA7vDqO&&XfQS!j%I(jzbc7hzuf0QDj- z=EU=u4{u{C2L5W6z7{5tZitm}IBEc!(4)v{BHHU`sF6neW;(8p!KC|O1P;OiI03b^ zOHeCx6my{eIa8h!bzS3818RV}9bHiU^h2%K*mJDEuEk0+((qeUgOKy4f*bWAs)w3k z6VyOEV^JK48qjPkk84r&en#D*>!=wQxL{T=9W~)WSQOvC;4zV1WavJgK@I2`szS^~ zvvl=PBhJJkxCo*-A>vQuC#;IUU~!DR zWI9SkeSkWm@-uAu9n_M~L9NJAjKPcGn2WThH4)9I7pjAa zHoXFMXuiY=cpKI6kjv&@rDk9N>Dj22%R=q#XXuZIQD4a8HvcqgYp$UN{0PH&zmwyN zsaOa#(qb5i)vyq@LUlX<1JQ%}piD-s%xu&^-p3GJhB3Gfd4Y2b_2S>K1l~eFjJT?L z9`?f*Vfk?Y1>I4H=NR_Gr&tX8T;p?!(@`%D{?n{j1ePM5jP;dfqgJvH zsvi%k{bJP0e1RT~>{#x$ zDX)fQNY}CHK^RJUIELV)+pK>Ik$1@`jfYSpyN@|B;BV7WUeo{zqspsV8==ld2hco_9gDg>X{c-75w$Y&JVbI4*@t@ZNz{PupiXPhJ#*+1PZ1B>ZPUF_E0>Ad@`+dzJ?n|+#n(_X2zp>%6oEBJ*TB{| z8g+<{V;o+`+?e~JxlS>t8OLK@ERQSqN;@P22vEjWhxDY%U4;6K!W zaz8R1MPp&ob&!TmSJasqgc`^)o4*BhR`#J@bP-kWDQf1W9-DsBeX{@kY{nFHQ(+ZW zzyqib9-)>p&%fq2l*D|bQ&88bxplBDpNE?1I@G}Sq9*i%&A)1WhQ9y)Ki?BG^YYfl zsD?c;4-P}kU>d5U9T<#qOquvXQ5`c47D{|F%5q~ ztx!~e%lEfo943(Nf>}5f_1h5@=4CzCA?Ea5riI2T|>g zqXvE*b%ySu4spI9liw6Ikv6Ea*2_8;^XT_~0TFe)!4`N?AEG0uE%^g=79L_H%ol8y zvI%OSqfkpZ*}4$jq}QYR{m$l}M6JYSo1ZHi{qlaNAQ7F)DyW$>N6oMu>YLvkHISLM zd^zecuEjdI1IOTF)C=FrZqASgHRD;R{57bvv>Da^Vf3iuQ$+MP+cngZ-b5{VaEQxy zp9`Qmia~wTYoZQq25P`>pgJCmuiz}4ia%go?3}~p%)#ZTdSye+3N;ON@t^;YF@Owp zILQ`FM=jOIr~#cu4fKvRAk5|H3zi>iVk)Zr2-I~PXUjjr2Bg11)yo;~^8M^K#~9LM z!aXkE|DtK7%?Qou^8HV!%cJh=NYv78M19$Ipl-o_TYeUckPgdb23Q(3kXopfs)t3f zFZw=km_m9Z#^V(a5nZ305#~jy==+litCK$n^@-hxI)tC0I{XPWu!pFXaB`b1Dvrvp zhWd`YV$-cqhq^Or0z*;#dZrQ4(#}WCWF5xgH`d#z!;(LbS%G4x)1HJnBWbAeme>Y6 zVwwEJuE8)WjxZRosY)y8qXRlqVx^elxQMSdDZ?)F*Sk^#JNH z{(~A=cmcB|4Nx!Wjk>N2@euAu4RB^b7rz&r9c+Sq3%PuMOYXo*y8kzb=-L!3Y-aYF zbrxzypQ1YY8TI0TD3|X)dZ~drE7MUw)4Nauxr^hlWVFlafva#21{QHSZSeqh!a_y4 z|9ZhNBHE)RsHNS7%0G|wG0<&pNmJCJ*@4=Uedxk-s1>__&oHW(nQ7tTF8vSco!7Ad z?nQks&Y(WY7m9QLb%_2ZL*IH=3G*e)hiXt7b=vEp%6p^E%1G2-Lhqv+H=^%%9kl|N zQ6IGYCC#ZXj2d7C)JnaH`f{!>>2dk~o$V$Wwa6$RWA6PB)JWH$uFEFWH9LU1hF4H4 z6%cD~PaGQA;`<)nE-q;1SgIJcnv< z2a_>4-gHz2wIW?H2*=`moP-+4s8Xi=Dr`l12kOjZPcVnoQ-w%685yXh@uE7qg}SHr zP#yUt+L@wnrl@~GX^$HCXw()gL~Ye3)Q{9YRJ{|(eRuBTV2my8`^0;k_lf9U?nj-4 z8>qivo}wE|l`*HkF=|gUQD3qVsJ)(pJ#Zgti%KS$6{(N9~P(7HTPLmUH?3E1dpViS!lJ1ft5D2{b|t zpfBosvKV#SzExU>3N4NjGa&3}%nU!juA zc?UC4OMe~fVR&V;HEmF5s}K7A_dlbE=vzGx8{lWCC3aPDIcZoB$6_bc7M(#I%0DqD zKDFu46jNRlRbJLw*XFmgzK&`)B8B^}Yc`dP3OEOK=nmM5KVUY}m#jBYhwnb>(1oX( z`U&VFt*4faq!F*L1H-w_`PxZ zlBctv=O*d@a5v!(;#DYXV_&w(wpG2Sl)e1CYRf()zZvl;+PrEi@P0DulQ?Nxe1(H; zg9z+HdKccnbNCDOyAe`seX)%EON4krK7yWjUJ^xoHgyM)?tq_??n($Cl%f1DKi~YB zDH)TfpzEW%t4F`p-3k2(qp_YW!Y%T95H^wjE$LM_oOFV%zX9ivr)Psz zaUJ}F{Qfxq5IKd{sMwA0iAs6iA)cKVZKdoOp)~O`sE^cXTu-?^)q1v&E=PGzLPhd_ zA?SIZd_8AL|7znO5r0VdlHgfOrXP*;d`S4fR#I9|P10+r7)ZP^@t=LUd@G1&5lWDL zM7f?2gYTcY>2m?GZ>iH8^+ml;d;~7B_0QPz=S-wPpV&VMB`N%bbR->2#=hiDz;<{Y z^=r8ukE5Q#cJL2~yNPG|a@iIu-zH}>eZGeS@k`XRgm9kkkMHR~!7N))kxul((gb&s z=O%;_CR0bx>xA6I`;hl8jwbX}K50E2N$bf^dNH0N-PGp2LAnn89erw>9~CPLQ`<`(Kp@`;>=jQ>mb5KJni$?WKCpD7!-b zaPp53^rKXR@}9QMKa|b3af*DuuGL5vq0WbtttaS-@Q|_3#GT4i_=Wg3+t5X&5yZbB z7Jcgs5&j`QU7sO%AOKqxBR+@ArRkY7ztWI7L>ORL~q<G}3$jxBqY{1JqqAW5; zp=~G1isC!ApFOtTV(PT;#eL_WeI@Zdp*#iYG%87GM0`9AtKz?e{DeOUHwjhAe{MVL zM%`%g!cb3HgL4!glmFtWMIqC&zrZ+s|GN+=L&jHjlqC5t5}1YUQ0WVl_a-m# zr8@V>FF-mE{(%45vME@EJU8JE@tSrJ8;Pg9)aMw=o893bX;j!vVHEKuw(@o23FN(a z7TS2n7a6#Px^LS0%6=tlZo@pDo#X`bny+awo7|(e#!=E~wwK0s7@a7qO?)Q#{}CQi zzY`%Rp&@0($eT}G&qmU_@D_OuZTmp-&ihLFQx~K4MQ=>xbqYcWMTsB8p)`s_J#P`e zLi{!29q8zL(kY}@5T=nANV++0!wTe$!}FT7599>O=aOaxOl%C<=*y1jBpn5O4x-^g7{;~XP};(GqXrzYwgv^J%@9r>$B zr`UR)<+j5D6xJp5vjrn<{&Xx(UJJ^W5)YtpPV7tGa^f`!U)j1ueUI1nv58bi8&|yTHMSZCZ%c$<1td?g-JD<_$HcHnndoe;{44pH$v!eN4*P=n(l?Iw&TU4}Nf zsHvxLPhEXkoOAlY~+7T zx)|yiNW35MdV~(7^((cP_#o7iNPIByRrm^h{6JnoTjt42W?P$38-1J(_44(^M2npI=~y<>AIgcu}gYjR&YkN_ju3Q*}WtCPs^4yWmqBa z_+do?qFQJ6$Q(AbdGE|F@qIEg2USf@9_q_U8rVBCYuCsNSp^0b&N@1(owvqlcer=V zv=08>|7KPS@HU&xT0{`m2n0Pl<~WnEdnZQYu+ zVOzBK%C`6Xv&Jq6^={hH&E-wnH9k1&pS_+OF)z*i_b<2jd)FWM+&`<|p(yXBL+|=| zyB&@T^zQ$@t-m+r$00%9i$9kQ^~POY5R#R4w}`j;-Qt1&{|S$H_qxa-q^h3)gW^6re!<2oIcm0dkt3sX~E=NDE^bw%v# Wo9deHzq51=*Eg=6xoWw#1^pkC#AP4= delta 20737 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 Sd<&K~^xX0kB*%G<2K*Q5ySg&~ diff --git a/locale/it_IT/LC_MESSAGES/statusnet.po b/locale/it_IT/LC_MESSAGES/statusnet.po index 13a629b693..f67f870a5f 100644 --- a/locale/it_IT/LC_MESSAGES/statusnet.po +++ b/locale/it_IT/LC_MESSAGES/statusnet.po @@ -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,7 +4582,7 @@ msgid "Secondary site navigation" msgstr "Esplorazione secondaria del sito" #: lib/action.php:602 lib/action.php:623 -msgid "Laconica software license" +msgid "StatusNet software license" msgstr "Licenza del software laconica" #: lib/action.php:630 diff --git a/locale/ja_JP/LC_MESSAGES/statusnet.mo b/locale/ja_JP/LC_MESSAGES/statusnet.mo index d2f6ae8f523870352c768c2af09a211ed31c7642..86efaaf5d38c49330a55d4822357596c2608a574 100644 GIT binary patch delta 9542 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 diff --git a/locale/ja_JP/LC_MESSAGES/statusnet.po b/locale/ja_JP/LC_MESSAGES/statusnet.po index e260e585e7..37fde0ecbe 100644 --- a/locale/ja_JP/LC_MESSAGES/statusnet.po +++ b/locale/ja_JP/LC_MESSAGES/statusnet.po @@ -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/statusnet.mo b/locale/ko_KR/LC_MESSAGES/statusnet.mo index 7d50135abf2c8fd0c231ce9631f3f8041a7b0b43..e7fb77d614ca1af241de423185d8531bbbaf6813 100644 GIT binary patch delta 14758 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 delta 14747 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 diff --git a/locale/ko_KR/LC_MESSAGES/statusnet.po b/locale/ko_KR/LC_MESSAGES/statusnet.po index 6dcb6f5c57..df9981992e 100644 --- a/locale/ko_KR/LC_MESSAGES/statusnet.po +++ b/locale/ko_KR/LC_MESSAGES/statusnet.po @@ -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 버전을 사용합니다. Laconica는 " "[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/statusnet.mo b/locale/mk_MK/LC_MESSAGES/statusnet.mo index 7820a3f7c203a645b40c6e8eda00ac273a2f1eb7..c916d0292eff2933e9669a3aabb282dc9c43c0b1 100644 GIT binary patch delta 4210 zcmaLad2p508OQM_pe!-_E;lA5m>5GKfdsR#Bp?YSVFxi<1OkLY2^7L51Qf5ruoTo1 z14ETTZ~$%T5=s~-YUn76rH$I66w8p(R+cG5l7Ui?v9{kI=l#1gj-T_K_kGXuoaKi0 zx4QlPt!@VocMr6hS;r%0nRp<>Y%QL_URd?0SsGU3{kRdc@nw7+Td@aL@v#qQVF*5p z;kXIY@h4vWZ!ws-&5O@wTEOzDxJZRMOzdw)o0f*7aU#azHe`%;03-1!|8;Baf5DdW?n2HNMU&;!&nKx6RhR>l!*nt|*ZPZL`fO{T+ic>KT2V)GD zV<^rK?1S%m^?wdf;6Ll&eB3^b!pE5(Pf4%OgROvF7HhOHQZ zZ5V~^sE)d@C-%s8GY&&#!iO4YD(d}w?|Gntf@b_A_Qg4#>rgN5!*D$6`LX9&REDmg zmZl3+Fd@h7g(3_mo{q}YdZb;yuohR-zXd34#=EE&*XOxow;7eHgQyuE z^XgBbc6}$R!QMmM5=LMGu@8G=9%@1(Fdi!~7U!TQ(trVNstpwM;$G~B&6t6oV>*6| zvDoi1m%2jKd4CGENmn5I&YF-{?E}<6?%)xO(WOg3kN4@vPP_tq@gBnomFn7ELVPE2LsCE`(BA!D{^foFZ-G`I^ zBnrOaE|o=inRq19re%z9OEC{)h&Q8Bw;Q#_zeEk>J=BuiM9n;uQ7JR&sPjG=HGx^E z_qXE|Yzt6$fkJYL*?8Q8T7v7S528l8nT$on3sHMvH}a`9;~MP5NL)P189;5aM%2Lf zVKg2?egBE~JkU--A9kU3d$-439F3Y`8s6L07)M-$dxOj-qh@kzG=s*hQnRu62`<67 zGPfk_F@^X|)DoP)9r!oo(||RMF{`Jd)iaM)`V#*fY0KL1U5qMsr{h!9z&=M^T>n5# z;A;%Q|DyInNQGO144gq+h8oCT)baiZvvmHyrtlIKeJWi8Z(|zqVT@s>=dcHH=QwUN z{5Mi%<5@43+g?L;{3ZSXFQJxZ(gZiqt(Z={+lx=)!^CG)Pycq80vp;=Cc2r-K&5sG zhT(oB+jbbqn%%*vSUkzitO-{WcOgl%MU!27EvNxrM^@Jcu;VnarO4G`2Qi?IFHulO zeQ8xMW}`+}hqG~qSAPe!nTAet1Du4_#2Yab|A|WNZOp>tC)_z7hb6>okTKeE)Y67e zC;uAZ6XaDR--h&I=aE5M&XfENfNN35@ib}%VO4yC6Hwpn!xHT9>IXc zASSRLS8)t-yln6sZcAK=5m-3aT|5;SO&r)o;c*JT#`Aa!Bk}Y+vtf74D5qn4-{)!`S|Gl)OIkUs3nGB@z)b?)B{ zi&2@}g=6qg9r+KTaF+_rtmkr<`V>@($D$gZkFmH6wU!$(0{3DD9>%fQ?mbWUyYEJ! zz8jBIa4tTAM^NAY)ldGl`8uh%f{`oSgKw}uad5rcl#gK+aXAjcdep#v>e+%y?Qzs8 zYRBvN&PtcjpEbA}?>DH9zr#l{Jg~~`+CtQ(TZJ0&9*n^wsHOM=>Uecu?JgQ0W)kP2 zGB69Ha1&0)ou~=iz#L3^*6oFfsQYF;>UrQe1vPXPHGo(SX*Lc+HB^h^@C0ha5o=f~ z*0>0}h^Ia8uHsTMd9P!vp#BC{;_w&vix+={H?b4T`2MRG&Dd4}%Unl+iq|DC1g|Fx zxEf3FU!FrYxVRoqQGXP*Brk6Cu2{?^K8u6#flcnd7=c%4zY^7c?q>HRw-@{C{9mS^ znMZALH(w!^5m%zt`c)i?AEGj#KNfU+GLe026Oa>V?;}lF_RIW`;XAk!C%)n`cnud2 z7yQ^Q!JD{<{_PxvL@e9NErxUPKX?N*u&ze8=JBt(J&}V6)R%hB^jwMBgj-SVHG6TJ z_xu|AsK2kt`?<&aHN)(d*P<^31$8v7iuDCq)ArcUg8VHtaZ`hWF0>qrFNsK;>aX^% mSU#b~|4haLzkg{_cJ}gnH3OH__*_p delta 4206 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 literal 19769 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 diff --git a/locale/nb_NO/LC_MESSAGES/statusnet.po b/locale/nb_NO/LC_MESSAGES/statusnet.po index 424cf4da3b..3c93acd232 100644 --- a/locale/nb_NO/LC_MESSAGES/statusnet.po +++ b/locale/nb_NO/LC_MESSAGES/statusnet.po @@ -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/statusnet.mo b/locale/nl_NL/LC_MESSAGES/statusnet.mo index 270e81b7c52cd7bbf936b0c182bcf9ea6d1ea0d1..16ce96d0dd670e55a8feeffdfe12dddc30a36d3d 100644 GIT binary patch delta 13619 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 If4-geKb8|DO#lD@ delta 17973 zcma*u2Y6J)-pBE?DRdG-udWQNwYTB|6T6R;qQJ`?@(!E!>W&xF6H;D2~MQSOy1P>^Kc^1h&Ki z?1*b{9DN_cI+Ppqbes(AilZGT>g147hr6&7orf-d&J-8cxp$LieQ>E73I6z$R25U;`pcstI*J*bYF z^mCjQ=tF|!e1preO@GH}jC-*SoFS>crtpz%TO22 zv<>EATgnSj9XyO`_n37bDnf@)YvV0c$j_ic{xfQ7D-JZ}Osr0M0BWF<2NM69WR_6T z6z{+$cmVZ;XK*MsAzr$0HtGqkL*4L3>w0WXc{{GgqgaSJgB_Ym82zJGP#V1j}!Aug|iwpke#RwkE2%cdDL2|ImYb!w%D9cwBD@>ZaThA0CvE-L*iHN2GuCv}9kp0yq8C?UdE9{-z+TjiPGDvH5nEv5 zIP(B)Fq85S)ULP+%i$8#1Ko_wnzIv=@ei!b{hh?|=FOId+V@^m$a|v}*~&qdH_FaQ7=aIvk9YWu-~3|AJxHmRDH@s6Y5r|`rfDk zPPB$Gjq)ngcDfripnI_f?n6E4aa6naFa^(|+WkJ!?*HnSnj5r6J!wDGh{vHC&cXQh zLru{ZoPn=l61Ka{OjRe;V(yKaB0pBZuq|JMl_)Pqt&#PY5r5rqGZpIS5!9SLZp+Wu z@^h%Ue-+j7=jg@rn1Hn>nH$wZ&3!Y>!VZ{$YmomqFYsdlUNqSZWJ8opO)Bm~J=s1~ zh`vN^t6%N;x>HO!69d$b#aj3z*1=;~1J7b@Oq^=^t&deHceD;dwV#Y$jE2c*8?8n? z*;A;wI)s|*lc)}UMGdg>G!wduu?po&Q0>OzlNhq+TVHM#ZwJ&3FURY!1QqFDkw{0K zzsTrCQ|=10SlXhdpd${(o~Zr17&XBAQHyGiEkA=A@T;g*eG1#5XS#W?OuU`)WYmp+ zK=tzrmeKw%JHzbb6s*UIuBa&(kG*gvw!zKV01u-U(U+)K?$1`oXVy|V)D+alrI?9Y zluw{`$!TnYpI~|J@06cu-gMPai>EW{27OVhca$wp#;%leP!ZaME%9E|d*Ub#z~518 zp)V^?Q+pXILQzb>Rj3HA#;8JZI~mQP^-Kr>Io-c{7F!eS%r$k zM%2`7wLXU$*lASz?@$k#m}90k4Rzj|L;SV<+Ebw?AB-C5G;08L;aqHki%}Ooib=R1 zb%PgC*PlT3cNXhoQm%<$BdkWbE9wD&2*sQ&1hw zMm_me)|;>s<=atDdc=APHITEY_P<~`ET3<7Lse9LcWk8l4bL|(I=wDn)0Zjex5LR}GCP_B<%a3Ch*0=x&WLq)RrYzD&popxjt`aakJCt*cg zhKj&i>;0$!J&o$%dDK8(#isa?tuGfe*H=L;y85U!&>r>VeNp|4#i(vD$u`Kh4HlpV zv>Y>VD>lbBu{{2c8eo}_8Aw&s4eFxSN^4X^hND*d1XKirs2eXqUB4nk{MGS#D%8P# z+u#kXO!*zuHu)6iU_zm}VFY!40V)DFp+bC@^39V7Ci@X5W3`B>pN)elyQsN;4;A8%FcrVTHuyU#LDa?} zsP;bGg{yFb>gN+R{1{te(*wKEyj-jCYn3$YfiKt1SIR6oz7cEPd5gg~MBkqTW{ z|9Z0vy5bqiy;1e)OUx5rf=wxpMMY>XHp6|`1J9st-1r8w?b@Lh=|rrK`KaBo5VdVr zM#<=cP1pn(P$pox}VbtPVfr+>c8{qwTDIP=(u;Gp7K?Y$f z%0A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 delta 14784 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 diff --git a/locale/nn_NO/LC_MESSAGES/statusnet.po b/locale/nn_NO/LC_MESSAGES/statusnet.po index ff815409f1..d0dd923664 100644 --- a/locale/nn_NO/LC_MESSAGES/statusnet.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" @@ -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/statusnet.mo b/locale/pl_PL/LC_MESSAGES/statusnet.mo index 89cc4d34946672d881c1cc51e3a58e63c8708873..48e5fae7d3f14e61058ce2dc6627cbd697105b8f 100644 GIT binary patch delta 9811 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 Zvfg{;=wKf+=XeM2spCz3OskXe{{?qS*cJc) delta 16676 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 diff --git a/locale/pl_PL/LC_MESSAGES/statusnet.po b/locale/pl_PL/LC_MESSAGES/statusnet.po index cf06ef9580..321e495736 100644 --- a/locale/pl_PL/LC_MESSAGES/statusnet.po +++ b/locale/pl_PL/LC_MESSAGES/statusnet.po @@ -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/statusnet.mo b/locale/pt/LC_MESSAGES/statusnet.mo index e6168a340f270aebd89f73d0e1aaefc3904df0fa..35d7053bea685770dfeed6cc32aca78a63955481 100644 GIT binary patch delta 4945 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�+LgL~40obEJ8gULFUoxl;s~UzsvUcc_Lql#{nBxP zGN1mhD8JKRjre11qfU+~_ME!7!(%UGy7-#ePQ_nS8WK;V9HZ1CZiy4|KF&cMS*U-G zN4S=kx(@wTtmA~eer79w2XWR@UbV4jCBa+*{f?)j0P#plXUfatI`wJx1hw6<9h0o> z=-2Oz@7XcCi2D+MVf#gK`u_OOHT3IuWB>pDib@tr0!2q_1`Yeq&A+rKy@l`7--o`> zs28QK?6tT3KU(k6pF(}Sy+#>Kq>Qxvy2noH)hToM`^WztZ!_o|Q6weV4*r$;Ta+PD$6CH|iAvnZE|-;tD|l=GBOijEeH`;wx+Xy|x@_QTkSwomOC&lD=PX?S^j zKwOOAl5IGM(af}iJ)tCH|D@gzzp&?Rv3-9rwwG;7vd*NhIQ4Jrn9rzBV4O=_MZf=r z5Jb@!Xio^jR6BSkeZ#0PqU~Gihp5l7eeV)arv8PE#}L0fS~0#bK@0l6q5eH3nEF?= z{b2{~_n&9iKZF7O>F7r}=#FMcs{)9SC;4WyJ~hGvyNXd-QFk{@_r|>Z%%n&V~shgKR7DUK8f}Tw(o-VB7JwLucD+e>{;&Ix>;y_$LX+quq z^S=uNA}Mufh^B;5Hq-Y5MMr<)a+Gb9R+Np5U1PeObmG~RO0>oCw11$EkF2V1w)Oe= z@IUPt81Lz+MlPV^ioySv&KI^WnowdH6Gdsv_-0s#wu+R5|6Fh{?bj$vDWA}nkrF|@ z6k|fE_qJm{r%gwY)_)m|ku-!;)>78fF^INb@CV`*)JIeAMA7jZa^7O<<55RtNhx8+2K!s}ui&hIG>!Ra$iskv_JsA;qj-zH)s!Rl&=Oy=)5OgzW^|8CRd8 zV>zD3d5nF6A7OXeMpFNs`geGQqGKNIT`9w9FG-n7Jrky)XDol@CD8FYKE;dJz_y(w z&QBT5I32eQj?ea&!o0RGh>4!2zY}fYw53yiq8>o$L5ZVpHzwjD$}X+{O)5H8GuWm4 z!T=p>DbtDnC9ZATPSUoKdPUlYP;OJ_p3a-peK-IkDF0C2rmqL;(EoFbe~8~8u4mgS z65j|YYXpMgy&DfYzbuJ>X6X1;z68U}k$Hp%4;Y?|L&zUh136HNK%C&78;9J$cR)FtG$0M%q ze5V|)FQxOd0Pm~a61?NO4e@5{Ue&v>d#KmbeXX~Dk1$`$9_s^qaXt5O+g`hUXL@%D z^fl`r8{nHhFfJsa<UGM~@Enofx|@z&m+Daqp1{!@WJ;AMSnf{$=m2iQB!KCbjUzeo)=@jhsQ=nS99~j&Z&Frfu|2pZ=}y(;3}dZ~Uy9zR|N*xZdh>x_S4{S?3$;ogCncnzt#? zcWQoGp!fE|4Bi6^J9w)t3iI_|v@z6I;qya5-U4ep-tX5WdLOUxdbh5P_ib34+x1@m zBA2(|y6fHw>xcS|t-t1ax6jGsyR)&h>#OCP;Lh1H(f8w)hQU7Xjw8X|QM(JK=8be? zya#v3davwW>aDov6<-DZY0jIp@9Wef5pHI0$^GMeC-%>Gy(jjk_>Lc39pIb#{nY^9 zwxeqUQu~&2V|-J7Xc^$Ub8?gGdvU5uptt{p4Bi>1BfTTeWb*!cdcODcxk&GKXBvC2 zT*&NQcs7G?@L5)7^SR_8-^1UU1$aFdm-^aWdN;`T^y;Dj-^m+oL;wHe*S>c&&{yn{ z*Y%!$yxzCupN~V+Te@ygP-@p;w|MHpV0S}mpAh#(x;NC#>ZX4i<_5Z{C&S&A>6J3L zgWdGMBiz&gZ_=@t)D4;4nyHy0-PrVUk?uh^HDi?fG&Os)dn>(tj621h7w6V->v&6D zib^hF77)}ZtgiSFQ_)U5^Ff~jK)x>?fO7j)Z& zr$&}^L({LOxHp1RGnIGuh78-Yba3y1smT@G3#pAOx&_i3Rdh$V>6I$Gp>As5D(>6q lK~>$8ZhB;O_iNW%@>1dS5;fhSZtAI5+_dz#SKYM0{{bg$du0Fs delta 21108 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 W, 2009. msgid "" msgstr "" @@ -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/statusnet.mo b/locale/ru_RU/LC_MESSAGES/statusnet.mo index 6ebd0713a136e47498fee98cc54f1f166a2728fa..c4066c65e464c39bdb5fb82312ed509245e3209c 100644 GIT binary patch delta 14572 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 delta 21481 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 IdjF*V15u#&1poj5 delta 12689 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 N$U(OB|CiUh`X8u2^G^T( diff --git a/locale/te_IN/LC_MESSAGES/statusnet.po b/locale/te_IN/LC_MESSAGES/statusnet.po index e8522f9718..83f9f46dcb 100644 --- a/locale/te_IN/LC_MESSAGES/statusnet.po +++ b/locale/te_IN/LC_MESSAGES/statusnet.po @@ -1,7 +1,7 @@ # #-#-#-#-# laconica.pot (PACKAGE VERSION) #-#-#-#-# -# Laconica Telugu Translation +# 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) #-#-#-#-# @@ -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/statusnet.mo b/locale/tr_TR/LC_MESSAGES/statusnet.mo index 4b8b55022d8f3af026d3ba9593294216dd258ff1..e0ef80560f6c7f19d3daf12d217e3df5470266b0 100644 GIT binary patch delta 3994 zcmaLZc~I6x9LMo}q_{!k5R~J2Jh%l61QSz9l<+_?Gds*9@t~|QA1%%NnM$ZRj;1+T znT}>o=a6(`2NRu>rrAU%(|9mWGiK3{(`oNdyMH&s@Y?VG_P57(cYp9nhwoU2uX$&P z_m(l{?@VLzurjDPMGe&B;;?*U`VuE&A{L@1P>E_k&DGCC zO=JZo;1=wU`&@l177(96x;B?Q3PUL5@hcr?qB>lTvDk=lxD(^?AZmcuF$|AkG=7O% z@oCfqe{}ViFp@Z$Q3IIlyb{%)cOwN2xWu{IxdpW)PoPqN5C`B<)Lvgey%$wzGn0xj z#KoxhD)1?sfW`O|M&W=WJ8%KA0MArVP-?4fg_(nDxCpiKW!M`xpjNmOHS@<^{fnqf zyp3xA0s656HIa*`_sme+Zy2gw0){fa8B9Sl&&Q=W0@dMjuD%6z`r9xTKSWLVOS}xv zqXy{4Rrot@#^4q9`6bjXx{NevLV4I5OE8o1O(g}L;(Am^>rs2Q8B_2PjKCLBnRy+P zu^n|5zC$gb8`IE~*mmhSh%gs(um-bm1?s&$=qXh#6tt%&QHSsXvRx)-m@%bz6>1`P zBa1T+IgcQVGv}Rt8kZ4I!zH*8k6;h-V-E9B&(HBo$vtmFz4!&jVV8?9qE;9&+8)vr>`R=1+k8w0(}_P|7PWW=2V-dk=MBA^ zC}<_^sMMT8O`zA+_O$lJ6~uld31%0PZF2&rW8_$yx!I`0wGta~AL`I%RoZ@rqHfCw z)RvA$Zk1;yQqX|4=*K$L;oE?kPz!2BN1bO-EBO<31}2ZQnVXLLi5H^=jv8+dXA-6n zUxWRz4)xr_fx7>jC}`%-qpsaa)K+w&2KW_qnEpUbB)rP%M|~&CTs#`}{tVPY=3*AE zMNQxk4#0NQ!n!b#@tK;vk4dNp`7R!hdhuqw9PdSCW(_K1FQBet8>-`O)CVT9+TQnc zYJg498gRY9S`$OsqmJ%zKhT357RMDLIeo zu-A3AK^(>s=cDS&QHQh|%kWl=#@(2SPovJ#rpM%+>vG zr7#T7VhZ-Z(RNURI$Tw#f$C6u*?{ljO5{MB@|)~gX+jOS9o6m->X0>~2K*Mag{M#x z`Wd}G6nr<^4@?3Ei2I>ZRgSu5Q&H_^qB^Wcb-2^{II83QsE(Ua@3o=c`xqPWThzoR z&$9J1W|4p0(?wKhPnMz|8&LxsL|vEXaW6LGD_DDr9UyeJ&0H*Mz)Dm7p}ofo zQ1^N@j>0C?#NS5^aK^6|cs2d=x`(vs<=0jP%Za40UcQDMUndv&OiM(HFE(v@a9(ivvMCFKx8y7i1{=zYikAIX WQ+VfsV9VgF2Xp_wMf=pyw0{9LNawl$ delta 3990 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 diff --git a/locale/uk_UA/LC_MESSAGES/statusnet.po b/locale/uk_UA/LC_MESSAGES/statusnet.po index 12809a3f62..396e78508d 100644 --- a/locale/uk_UA/LC_MESSAGES/statusnet.po +++ b/locale/uk_UA/LC_MESSAGES/statusnet.po @@ -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" @@ -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/statusnet.mo b/locale/vi_VN/LC_MESSAGES/statusnet.mo index b7f5e3c2c9887ccc75ea70ecdec212f0769f4505..6ac9a37c2a60139e51f4701d0c6c8964b7ff254e 100644 GIT binary patch delta 11861 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 literal 78720 zcmd?S34mQimB;T}`XTfd2t&T61 zb_QPw%74G$J`_~=Y*6{00xIA0K*d`LsvVbsYWMYE0^T0{zYePY{~f|hvrDDnxVHnx zfFr=8z^Py-xGLb!K+$F43D6Y06x+6rOUy0gU5h-pHwQn3p@){J%0x73;q?{65MO9w|^wK748GUt-;A4tWuf+ z4hN3|m3|H=x||D60=q$~TDlHYx?h45!QX+(|J5*$(vJ>!5V$Swqe1c6Y;Y&=3~+z2 z3aX#p4UPua1oxLf(c$~xcHxU%QjsO$zXmCgHwV>MH z35t(afO~>hf(*gZt)TLG5LCM!0oA|Hfoji)Q$74>Q1qV;D&I3fwZ8*YJKh(hB+eJA*$5#pizp z)ep&H_n!Ujd#0s=nueqIVA{I=u~4IX8nE|DOr& z&w=8{N5Fl+AAoy;e*)DXyS~o(bSkKPP6p-Q1F9cC3?|?wLDBi~fWHP+|1Hk-b|>H- zxTk{3=PXd+7X|gBu=OmOcDZU#;TRqk|9{4@{b|I%6f(*k}LJQI8xya=4t=Joy}sC>T+ zieBFaU#)n-yBKQ2qIHQ2g*GQ0Ygsd%uhaC*wXH+zPx5oCID0YM%T&sC3@|*MYwQ74Mb~ zum4@3%6|g96nqZc0=$q$y#jm_xIg%Ia7*yE;D0wb8~1(SXmE@3oo?en)%yrg@n?am z|4HB|@ElO}yBHh;-T{6P{4S_+8_PWXN>KHDD>xRs9Mm}a6sU3hO>i8z0X!Dmw$taM zIiUJ)Ik+{rI^a7&@z+(L`0aX7`P>J-9sDYI0Jx~j$Jgt@{cyht+y=ZJ90}eAZVNsN zZU_DV91i{>xSs(PuT+Buz$j4lJ{uH0mxHSJo51nlP2f!MF;M)nN8RZ%2^8JV0L9N$ zaC@*5RDWFvO72|^?g-ulD*e5n)eltqAAmc8zXnCmzk!l_TcAvcKVA(g{z0JHe+;O0 zwSwZaZczQU8hj=AAHn@;Q1$peD0==O;Pw}IyAA+V{wbj7(+aBnHBkAk0L7Q@2>5YO z^?V52349z>dw&7$0R9ntCAeje$J-6mcsc+S9gYQ6?^6Sw3mUz^3HVO<%yu$I}H^57J~|39^CH&C*r;lRKI>3RJo;IZ|6i% z<(~v9|HYvAY9%Q8TnehbmxF5WwV>L2GpPEm1J!?@2Nmy2;LhN;LDBygpz1TM&)YEq zRJ;~Y^6MB-OSbmxG(fnA`=c{4Zy zd?%>#t`B%;@V_5aIo|DP|0e?e65Ip#v!Lp?Ba^H08v%+B$AY5I383Pg0*ao? zK-FV4sQlgms+@lVmHu-f{83PJe;nKs{3&=G_zw^fQ9AAoUhW;B;(Z1bT^<6(H&1}# z&z}VM^Pu?Z@8IU(_HXp^b^^tZqk?-9sC-@nieJtEH7-|ys`nc~(eEwbT=4xMq%J)L zo(P`zCfWqv0;=7IU+m>90F_S}+y`6=O5VO1R6TD5RloZ{wdbp#(ti(}1U>`q1@3o= z>+4fN@!3l75b$AQ@UGzhJy3N08>spm{8s1d*`U(3gQLKAg6fw~fTGJ+K=J?6;J)B?Z}a{* z5Ig|)9B?w&4N4wg4~mYT1U2rS3b^aro$qIWhvEM^P;|W-RQ%h(iQp69r@(D5b3O5k z;I+8_2Rs;j2h2DDybo0TUxHJ?5%2VVJ_A&HE&vY#-xu&9Q0;mygzxe$&+mwURd62R z*Mds_OHll{{pD_dnhD;A`%X~h)!xmR0zUzY4!;4_f4jZM>39ezdYuj?U>~S<{~P!U z@DcEb;J3kT!Mm<-KK>lIBkqR+J`TPT_s;@82a0a5xYFA*5>)uHpybN@;I4w=s|&%M z!1sa&gC7G`&&NTv?-@|-8UJ4I$MeB4xIYXY3qA;r1~o*SE3HQOE=s5#ax#xmA zfER}F%fJNpwO}WBAEX);@qrpo+mGfCp?fD8Qy8jl`c=#)*a(BMQ>oFeO9`{sG z{V@+z`g1_Zqw~SB;M>9Tz&k;WpPk?D^*sy}eP)7(gXe*gL)U=2gLi_PgI@ua-`Btv z@M-XLaIX(|{d+*Q?*rg?@E%b7`6M_2-28*yUk8EWuQNfF_ipew@ImlEaEoi9HFyv> z4qOdh4BiG#0$V=h{Qo*|f84i%D(4$u0zL~W|J^?9^_mOHzX39&N>_u5pZt4hH>h&X z1E+xR0M#E4f}-2gpz?dwN8JA;P<+<|t^z*@Cg85udA!3w^}{l7H}Lh~zTkVosorP3R~qe1cOy#c=pD&7;|uHbLMUBE3r>iO>hDtsKMbjN@iU-N_eTu}AD z02Kdx5EOs@2e>8pNl^7$2a2!032MCm0=#z^^#fmx`<9P6AAA*jE$*KNoOXlr_rHT% z<9`DvI^71Uy*~j(r_KHY9Tf%|4~lQDy22lp2OJ_%|({4L<{Tirb(;Qj#*21SqKK$U+QD7vo% zw*fB)cL%Qtcn7F@JPeKoe*&t0+uY`Saug{4^FYz{tzZLuPr%JT;qDcn_~=*Qpn~g0?e611 z_0Jc;$>1-+9l*WsaXb**9`}^sJ^|bk_Zi@J;5nf9<9txgR3lbKDsmj(aaq=?@70rw2S26rXi~hl1|}CC@$&iat+)>X%=E>gRnw>-$V6 zg4^PLGdKaf0#toJ3o89L0{$`JUY}#`!~Zp)`uEM?Uf@-r^0^({9b5-W?mY%3;9o$| zfA9O@yUj=sD*kO>@N(}3)xMvBiuXHkZ}3%LbetUUWKew837!F79q?&T^`E)k{VxC& z?_p5w{ax_i=KQ|P~+tjp!#b=z+E2o@L8bb#4>O^cnf$S_;?84?CVbVv7qu_0;>KiLFN0AfZqgF z-j?5RdLIaGj{9U#^WVaNmx04^-w%!hzY^Sk04L%82dMlfebd`_dcakn!aoG6oJWHD z_W?(J%a)9#Qv*H@iXYB?%=_m&Q2f&q+_!=X{~Wjt_&~s~fv?2>N9 zUKMcocc3-yOTeALk>7Q_@(@t;m=7KX_JX^DH-qZO`vd+8d>if&-*bNd2&i%KSit8& zjn}=u?>G}oaCZj096SW~C%{9&{{q#2BYxoRoCYetR`4kBZQ!fGFM#`i-wF6EDEjU4 zL)KE@zM%N;li-fvv*118mQQ&4wcz2nzYeOMTmOi;5}XKb4?Yfx?mq?9{@;RIfCoJ3 z{dFKX1^1Dl>fHdeHQp@+;0K50vj8=A1?&u zz8Rbc-U%k)Kft}f%8nmF`cV^4aHS z?4f|;z}JHHfRBJGZ`{wl9jAhO;=T;r3j7$Te!m6W4g3Nqx$<35`EULUr_UHr;U|Fm zg6D#JgKq>i4z2}9gExbsA9rt$s z?RYXMI=&ZFy&eTs&NHCev*WK^&lwLY-H8D&2gN5}2UXu+fNJlSPkZ{k0v-`?Avluo zdT?JE@HSBC9uD{<*oymEQ0+epW)nR-K*g(ruLj=&jstH1CxefIs`qC9zrqtUJF3=_xYgO^%hX&e-IR3-T;mQ9{`o#&q2j| z9^47s{tr%{SA(y?JsDI#HNefmt3ai{22_35f@;shpy;pxR6fI>b-M2jZijm^cq}*- zRQxx96TtTc{33W9?%#y)mOnZl91kkLCE%;TUQm4cj(|6UJK}x-+y;CM+!g#0cmnuL zz+;}Ht+?L;D!;Dho$hZ6cpZ2W{$BvM1-Ji`>nnSJyW>6%RQ_jxYEKyyU2EVNa8@MGZ7gs%f%13m{T-I0Is{AUGR z0;-;G0u}y#a1ZbX@DT8RQ1yKVR6qS4R6mUQtG9P5sPL0O@$KoL==~vZ3-B&bboq3^ z_2Bz(KN_&|HxK^{xHJA+|J`vHr`JJYq&og+}mw2%+?p@f`{Y(v4B4SFU7s{ zmR{cbz)su`gQCyjTY0(D!B^ux71TW01FB!I09B8hz=Obbpz8ZHsQT}+^)Tb#+2Gc= zuL9M-*MfV3cY|uz*T5se9|iY_SGfO}fJcC8_iRvfeJvX@k~(VuK|w- z?*d!EKY?o3*lmZ|{9Fb_mv@0Dfu9EzzTI|CpIM;X^FZbQR#5pq3aTDI4!HI9!)(56 z0Y%RXz!SmCg8MO0{q!^_dJW%USm}G<7*KQ@w&O6<3-K39XU0zU_8o_GvY{J(5^U{vK4mi^mQt-40#~t^_BKbG#+s{^MOvei+pF|60I35A^g)L6v(s z_$BZ&!T(~IdLHf@!Rg?$0gs&M{P+5R4+h+^#r@9;cs=-j()}7#K5w1m_!ua;H|ijl zBS(Sf;XWncU7+}6mxG6uE(XU1ycygD_kojL{!a~fO2Af7as(x#>Y5Na_lfr{Cg^>e!d7~xSK9=gkJc2&1UEuyg%s9(!JnC z`27;xH~1Yx_!8bVH$27j5aFM|PqOzpaBJM(;@$pu7q48#Gs=BRyWpq4w-I+e@2%iO z@bBQmJZ~oKdE8I)uD>4Mzsvisp#GlZ{VMRsJfGqHHvEqZVO!$&H1A*Mc`T%V1MgSz z+|8rECHRZ47l!aX@IMpxk->d9xC_tq_^sl(g=cr-{Fdhw9`((a!H@CiZ!yoB@c!>1 zk1h+L4)`zS86Lt92hS&L5l`?cZN|$NNC#Wk-vs_$g5OQJH6A_*BFgRWN8s z1b&ObzTmGo4~F+6iSth0e;?9|_w*;3yq~?X1}5ws#95z9uOOz*(v~pgGlci?+!69P z3j76O5Al4N=L+1n5&s^r4SXNZ*&*&v2!9&4bSnMbh5sM%OTgzs9Hx-cG@jddj^oka zJ9&OU_&V?tJlEroXephDpXQ;%cz+0#4AtMUxL1VyX7R4STR@GuZG(FOIEOfQf@3X) z>$oT3_dA}e@za?6c*y4!#QQGqI|R3q?8keem+-eMac<`Qui$FJdU?(X@$ba{bo_gH zF5o#dq-i01Ht$owZSZGGF`M1{LH$h%>Hom{5AZt~JQsWq{*UthL+}qg<9YrY|3^Xn zA^J)WfENb$-+5oj`yavoks8zyAUo_~~yc?$`6^?@FE@*&8wkzt<9Hb8vVF{}OKL%_s1DmFItW zsyxyKmJ??xPb=?VHbt^!Ge?6wfUD|Hh-g6M4SKvoHSb;GX!O&-+C@`uh@ic6gUt zvi(?|Gl}<6p38Wca!seZ0snu?#r-+%V+cQl2X(9TA+Rlk593{bH-gXjYw5oT`ytOs zA>u??Uz0r;(SVe{B053+vL(-%lp>3 z^6nzuI^4J8zkv5w@EpbS&5-8Zgq_E80`8B2j}fN7cjNvya60%Fp4XZ$eM_9ZdESoS z-+4y!#J?KvAK}@I`hJ)=@$VhH{1^Uz!0(sA|IH!YD}#GHadr&}77{j%=VILd!Lx|> z_l5XxC;ppxzJvQedG6=^x5T+42zm+`q^S*)SES|@S`z(G}@%}ZQpYh(w z6aRL@@2j|9m-DOO_Z1=xqg{`HUm@)GJU8>q$F23xdwKLH-RE55Z(}ZK7qA}i-w12| zlm2-q{v*NeT;P-Vy%D$cAN`#`d53_vgZf)W_;KKB+&|~NCHP-}-^IAgJiiHkia%5T zguhie{}H)&1^J+>cJZ8x-|u){MV_AzVbWJ`<@qd6EB+tgiGM!{?>{CkDz=>o zctZ$W7sB3x|4!lkXx?AP`>i}%Ky|&!6z$0o30+@PC*`fAGe^u~YAFvVp zV~JnjyjOJg8-DRKXY=NaPYZ!*t~ynheB z{{VO3c?Iup#lKGx_-n`SeLSD$IRN+0gm2HYA8!4f%=p~qj~*}g&iG8h|8w}g3)~X?51#k) z9M7Xa-MRk+?|1NCCeAB)-=F7+5dKm8M)Ll7o*BHK!c*n_*Wkx_^fw#)MtJ`??(XpZ z4+}*P!@VK+1uuiY1;1b5`Y_LF(M|qsJlEoPIT-)G!%HvEH9Vi^`5e!$L-@DB-{6ja zGn>k5C;W#o5WI=!7W}pg@$LTS`e~WoxCoH|g!DHj?h1>hf}LC21@7mZv1$>JyiA*4x`v<3^=td9}4drOLfYXQj7cRb5u8bSHh? z6MO3u)xu;&wYMYbuGG6bD;{2}(wWDVy>tT|Z$6#Xr4@+OS*0WLrK_Z6R(i~*C7IJZ zhI~~{JKWQ2+|yO5^s0U0o=|Zm^@>;tvAzu|Ykk`&SKFrWe(3&Q5N-SR*w=7vw z>4cWVg~y$uTt?Pvd#w&hZ5(vLz|^TFS=3RkEo)f&t%=>_ zQK`|p>MHZ;t#(z&b72+Vo=WGc3D%0hQt*c;+gWY&R%(Hro!JHovHYkL+|!8UXxYT* z!-sDpt{y)8_%a-}w6C*smDRH`!MdR(RP6jd*ou+r1F45vs#G7B*?4=QSPA1%IdCG>3& zV2anjzLZ~13$-Y8%hDdYsLiraF9qiW=d#gliWch`+HG;0{R#=%d+L4NN@*`iS4D!% zl9`9SNfbd(kKrxrtSs#Jt3B#m!c5!J`m0 zUrt{Tt+AbL$&ytG{vx>eQNeG=76Xgh&6_kzS(%7>QQVnEJ zXB#rSwNhQqP=Q=FoK&FC5krmFRqv|QddodkjVlvcFFs|p*68i&Yc;BAbal9pXsy?l zR(ra9Fc)U9mT{%=<42Efz|SqUa#v;a=<(xo62G6oUjmOHawT~f$!hH4kUE4cSv7j} zIb)ms`g%G?j~>^OY*JxFZ%Jm`tjuS~{DY|@Wi39gajtm0~_QAc5e45dC8sftQD6td+N!cA_< zV2NM;mMoYl*$&GFFnftokG8trkNTdkj7n_*4Cyc zIk~%1n={j1VT_(im)OKTNkaq}EQ($Cur6AJ7-SSg1>W==BtRDo+*;ObFBXG!$zT)W zThyp}P;e*(AwWh_=Ob2-5liEos={3#PsU0Q=%!wp*2a~lEv1g7Y3G+$CbN2a>bxR_ z!c?i(IDzUtH_utL!gOXnV!k#6LThg}aBPIyR3#FVO*(x+%_c91)7s&>xvhz)TbHkf zrgfs@Uo(efS~!z0t_Bg8e#vQsSs?isBIOb zY)~+r)Kg2-`e3e}>V+t@KHJ-@F7I5AQaKhmzRp3O_fm(WDd&abIL{(=v{-0^O}o1L zBtc=}LSkc?u2pezSGxiO(DGu;sFNrT>c7;4=BlKG%g0GQP2@2fja{OZjbvi2UYpp_ z*Hx~e6&6eLE={P}@k}a9>h)z&n>1Y@t1;DF&f2rQgvCT|qQDd7L16#`qgM+UxW(O` zJCn?`73j)hkHTDFOA0OUd;l=x4l!O%3Y}P9f;Km4_M&pj7EX$%|Dij-9<#Ux9T*wclRxeOsUNpCqrdMceB|!4U zb*1Umx*n-fz4bc74yupsLP{Kb=t0(Vtj9~!i(@LdHM~kQ%9`N&kEE6mqS2g`y?;+T zb#5{S?KK27%E(t+yauy|rD?5nDqJH)vl^qis^z)MVH50qU35%+$@xehOQEQ&6uZiu z8n(8|_ij#*<{_)5@WRAhn!%c~y%HcO#CWwKIoqReG`&Q(^}A(*qGQdI`W?+PVI5tF z976~6q#;%b=cl*~PY1}1dKbfyr4wVS(pHL2=7GM>-Ue<{nIk4~iU|Hel`69!?j$*7 zdHhVp>hF_HuNJ+%hc#oTB|s4!-58lnqdF@poro|q1B~V`rGo#a&&w$8-=Z&EH+YxCZmlv#<|(0?sgW|u+<)3qXmF;G>`GRxHy(wC`g+h zJsP!ChJ|WZB%nOUC0I{1WyoY>0@h_djNf4kg~)HQDAvs5lf}VmCmG>JmO>Hk)iBGR z7h?RUV$@zUDZ($iPdoBJT*bJsDM*7 z2+?L#kxH^S*qqwxtqsqex0a4dXScUNO25VQf(SU!F;lp!gm$epZ7INJ_Iag}u*HQZ>e}_)dt;6XB_7!3?T^Ub+#~%2h+W zRfexr5Kzf3Q|9_bh$@;2X-aGQPToJrt$~s(t-|0zE9$6rYw?WbHJ^BCy;F8Ai9yxG zR-!>wVX88&)|4=4lG8|79A>e)2);^B#`3v_m~~YphUq7@ZDeijE@O6#Je)5ajl)$o z7=|2Rhb96Bm3QOW_f%NSqGhD2u$mwPS+S@PDVSGK#<6+lW0>#{^Fp<@w4Q5YHZKHg z&2I}sgPNR%p3Hip8yK46TzXV8ZFaaGikf|11(3e9t;ojPZL zlL4SytW7T8!14J~X+axy z5o2s+5Tb~XgA^b5H&snV*<1!8IIh>4LXGQUSa(llDH9hHW}ZM6CCKMozUG}{IaM~W zfc359X&I$G)wpwM^YIE2rYRGWnD`3-B}E70yrNgeO(t+N`;w=pcQO&{0#zBMQdeFQ z!#Ph|5(M?j=CN`Ra@zbUoA^`h>fNOoeLc|3SWgx__;{cxn#ld)Eu6P-Vx^|l0{bn6 zovHqDo5x1T%tl6)^sx^^o6_PsSCwW?Pbymc23}G_X+#HoXOeJ$VB7ZcKwB)9X8M}Z zWnOeSsZ9*x%UR2FJhg+gv7W>x=Ub5rjD>ztpHt)XE?niX}`$Qz~Or=7xgjkPp$!JluY1XC1Z8W)B zWYI>O?reviz)H;iA;!qk2`sSf9|fl`syKavfU=Q+YB{$h4Yc|yos!5gyfh~+y_0Sg z9lAB$|7$7DnaBUB0OmE7zP{t1id|a>W?BSN)r_GwSd8lGq5d5NHwG!jj)ZvA;zltS z%7`{xnb#;HDjgwmn9wnSZ(4NcG)fHyTkWX$kp!`jA6FQKO<@#N@Y4-i-7qWEvFq0) z_&ZZuL}a+^l!EKElC(0oYbI6eB+d%ch1%d8d6u<6^LqrJE+cIVO!%dKD#ERby0o zV8~I8UzSuL%JbHSzw=-VFc~7 zj2c)sGneVCc77}tG+3W_j^5txDU&93nnz1(dD1vP4VIk^s4wkZ!RE_^1mZTZ5|Wu&aKmPW z?;l#Ov*(|dOk2u2u%67W)G9sY&Lo_Gnd>~17Pn%>ik78~rP3rPIe$UJ@K$L|Dz|rc zPCTULpq7r_u1?J9zA6fUkvf&Fl1l7{h&pBXP8$%SMNA=46m~9L4MP+LOLzZ}jVQaA zW@S>HfQb@?*mlrV;$V9ksib07Kw6q+fC0Ydb)j+`vnkERgx;qaD!%leS`W)M6y{bi zCzj^cTa7c*7ZZD;eY+;x2}xCJA`Y5(TV|k1OyKm9tbk)_@To|RdTrc<1QP-0E>?}o z^69smk)PIMu_i3?j^Sj0_Tc~eMD0^h-p5zG{U*3Vlv=Xb6Uw|Q<7%C)t+wnx5>C3es zr13`BbnoY5s9Ih1V^Ep}o0&&0_S)yd#xSqyfL>$96c+cvZZ!&Ruyd3J5)o~LzRafE zILAy4VH};*k;InLJTa@=J&MyFX-%t<-0H2fz#MW+b^_QEaUr6ak{Mj()Zk+~jU?%$ z`Q6L&z3u!i2a)aES%QVTwGtc+&`wvC=II=&B#*>7A}(_yy|ue-N|OTWOLXe8wcLZW z>}hh^pfDEk#bgq+A3q`*6CnsW77BN9z_O8GPjP#{*PIhc3`d!i?BHWt*p;zWy2oJr zvlkBIgp;RQpwl{zc2-uBEqanV0ecThHZyTSSeE8jR_G~C#a3-8o8B#Izv9@)wl_#N zkP?F!k_w}^!AN26=~_zxJ|~-hWS4>inPxUlKW!=d9Gey|9OEpyTMe`mqS^Tal^D-q zN4rTp=P*B*2TJiJmF1{+3~3ImGM1t+H~vav+HoWsv24ib#6$DhuPoCSjH(_A=fteH zI0okDzMy2ZU_do$r(#6k=*uEc5?A8KbkwMW`@Eiu7wjLU`E~vemOUmfvSRKCmJMGf z2b1$ig#?~P^XNn$wUV_G;8d5XXb{leAPl|Rx?x}i|T3nxFq4zXXa)S&AOV= z-4O)|#iy<;dg$uR!@DYThn3B$jN2@m{KkT~$vhF(Swhh!4M_=QqbF-mk*-Wn3fE+) ze3sNPUcwTb4_zTPtX23&D|rrCpkl^6<(TTK-9CQ&74Erz(X-IC%C#a)6+jHx{o_Iu4!1Q@f?_m6>U&= z2NSK?zStV?#-N3LMv;wqvp26d^S+;8vw+m)f$3h5&a#n(@c@n1JAm~?=i;JkX|x48 z0Tm(Vl@0|Eygo<7Ca9 zn!%*aFo$U-WZYD{ZJ|=yc(6`3Xg9$#Po;(riIPJy&CiL-BF2@2=*foO#D#rJx~jd= z3*DE+LkNebLf&v52rEmUhq>^SZeqQ@uT6B8i?jh z`sg5bXodr!7-A7K>161(s%pB}GRTZ8vjnoz>eN=uz)yE`+Wv62 z-)dOvoO&*WX;Bsj6jXR>I47M!diUCgdvVCpn$VV^pv zC(d7DjO;K#{ymNl50>q+GulApRb8pb%d4!77U&XZ>nf1dAQvOUW|-GO`48lsoL18c z&sGswfQY2YDWVLG>ATLyguS@bFBJhHVbbT>mE43CAYMk*o>KHexMSw2_hlaOZd9;- z#XC$nqUsV=qXW9y64%r@Mqd+Mkw7}QPFn_x-lSZFcvS6F_Ej;gFXCKJe5acB9t6E6 z2K8!GBuOFDwPM@Bx9%usf`@BIFsCNlZ68{u-@U0P3@IlxwpLE>*DXoa1EGgF`T zK)RUo8&#dlX1Fnnu%H;3yu{>TJlCYAkZX@ux{8I-W*vy9$s%Ordt^$>>qlPyy!Cz=5QG#8s^B)GNpy6=hBZNqv#ed z9WbzW{>IWmnKFY+cPNai;H4?jY#+9NS~x4Kl_mt@wx-+5v2|b=UzJXvhvcTkY!=NG9aMVR&hyr=jkY5_ zwo+`xOUx>57!ANw)zh`7xi+~YevE2 z=`MRbZ`R_W<))i4;^lM}Y>E_Yc*YGJ;oJGS14kJ%a701gc8Y9^i-;HM4AWu@tYTIN#%aWyR%vl5MY(W4TzoTb_ zgV|Q${%K-xe)b+b7V-ewaBOERH|AlXbC@MrL!baa3@)0nI$&9f1-i1b-m`>_Fdc5= z>P~xwb(BuGLzTcDS-B}^gv#e@mzBTKSeADf8gs^U+3b@}4HB^`%@)aE6lmckswE3C zFKDW;qXylsCTZaoYOVp(S%yPaR4U6#3pvA$N^aAko7lrX1tA(1uDdS`%!0|BKFys1 zH1>A!PR)pg2Su+yreSL?cViWkRYY<6&%|C+6I(JC2Yn6W6FaImSaIeye67IJis zMe{=KaAIk0MXvkqdYEgdcvJ`$M$NL6zG;-ugYm#%++<{~V%1QHl^ee?8)QNHs*ISt zQV*`ghIeD+)I5qNQ}FLGg`vr}n6|;9k8d*!FD+bEYh@Uv=TiH5q#eJCHGNk&=;+HV zb%vWZ(4a~@s;$75)4Z5VpYk9eQ@2Ztu$0~swBBQ4}!^$1877jS-XoU_3!`&#o^ zCiaW_@;A`86}_PTZB#qhL=-8d_Y~Il#vY9(NiGrBKZOzA?4L#9YhV1p)}B<@)nL*O*9QyQt*x+Qe%TmmzKm!Gk<>$BvmWg*R^BRM z_qX{RPDhn}NwJDuo763naKfQ!^@9nlke)pkjOoP;nv)oZSoy4~FrQck;Y%2@Q*-4* z@@B!w3m0k4K6BRGS&L?EG+GFBp4B`XxiVYbNiq?TMd6J?;@R;KY^PE^TJCHJx@1{H zkbsRu;F3_aob;{=7e?tk&aadf!3Y;>V{}o@BAgw$U2K~lxzkMM=1h|H=i<1*or@5? zvg1zaL9A$uj;;42ROv0LLgf{GV0?m4CIRu4dnNc@94N)TVQ5qwRgPhI*gJU9r zD|;)t&aEk>?hEZSk>-AVU@-H@794SX5lc)h%*`In5hdmPw3iwm&YPr%b759HA{G42 zMkWrn8&jo_!iHH)f))UU+1S`vAUQ;ms{>(N2?4vAkWV&1oWXlKEV-4Q&3pFR?cOu3 zv(F2{=uxxvFDT^BJDz5D+awFq>$9jdFG_-iqyG%hfLqVW_OD?sxshsbcJ7*-Z zAYbdUh{#`Ru0F!Yce%0R`XnH6Zn}r^PQxOT&=z<=LB3Jp#{^TSvAafg>Jv}g($y!= zo38%pt#c+=IdHZNQqRRB#V6&YKVkxzVXI(}iR0ox)s_Dj>MO*9Lt6WER1FA($ zKfk3}wfUr)rWy+CVNZZN>lbQ6JgEC7fkrn749e*eRXcrmYfqk1X;51}9)y!wC}b25 zWT>&B?G`!u`|$&#ljyDE8mEO%zR@Dtuyal+-m*VwbyTs_m1F138%GT7qXs}w$%r<} z&&rQV#@f)cV#e8-KmQIEvm)DWNM5cgNU5vxxiG07`b3b;Gj26tqMx9NH#;R<)nd&) z{sjYCmo+Zvqbu}%%G7+EouIa!3g_+F3gGLNEeUdpTE-%KWlzYh7d6SM!Y3_aW94#OhadQ@2PSUMyNeCFetLRk(m3$TZ- zapy-}b!MDzl(6H&Nmh&^W$Jg($6sa zijQ;?GU6fo2#$xi)xyppQCkZ*tI{Z)rGb!ISP|yN$*%2=^iYjh`#>zL4WYWqH5ie0 zg>PEKJ#JP5mf4V_Cnv+yULMkx^9@h}NrBK1LvVZos^i&`WgF_L4U8_nuH=%M*7#Z9 zwDb^-x!cc0<=PQ~GNG!e64}I9>|7gRJR$eAMhdX27ERJ-g#!VDcF zZr4=iO$~FqBt=wKqwXE6>e4*)DvV}lqtc0ma}_pi`VbPeh8Uk&Gc5P*l)g=w*(Z6@ z=7)LKYMY+S^64w1CIi5z?#Dv|tD4@PvKg~^T;b@>4Ecp~NwK6sBb51^G}+r=L*Cid zxU^_ec~?dr^oT)S^k|&n5&L>Xt`FGE9cKzr+1FF1mqd1tN*9W`_BQmfW^s)3HFdEs zd4uT=W*h>d<|jA_2B?7764oS{N^mt7RfLcsb_-6Q=KI|}+I_c;BSNgbPr z2o_JN!EF{QqNloACQ@UxRGcbaYUHqZ#rz5pgD#ZSUyBztM7nFf7KK!HWiK>lBbgT( z?eSJr`9KwOha`dYdPsp;9ZG0Ds*8WJUfAN_c-{PbiK@|?GB+G!vYZ5kPl3~1+w4>z z>$k4H8h6EPc*vIIy=mXbQQ0lYEW3M-d4iU1G=j5jSQH1@VX4y7EG!0hBS^#~~QVkl6mSEJ0O^0Mnn>?1D@##wfiNjLv&Q|f(S^Cv`x)Xxa)u;=8 z=An_i$Yk+cKU1r;I1Pe0yR;<9JikR{ZGe9DR(-`Ueq%N4LEG$E!k(m!f7WC=El_T+ zmt0bg)=BnNO+M(HvY6&0F@X4nX0s=&#*Vxnr!pA4SweIOOIP$#s)Eld4$R~|w8^1a zlnUfd=ENPufxn(;H#RuG#0V?p-uVb#Nv8l-m5hF2=S9|+aP)}lt?8NmY%%@CTey_U zLQNoVJOlGjn0inSz=R6**`;{M3pr15BLPXs@on7F7uB^kcp-)WfGj`8Z&m4~os7ecD+Y*1dUtGH=7$HMNf9g!T8LH5}8)S*p%T1$L;l zmn*MXRYqlMVWb{6Jl+?bxQH)=O-YUkZGH_uRnTs2@o4kr%$t?9^Wc_)hBMpCFfefu zCWa|?Pi<0nCuZ!U?T7{w{;{VmI)37jSv=K}+q@HJVV2b;ohiwYoaq>T=0v~UYt>&+ zulFLN4{lKjXHHyDm*k!3#|&n$1|{1mNnh_$@=Zfy3#K4f+F7x6WI^F(DrA{;MsoJ7 zX>+H|pE^x8{LZ_9W(O!>#E7Jj{1hR*KQ_OBKGIgQ1*4=Q2`t{o3xtbL&)BB+E9ey}wtn zseG;dp*yTNzQk5bmXjHY*WFG-(~wo`Z|2uiI@aGt5ta>#%yg?<>w`BDv33331aDZk znqH*MjSXwprI|GP&`R1n9=K_Oa){hS(U*8u6OdUO)_%Ix_yCHk_m$;_bvKq{omJ)D z9{mdktx+h<*sqpW|9rY7RW-9EnVBO_ZT)qu7p&HKvb0l$?xcOgx;6dtZS8pIj&fqT zdyYhT=#J3rR+Au9`Xhlrkj8$@q_+OoWpnXDxDg;~q(N*bBpUkJN{EC3}N>`tVC{o@g&bWd6^9&*yK=$?5(=*iJ z1`Tdfd;pFRi{)9QO}qhSNM`F;NTS015Ens+w-UmEv_-7MkRI6GsI0ajRp- zGfOtCdk^GgqXjV&8J8+@jFo~|+e4#yU$o5dF= z!bpt1NI@%++AR`Q3%|J1=CrTWS&}fCtpZ9$ZEP6x#W*8*i;v4706G+Z{U@tQ=Rk%e6eZy3717kMh#Dx8UFOT*nkQ`o=?DtggSi zi#^Bn>bT|N;#dr$osdw80UU$0cnIX4Zez`a9t@#r`<^OQNZ--{#wdDVHC?B1bz7~( zBp*gzQ$SXgFjCW=$tAIlEXv}bASwPD>=N#mh4rLj&ICaTYd7RU9y%d92q*VKcAlzMV` zYeLQlLKCEtJMvwftP~qK#mpyFV|+2>jW(v@$6@~eQfB`j!D&`dm}YN_!q(K32d)%# zuSeUGXoEkPUW_qb>M!EFP|28|Q|TH8z%s;nO{zv(scxH#!|)*>=qqt??7v+j_4Rg1 zFdAmO@?lyMVyYG%F6Cwd3b4zq^>;HZue|{au4YueM$Q`WUpcp+?z;wzg4mKUjBeM7 z8b)6$*JL};*)PGUrn&m?M3kf#?;OnERsUO{(*=DZI2x12`+#{Aiz=OzQLu~2Uu4Y> zM!pS#Z*g?uk@l!FU=S1<%IUzJGtWw*{@wJ+^-N;wnpD|AocPGkw3h*x+2oH8`~O=N z@zqR$ApIp7i)Iu@rtEdAQ80SS37j8guckTE#B8(_WoAq1fh*wn!2E%{8XDGnP3yfd z;co&F|H*Y`n$$L|y;B2N zqW568_l)C0VP9#k;v$IqX{*x*R3>3+U!z4*yFyg**d{2mb)8#+d~!!^8=B5&?PvX{ z&fKu>eN|-h`g)XIKhY)FPGw z0d4T)v`^EeedJGl$>|@sBC9AWD^?Afc2jq0p%hcioz`MjH^nBUDny&DC6vxaN7wo_ zn9Xyme%AH1_K`1lc8l^A>o@=TfYL%km6s|Wh8kxI^9gN==*PT}w;mgt4t-y>ylja# zrOJcoBghsBA2kqp(d6fZoBPf3(lqZUVdY~@Wj)Vag&sxpXo^6*1-l}XpxM31 zq0Em}y$tQhDJSYIxN&UI%5AaOL)qhuQk&GI7q7}J>am4nE4GsGG8Z)&V>0I3QuZp9 zcnv}sBm3B(W|)s|8%4c(TxmL{D(!4#FDFHtn=en9_j5gDJsovtx7VsOS>5W;sHDgM zTWWWH;EXbx2l$uOjp-VME`*y$ueXMv`gXl!_q%K(WpRltn6cV2-Cc_ z9D0+*McMBKYqvl90WWWm#@uS#RAM@?-Jtvqh10l|PS=VHRRZJv47k&`0lcnZ=1dm} zp06}FCXwr+iPe}Mvotztm+q2!S~L6+O{V31xj{mj$g0txYU!lxUEHq;q%buG*#QsT zj^=Dz6TH8zD5kV3iNBg5X>m)ReJm?7z8DZ~PjTYqm2}v6r@#2Xyhc$VOmhiZVg)8Z zSgL-sm+@?jVB*F14RVt;hVsH_Fs1r`DPMTwiQ+1uFf$eyy}1^Vyf07gxpIp_Z~$9MGkM|&aMsh$3ng}{fEqJb zM#*aaY;dwgFFG~#n=QrNAepPmK#>YPl|{&D7>GKigk>AnF|QVOEv5ftDNHo`Fz~D3 zS*4pIp+8F^NyQnwa+@Tz-10Dh&8n&7p~kbpVf4=$VOoD-LW_&_q{!bx8(Bk()y$>o zWZl%Tmm%IF4Rx8Bm|J~gHN3|?^)@@dff|Vg)`wrO)R{a3Vg1(ZC=JwViD+vytVq zC`h3|fB|^X%NV#;Cul*%B&|8et%^zOLu+K9`iQiy+c{}Mgg)%(+Gnx(oS_(wR@uyG zrpQfAbfy-J*|L`f%*NgGIjQ3+XtYLI4Shlk3Xbs(l0quvayx&JUx}BpEL?@sx?u3k zJWjfs_D{-b-uin)`s=x`oF1!j^Xrg&(s`w*7MP2Hc|8iYcFFUEo=!(==)iP?8uwOB zDV}qf)x|eEZG~N&@>n}JTMn8c6h?~A3SKl?L}0p>(wSv#&|@aiMQ&CyKA#Ryp8s6P zgyi(~eq?G&?x*bjh(-z`tz~!T)i$xPiv7ADV zj0QAqmy-i&cV4x@lk`{ZUX~O#;ZV2S6f!`*7ONo8Hlk1smcGAQIS}OsodE~Sc4(E) z$2vNRJC9U}Es#zakJ$+oH7ww)ab_nNsD={94BHo?Sz+=WTH7}!)D`v|-ORS4vc$+$*q0tk{L?x4*@@|#?{71oa*o!luyHpzJ=}`b+1I=S zsCAm93%1+dV3Ri)nzsY{#BZ{h^DSDrUsmgADg7(dfjNHNEl|&t)(vYhyGqdA*xx6= zr9c|&@SJ8fTc18MmToE_N&4mGd%^RVzFddS-WFvm*q~nLju+Hq9D`nQdI>5nX;N|R zg?Z8wY(oSEi$hVj)JjdxMRrWuj3(@zXn)Jz<4il9yF&&4WnQz~ITKxm8YHDDn;Qw^ zXsh-!!>E_Go9A_i2=(E@JE>Ke^6eKZC2ctI;lc@@oPuO#wY)xU#sU2Lu9k66;?Yr%eT&MtzUx<$e}H_zcD5_1r(3E z5Q?cisKJ~tAC=JSH+PL{2{Z_l{NF1!e>~piM?Z5G^faV^48%5-#Oo>aC)#Xg2lsi? zH6S%CUGum_9@5LSSI{zCD|H>kmJWlFld~$>Au7+QzfU$j^oyJZ%{HvU zK!GS2+c`OxBZ4kUa8kU=u@H9c`mc)z$c|5wZbIDR7}vfP26)=-kNpX zkm(-Q@Fv+_fch`A|2crhr6qGeJ6(a6Q*^*3C#m%LgaI-tS>Z4s-&@k*58H4ZDBk>R zw$0|*sO3PdpbC=ToZLh_V1&6Z9Dxj*jIn{qtQn!9g;M95@}cw9>PSr$Twy6t#775G z0}0PrI=-^OzViSD^~)W@knPp@(b{WUW42lOOj|=Bb(q@n(sckH9x!*Q*9?9xmKYbh zdTmN~v#(l-DA2d?21qkND4e8;azNo>B6Prxm!w%8cOSEoTx@A;#)Xu$=62n{l3LxJ zp8{9|#7k=0_Uyk8Hrvl>XL)>$Q z1&UpwY7M5OXkdhwIlULQ#(W>a)+~M+qG;1_BScZKghB(G+Hr;nwuh}-a=M6?GgMSo zmb>^grhe&lR7-+nCu}c98x@k)7Pe7|FR>2+0Uuwi_Y_p4k+bDQfYoW zyBTmA%#pr7bjKsB>7?=_mvFD>k&8LaQdB+p3RzC`oXf5dqsBT}^8d=9Ey!TVsQW0F zMn~m?CnTIGLlY0H*$K%h+J$b_)vr;mSuX47Q-5&CV~_(i&AM-{a90YOJcc(lI>#Pv z#}z}cfv_pFV1bNLk1VJPgI%59v~u$2VFM4kdN{z;F5yv_dvnTPOOn^71|IwqI0{fa zeyg(p;kR1jX9INjpwLd!uHaR-o@wv6=vg`##kUw9_`?PR3vIGl_gIvDOE%X z&2r5%Pu!_-uf;@YX0CNsnwd9Ua*BZ!H@`vLhel>GW!%&)MLSK4Wd|Cf#A|kF5-vtu z3s}v+11w>VwkgB5lfu9=F5x4kGJx7bv*|ZAO#Z0B_XoD0ODIPrDx0^7jI?3infbC6 z$ND3;DO<>d-JM{3P0v~=@BV_nkjkdpuHjUw$?!jI|3q z+3$RDj(wID7WQe=f^>_E13RQ+(kCR%7ybVN^>Pg;sQo$rjgB-skkxOvY-}jK*f7bF zWqFHQzfyB{vVLJ3D|O&D^!LqoRon{TYJzJJkdv7{J+aMt1JyI5Q_LTMa*a51omLa*+o@%%aJ+>^a(XD8OZr=v zN`Zw!b@Fm{XwrCSv5HE;i!LlsDW_COK1vP_WXj7LlZ?$P=An3-+yd?RpkkA7hA9W>BxE+;w54_?UG3+h zmc&^6u9WRrMs{W$n%*#uB+7fm5_0NoR_qIS*7%u(R52~Q<~H(rGp)ST{{tW_PFS}M z=AY#r8DC=+0ybHfb7kkIBgOU2*WBszoKUh=Z2l85Zf!I@*;{5hyjyEeh=pqLQ+tSu zd-NQ}xzK-X{H(h+-Y88gsL`8WE9UB1SgoWT%%`NdL8?XZx{cB0q)f$rK~-DR zb(`cYtg6`Mu@eWE6-A#fKm(7b0x_&@eSu`%1F85FO8T`SYrd%VPs!6oR+(~#V) z*`P&)prV~EcseA=Fu&;}qZ8)B;GNxO;w+hXB^TU=I%eSyeqn}@GTE;Kk$mECWf`-0_Wg(0*f_XfAW%0`%-&-HTAwA5 z^P{z#NJN4}PgZ07KI52PTu&GB(OOve5RQz`sphYHhA&S>r>C~H+}BHNaOh-cuNy@) z8FSwbF3dg$z{IQ*7(Tb8hd}bwZ4!TOj%Vww#NnlcdGv zSI*ez8%c2kixcU785b_Q4T{u6zff@I(KH^+l9%o#$#&(P09AEciB`KBQ94uePrOon zs`d^!G4s$JQE!r4@li&;C6z(b6em1tH0s9sJ|zl`})FH;{vCu8%#>=v3_ zINq$`kR};wE@q*lL!e@&d=);4_p*3<&zo7^><_e|X{XwIc#`*S*8kipIFl>IY<$pX z{*_pmXJZ+;p*)uZw92*8xma=xf^w$cwzR`h??BZ-0#EWuC#N*qy?Ix|qjWaaIywrQ zU&Rm?;`Xz4>Ni_ph91tAi0S4ia;(Ydn8uAZFERxdoP+Z5qip(lVycnYnMHtG_sULi{~|^N^u!=jlZ9C^*_872K-(?ByR9ia(N^9aipZCN#Gg-U3uuPM_O zg~2B4O+J6yP%?qP(LmdkNflad8rY71rjisikT(C&XBfLx^o%T`DqK7p?Xykc&c6gt zJUYqN8nyvgX8mpH1~Zo5_}Si|tCH#E`pFb+xr)Q!YCgTRy(R%CQe)ShKQi@oL98KO@H@x3=8e*u5+h@L8qo8uTNmAbn>vBK_a zOvkpl>9$@q6w7pZYPmLN*Q7ZHxnWV8k5gGI^2RBXE`{P=rWWM5BIr<&DEao7jn>3k zagAZ*4WG*!B5Ni3NRBCdo5YcWB+JpfnUk4)j!qV737v%g)j=CqGyH4Z(I{f`DBpDF z^l8}-W9044uAbx$QJ|gXsFtz4=EIGQCFhkm`Q(xz?6axemIcNWHg&}4sYKE(z`$L` zZZ<6Y58T|O!D=4uCcAu+vk`0WV{^o<6IgW z+d;F;O}_)AZ@O~nrZO&NwsTnUs+ucBVMkonJ)Nsuw*KY;4DCVHg?hzrbVN&wtLRHsQeM!+2X#5b?5jLnS z7q6yrMZ*e{5#~&O1w;2kWnE!=9mu; zHl7?ABW0Xptwp}&JHP<7Mq7g*3^JhDH!6{q_cH;8nb(-tY`k1JDy9sz!fKJLSi1F= z6B-3M7zb)0&C4lxUUVCErkD>@zZ4?%W4p8TTSvB>l(yt&15-giDBJbpmQ&*A3i;tP zSt-cO?-u4iZqQO1Vzfn>rP5eZ-$B&kN52r14nvy~G{c3`@+Y~CMjDdX5%LVzG`Q_o zs;${+uK7`H(z3uC1)i{paeyK=KJyl>Eor&dnkH#o44lA{*M4?JhR3LFXf6p%pT}Bf~aQ8VaC%vgUqhO z8pOWglOvQ)Mo(#KnNc>(L&fBo0JN>OT*S2fp}i82A_Xbx*2(!3S$;&a+04HQ?M8nZ z&~VJ18BM!uS_5gNG2F)VrjFoWj90AJZ`YRI{|C}H?+@u3k^S5!KN4g%Ea@Crjl8#Y z0$Hv8*G(1XikGpHzFaC0!^aJ#y^LCe(B+?#*czEHdp<16(YZ{2&&HU|=J^dOn}uzM z)w9tU7 z4KbPD0<;$TM;>)1R9&JY|4wk0CUFnWMM*F-+ph?lxel2^8)utYz`HZ1w51`No`nks z{Vm`&|DcbEzAhEWCcTW6E?+ab8TRi-^Hc5mNvq`?dgs(h?#O@8R`OqMDa=g$>k!V2 z7Gn8Q#KgNu)c=gUUl0r1e0dGeYy_#{G+zxrnp!9()g*G$0OA|s@i72|a7uunaHPtt zj^m4Fa85i;Ai`nVD&({T8BC8{)&D1>3jLHb^cXj5za(ZGBgR7t7J;uvq&er#8`+$h zTk3mSS$8=oViRX~?zFiz-lDYh`!xvT%iLbC+PdK6g^S`zvYE5y&RR5U$jQ*sGfgQQ z)vXBOmv(3>$n}>kOS_tDxrNC)r+jzA5dO;=+P*=7;PZc2I(TujP_}$W7-hf3Lfii- zxtQfx<$_4Rf_JeLysRldDnHz-h+7R?% z(9#)ouCMch@%+|nap@S(5iQC~lhm`Y3to^RG0HqdVf@X|_)7wmpo?|`<~V?->gbDs zU>0M(zB9eA;R3$bj-exW(%+Pb>%ijSqgbsOqIzy5yEQpyPK(K{Y#EK4w$%o%{R`7$ z@TN-{ww{YO;bpp+km$=ODKFB%rgN8h$;#LhVN3t2Ik`}Kfi|%E3GHyXZBn8*CTz?& z6K(1R;giB{B$ZgLshw}?205h(qR^>6TI_QPwu}iJks2VhbajI0T=ix>Mo#=D)5-IuW7ah-BTO@z z35^T*PJn5FI-+mAFLfl|p9)#^8mGh$QrR97;y3q^0Vii_9bshOEv0h(-KM=!3oNq5 z6zNA)O}KJVmvtgZLTe>?()}+xL+Q8j*b1Bv>2(@1n|<7tpBA3$tP^OlOzb4fy#_|j z(O4piA9vTUW{Xst&lpD{@*j`;VuL z(y>*(!8+E%=rlA%&K8cN-I>8Wf#=qw9~JQdWJ?sfRn}2#P8QoUX_WojqU3E(KE%x61&>IPHv`CJ|JZ2r~{_WPGDt0=So zpZ3ljH;Nz#!y9u7guD`gwbB9+36e>WED<9SAj?K#B@jqH0tfIB5GNoYB;_K$3Ey9j zp6Z#w-nG||IN>on(>>E&{nuZQ?wSJ8>pZ0+ebXnbIYh|KWqcj}5rHPuBG(}#+9z;9 zg7vGIOctyBX{7XcD{;56@X!_;9P0bL>qu0Y0|oS#5{;FG*h53EZc7UZ^i`%>dF_0E zOWnEgc8LA7GG#TzLNEl^GXG(LfJ139{>^12PT1HpZLv`y_BMa`e9}mdtSrwjW^ac4 zn0ZRs<9D_@D31uiK*<^iL$jB^zGa;+k2ljArQI>o4MJ3mB!A~tQO(_sDRD%*(WA#q zKQ%N8(uC+0U~=m`iuiO}Ew6q~f{$apK91W=Iv@NsPAmCtKIe}3Ok%>hPdb3seCAbG z;EH(hko^cOE!C^~$<(1o$3X9F%K<(+&g7Q6YuUclR69C+>PLHChoq)ee94dAvH{<~ zR^c+yQX}QAjM~@rue3vpj#Wq#eUjLr$*0U-m*3Z^VauG*DkNR0yUUb#etBt?*_=x^ zu%5`am&1bA@;EDY9Yc`@w~tkN%&8u34pLPlN$HEji5tecyNtDI8y`7p1{i_WTx2Gz zG*Xk16djIs7ezg*sl zVNDdf&CF(--TRKK%PU6J$bkz#iYk|PV?|oH#ZYll9lvVsbpRbp+GaZQf+CMLhkKuG zZMzg;4mg1dKm9AgNFoc%O?ltA*TiYv=oV_ z(HM^&nF<`lR^3f2(K{|LpIUD(txOs=4A!v0*!#l=%V!7YyD1JEz|^pw*J5AKZf1|G z8e-t{X6%}4&WA)iCfHR@t+f{O>zbd)^mjyp^#}3>c^&Ik9w5eA-}`n=1fA?Ow4=7a z_%O`j-B*}`pJ4R~jPWw}Emc)5qC7uN7Jf5H5n=Sr9=XCS?Nwwi$F>)2@q*<=lq9Sp!Fus8q_4=Fz=tJi4 zC)5q}4#TMYS_Y1*A~TLn7NLn?+?{t|Ushhq*4?5U?3aOx%^9R3Cp(}ga}4m-SJflO$E(_N(Ebtn*tgC{RI%^4JTMC6q;_R#qtdE9xJK4;)N{h zJ=lH3t?LzGte`e`My|*0td%EPA7b>T&;0&cc2};Wgl21W*Rr*z?CXg%nbm61|1T4p W0A7B%VwcgeyH?N}*ZGjO(ftn%vA>1@ diff --git a/locale/vi_VN/LC_MESSAGES/statusnet.po b/locale/vi_VN/LC_MESSAGES/statusnet.po index 0b9477a6ac..595004d8a1 100644 --- a/locale/vi_VN/LC_MESSAGES/statusnet.po +++ b/locale/vi_VN/LC_MESSAGES/statusnet.po @@ -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/statusnet.mo b/locale/zh_CN/LC_MESSAGES/statusnet.mo index 2d380582a0a46f742953fb5267f745dfae8b75e7..a7a79f40ce9462491a7f268608fa0ae7ad035c47 100644 GIT binary patch delta 17095 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 F{tw6@Kwba< delta 24813 zcmaLf37k#!%?78-R?T|e?C0kt~Yf+>q zDV3!pW{iZ2HYxwt`+hzneINh-|2%#l&(C%~`#I;T@2_z`<;Xmp)BkO;oC_VUDLEXc zJa*=f{W%?HOmpQrPV!TZQwoP-VVsWPxCFc4LClSzogJq!7RLhE5$j+Ntceq_5^lEX zg_oXjoCsWm{GW4#Kh$B#u8z|NTcSGhV+q`WdGI6aDJ)6) zEEd6^u?mJf>o|ol95tcF7)Jk2XCj(;f6R+7p>CXl8qgvvif>{*JdDNgg!MaA{aZGj zvzw_`3e{m{REPCZ^*W&1?TrQK-$^CnMZYarg__wORlt*&AJ3zf`U+OZ8`uI%MmkPB zc14x%x9Rs$E7_pC@Xtx)|WSW};8{ng+|GStB&yxMfC7{YzpjLJ}*1`|`M6@(NVM(m; zf@!!hYHNCgmW3c+}1nk}e-T9Jn6#ilmDCu#|!P#wggR%$qEh7+(1F2u694NK!k_y}IY@>r?A z*27d@~lNf9Dtx&EO2`uv`unIL?o#=k_jY&x;Q*4Ohcvq@Td~~VinQ}s3o0;UVI&O7(cS! zM72{q)^yYqwW80WR%R$_#pa-21#5}uhQqcX12ywISPhE}3cjnI7N{*szy`P&wM8Fc z1-yZpaltr~u7MhGdsO>zsK#>TxbS#I#o&b=X^?7Y7Yt{WY@bWaPs)P$PUB)$tdo4u8f_ z`~%f-?syIymO;(94QfUDVF8?H^OvKZhTW(MoWi`Ag&OeBej?h790_KrN@FL|kDxl7 zg4*i^m#-mn#}GV&8u)n(#qTjc{-iYh zJAV<;4f#^dVJnFmKm}`4)C`_MjeH=g<6)?ok47~($>z_s`3q2ocm=BcJ*WX3MK7L4 zzee~Q5jF59Y9(@}IZiYd!3a#lUbq(P;$3WlwbD&P{c#NG@u->pgX%EnFf;I?sKZwS zwUUvjt@00J{q+KxV=Hb&r9VL3kb%4soFc=`){H_uPA_8#+>BbOLs$~eVKMy0nrnoq zUmCsSH^k}~iCT%#BUt~UM5dFW)42@Qz&ogs9><3G2kJdgd!+fEH^d^O2cYgt#l1Km zRjLEBlFP4b8 zKf^G*j@nbtSo1@r2tG>sVXT8AumY|}4g4_Xp?~M3i8x=Qmg+k!g?F$87GsMvz|N@C zpN6Gz5~{-$SP3`dG(3)a410_-?~^g8kJLESW4aFYe%Xoz^!%SBq7j`(Jq1^7`ZlVf zXT15|S4GXZ4{FPXV@(`~I;@+pEuKal&a!N{23{Yv1-&o?2cxzs0fWzfDiO_mJZg!T zp=P=r)zG`Bv+yOVq3^A?QT1|9G+R^>%aX2uI-Jc>_jSbJil8Ps26f1%qrVD~d=GWs4a|xEp!&%%#oS*4)n2VB z?0w1 zLdQ@8{=!d0GyWbmQxY|UDyXGyh!wFFHpYHf8(q{u52Ci_2x_3`Q1{(H z&G;|$V(uBn>PS7m(}9R8_Ca+x$T|Ym(KOTw?Z>=$95vw6Hvb%I=0BhY@`p{|Lmkr4 znPx)an4fe5R6i{-ub%(TM5>d~!xp@Rl}XRWYPb#c+<$4ye?cvI$Sl)g8B|AJ)IgeB z+uQu^sDa0$mOLH9aSGO;e`hn1rg$1Pvx2kDkI7GpgYi zP#s32%7r<>i9B-;*Y46xr5r8 zqA#0MUJ8}2gN3jm=D^md4%=Zte9oq$QSGFm&elxSW4^^tL?e3(i{U%i8IR*AEaRHL z4=g|qv~vM9^T7*@lTaPLifV8h>IJj|^(sGw#qn3vK=Us&6Dxyi$6uXDJtD194Gl%z zI01F)*JE>h4|PcIU?XhsiaEtTREIOMH@xk4L zV+U$P7g2lo7iva%7MqR=qRJbh8tjaEIucP6ScJ9lC~8G-q1wHJ^|AUA^ZfV1(xjs? zpPv6QM1s#FmZV@a>P2xFwIZLO26O>S;WaFQIhNX`L@jZ3RQ;BydRZPCtG#qQ;M68NiQ7du^tKnZZzshp6 zW$jS|ABB3F=3(%k|7|CtJ^upB;qRy=4qIU=HbK4nd!Y6@4b{QR*bv`AE&Y$y(yyA2 zOk32}JcoMzr&!-cP3-cktbY?C_sGzmG+AkGcpB@H9*aA1Gpd8=RU90giw&^$YO}|E zQT1nFE8LAW@eeG6Ro0jlYKb}v{jKxY_|1$D*$UsH8V*@&Y>c{LAZkk%VO7k)rkHP? znc3qQPdW)-#PhfhTdp?)`V$`~-C~1Txlvf2^lCqmDnt%oMZAb!bT*p5VpYZtBzvMB zn^mYo`Z|W-yQl#k#`Aa^wW6QB##iX zAySZn!Kj9Zqn_Vcs4ZECp?DazQlFtZ`W`Fe&sYt^wwi%FjJZkoz)XC>=0CB`+}{tG zxs!ws(Z92eh!?*=?e(vy1|QpQ{*kE)=Gx+1QRc-Cv^yQ0Q%Q z%G=>%q~~L8Jc-@#F4n|nb~?^D9EtVt4tBv>yI6nSFk+Ya<+Bde@iFw`b!>u#cAF8m zMdc4cH9QMv;!f0kZQd~}G!Ruj0UyTAs2N{Dt$3k5rrl-dnY}8(Ez>>HVwFM_ohw4WxhIRIt6>5bqksgLc@wPShepAn1nn-a9YGW8aj_RPh ztq_B{aX1#i={CI-bCceTno$6C7|)~5N*3nD-!T_D2h4zTV+oQKkaEA%h)8b_uSzUK z!7B&N0Jh_^q~Em`d)G7+gLTOtjOuVP>g=pTot00qJl;jMSLQwQv^2s$>8Cep#Ul?( zKc7P)ZOK@TUd%*2UU}X()``M^~4Vm{K1P)qeFYUv|U9mSv;OheV1YMqa2XBlb$JFM?nKS3|~=dcpq zMZX#_qx~48_7nSq-d!+L9?a4tL;0Z1SNw)bC(R(ig22 zkC`7jeU7pITG~xyRKtVTOw>$5KjL3BVKwVCe2MfASP=((Y|>LvE0ycGu^d(=-2nBJ zM54~ZV9bq^P-kbR{$Y_a7TJPVt?N-U+>E+$52~RrupnN;7Wjv?;R(}DJZd7TsHb2l z=EK)9KL$|!9k71jw-t_~8vfFzFWK~U)Johz4J7Ona~A4iIO)f%F<6)M3{*S2tskIP z>J(~4ezy5xpPIDaOGHc82KBi0!kV}VJK-1BN+(VJVAPf^K+WWJEQH%pXXzk5gr{&h z{*I$?!DnV5g-@9ki7@(|=0r5&HdqIr!NNEO)xj*Ac2V`#q6WO(dIZaoK95?d-?0%E z`P|fNYkeNoUNTn2;aFPF|1u)w$k<^koWx?Jze08RgY|c7&M!=UQB;Q&t<7wHS8HF? zKnL6OIMf-KjT*>eB47C$Kj|gZhe;ZSL9hT)L;~9CgW`SHPop-it6}RRKumtnU3nB z^4r_=AS_3EJgU7F)_tgY=dc|9Z7p-2^{+)nlk=vaKdOT9p!kx(LQY=!Np8xPy`N$Vx7Nd9lAJudN` zd0Zn<4fjEnC!#u-jmqDKn&}}7o(WX`U8EiM|Dw5}2CCsssD`3ZOFqG-H`?+eHva;u z!JOZl`ejio(E@c}4^&5^tg}%QTZP)fEm%&^|9&EB=nRJ8P1MrnxMUj0k9w>spz^Du z8j3(I^&_bJd!RZTVjXLpZ_C%&^d9R8N&n7wHscm*xbC% zDC>AsJJV1DT8&zvE%*@bLEU!&HLx4jKQdVVC^AAa%^t>Jd(sn8Gye!{;B~BwC9jy3 zX^v`WENU;OVR>AP>hNvrS=7Mp*>veFGtoy;XRK=$>#w~_BBKRP#!`3?E8$nDGx0lC zzyeoI{hFv1Yh~?*UeZ3ShEq^4t}V9w9IBlgsE$K^FaxjbC!&l7)~=YFbP_hgVW=5y zLUp(Y-@p^721i~q1D%apfh{-|KSH(B@kcYEuBh}Ntbs{3?O#l!AQ>xd#%63nI)F9t zDi*-7>!w~MR6})8k6R;~e#VwRhk6l3qqbrc*2R@JeFEo`{sr^v`JZ&d9JaZrhF4)h z+=$xq9jKXqX}yZtvb)#-i{0e61GdHLI2BdC4b{#Em=8}`&!YyOiNSyWAM%s=-|5xq3)lD8u%)kK4|^a=3hXy^AGC&;=i*0 zinRRIbQptr%!XSR+WY|OEF8fSn1ve1Kd6oi{AOlW4t0NHYd0)OIvI7}R8;*Hs0nWQ z%|8F{+6rHymgq-YA=mHb#?q)8BW(IHY)ZPjP0vIv`D&Y9kLqAAs=ZH8hwcjMn~~!W zV+B7E6*NOFT_l#q6q`R2n~>g!I!xbSV=VNiS;8k!D=`E$!x5;%HpjZymanmHv+hHk zE&nkaIcW>NLXG^g^>@_3^4~E7t%)jcho!L>s-dA+5=U6)qE>8!btkIc5!66WAQSgH zmx!prd#I5Y`^&uf%3Hgl&d4NG1Di1n1JvYt_ zmU#T8;caB7!=1LmVN{2oqdGWi^RL_dziocb5Rao5Qz_K_El~Hhx9Kj{=TVPuEJovE zRK2@?TOmgdvou9e1vOD4tZ&opQ5|$a&FFbs9)p_MDC-RCQq;gUq1roc{T$WKS?rGf zD?~;RX_?bxyp1bK=g(zkz6sUAe(MQTgWq6nyo~CoNN&?`Lu)H*XVePz#zq)#^H(AF z`<*RBv@~Z>uhjf`Ou9Adh7?o>8>}DV^Q3>U>2`TN!GF^ciyBY>HNXqjOw<6bqrRd} zJ~N?k4F3DSCPZ{YE7XgoJyyg-)Bt9qo|5;l72ZTWuJ!Vp`<_QVW>KhtzGU-P+WZYR zeaMy{Lv7(T<@<^JYBTOya~CipEMoPd23Q~UB5H=(!}h4hDbgB`syEp>3$=BwO|P|X z!hYnxiTeLJaEcT(OB0QyNKZpGvl3II8HBoTl69^1 zko96H&%c(;DP$^Ev9?Av&>yvTV^B*z7qy3bP-o==s$R*$p5VWTY-sga7o(n{k5L1^ zh-&W+s-4gxJpU?aSi}?jmqbsY(z~%Ieuk=8v#9ZDYpQiI>f5m&!||duPcf6Oi@HD3 zrbnQ@6|Y+N`iW=;U!#7P-$uP+D}7n_ouZ{2{V8M zREI8VCAOm`cm#E*{TFN`w4}%BO2#9oy`P0zDi`(3W&_s4O?U>+q8_&$rOZlwhdL|G zOM8NU>1>BOtX-@xSchOy@<(A=J^!b?Ose>^@*dWFruiCW1*<;?&~pwi(sT?b3(`EN-?4Ru2`Jk(Ygs|uv&p#C3_SHIc>@O+Q^xFSaD~>y5XTi2NAU;4RcZ?w|&i zr;>SNRYNsYAJsu;n;w9=Z!GG}Ot$%ptvgWdpS0;eupjB-UY>u=EY)i|dIhz|Z(|cY zYW*Aao@i9ryr6oZW}1LHoKsK(nt^)UR-s{`$GBZv`4P*uC@O@+R^M#xH8~BN6 zX}Va`Q8Qg(D;z}Kcn%j}o@!>G%TY7li@N_a>!0W)UAekxrw!_hBDl(?-$bp@`>2(-jsCpYv?}II<0q?iv=g~vj!+~M! z_Tu^L6vFb^WL4rT30v-0Fa=||X$5(^2q!4l^%wDtggCvFvLak&8CniMz6|dc?awkj~EEN8SD;j^kch{T#In z7YO}HXAve4=R4s%LbyhGO~NCD;1$9<_`yprZJvAQ5`KU@A;GH^owp`d33J<Uy<_9Y@HPABb4PNw547M@;Z0IP~QOOD-xxs_yUHL*$Q>dAaA{Gpb+_Y zZTwTp>yoZd`Vip&bvp(dW({KeniH`4khbuJTrC4H+7mGtQwz)jDS z*?`QS2+tFC6Y3JWQC^i$*PR~`=I=u-UAOUB!WwE6B@80ok^G3^uBOHbt) z!b}41QRj1a!GS$uyhLG2mrebXKapb*Cc`e*b*(j`pi^+S2_%-53i96IUNSc369J~q< z*YzAms+>#zpDUl}@NOZ}h8y%6%)UbH4QHu5%y#}ad0A9wNnRCOuKEeKe4K5#n=Ly| z*){TR;!mo`)sIk_@@n>;Z~1^Zzmw6If+R9ea09;?gYRtJ5KdVa@`sbhE1bW#DVHxE z^83R1l=8(U%bAD=ZTx%kdlGbwCfp(Z828NOo+n6eBu&@Ot9m?75+1zD*c(ry*A~>o zXzD#>%ZB22q}vki5Drt$Pr=~-h%7+a3v~9s*AmKGlD~?AABaCn+`p7WV}g&+)85pb z2Bwfsppve=q#q})-*w**JfyR)9S_8n_ayaxBJ`oH(YC$wq(35bB%~5_MQ~r&94tav zTghbe9-%^#t)#pnRNO;4=L2~QiRUFh!QS*R>G`B5k?usuLs~ydv#)kU4pXixnX)nT z**chJ6DE>aKxTkKeKM~SzfQ<$Z}^h9zSX@+^Zj>zA@s0iY4|Q>?~$h;kBzY*;d8OM(dohe&r?{BX|plcbKPgD4qEik#f!ikI^zf5)pK1N+#N!0B}I7NIQ zc}kr^Wf81lRRDifmH56hW^d;7x)}uh%Gc#I5d=%Anysv z29x=r?Vtg9ainjOU!A-fq_c1VVH>F_Z>N5eAuJCl`5Z3A(P}PU=P2w4ZwVFC&a2uNUEO>O6^wgcj6^%fb44 zNhDKAS8bd`*l3bYqRrQ@+J~vP2j9mzwgXlBl<(t>Q>EsFd8C^Y{!s%2 z{jFoG3b`7PpWD{IgtKhCD5evJQKz_Vw;1UUN%zDzFo(^5Hhcfc3tlA|)pK@~5#+o< z#g_xTZq+<5ia-`apE6S_B{F12_uNlu;s&v4w!F|}9Fo`gQI-lSXOvFsQOt?jSAZ<)0?BJe71YNIFmVJd0`G#}`;Uo3` zA{he-?YKDy;UEQ7XkaaQ{YWn&ID|u>tC7-Nov<%;pTT^DZRBktEFje9{tM&{CVWlM zwU)X!i1#*0XFuuf`u!J4qhzu@^_NXPkgoZKOY6vNVLX}DOg9|R>Dc*6Uo1hQIwq} zPuEWJo+4czb?q_)|2%K&jK?`PUXqf6)NhJi$$J_nV=?mlLun)rk@mJRwGvGzN1iU% z;OwTnCGlw6sIniTPFvCkDQiOfee$-Eu4V6?Nqi6Cm@32VNZ%Kqu zu!w?v#NWgiTPd9MV+36V2<51EG9>sHZ&H1^JCmFcTU)hs4JVun##kR)c7wD_d;nns z_hetEh)*N0ovk;Afc!Di|iOEzV{~N+Q%DUjkgaee%ApI>Cw`==j_Fw!flW~>87C03jBAl`f z&a?I;Zw2v%_%K1&)1<4}@-&m>bRb=rP|l{?U;)}a!XR`NCO&}pQo>lhJA0Aw;MI=w z69gX>M%bIWQ(-dk$~HZb4t^)^D4tV3@zKQB;c;7Mf^GLD^0Kcli2RzJka~C3p<;d< zZf{WjqlBY`HZ<0ZhLedGB>pn?pk5u+Ri5~JlxJVFh>R!iDe5jGzYpn;Z217m%~{tQp6dSmc)xaPXkbd5FEJ*y zjyE|f*5?h6al%u*1EYo|r7#R{Vp3XMv@iAlmUsUK_r=z+g$F0aCHi8_Xw~|m){nYB zwJu*FHGM#8bV^)uT3k|Mu$c!l+<#gRDjEJj*VR+K$tg(#Xg}ce^H^{(0?KgVd^bS*V4ovf|>jKPMaX!Lwntf&Mk}I z9})j)8jVnc3zY3L#pCrQ(0mFC3FlDd>(V)0wZ;CIPJKbB|#+BAi1Uq3HwDrLQq%9c~`DBTNq+uKhM(|*v zyE3v-$rN822Z7S$^a1g4(X5Hit$QT0L;EOlAKbPG=ZU2B_!zB|H&umcQL(B2$>gw_ zZvP!(L?ER58Bgf_HP;~AV?Cnt-EYCI{M^u7!Q0$P&qd^qO3Z#p0-K&|!q>g6kB1=p zNM@&kt7|rlEFHB0jAxL~_Rmw7mXyqNSd#{g>j(ES_1}s-Q7Ngu_<_MEN(t}(v&_BM zvt0gQ2f?%KmhROvJT5i(pxl34oVM9H4-Csq=v8%XLa&gp6d$Xv=TpNAp4N!Kz~_@a zwK?uF=2)sUJ}EXS!eP;qQp}&`Oq)5nXZi&4#&Zs}=I*o?DuvniLsFutrk97i`h`O| zQj!wfsJ^jzvd_|cebaNtCv#>hyN&v_4egMW;L`*DFb5%jU|7GgA%SE4TZQDK*@uHK zD)-)i=-fOsJhtxks8a4z(fNyO&r%Ej@}HGGvy=uLb70MzluX>&)q6Wvxez|yH^x%q~;@+r~*z^RSz6DPwdE;V)dv8n`cju7u?vWwQ3!9zyvPfyv zs_fnw(x4mxt~7lgI<^h=mt8$L;9x;q zOrUH0)1I8nB*I;o(5HB!j}fKu-Qx8X6(4+iM7Y-zj)(e^l9^lZ#PE7~Bk{Z91No)} zJ519t)J%K${TEg-Euc1)hs&DM}fA97nFJ4k0$xc@tOIb)%*7g(>i%f;ML?@ zo?Ns_i_3x6b$DafvK~K1@l8?#T4E4WeSb(eX*?F-}+W3Qmhl@Wu04 z{onMzoxh(xG#6*Wn-+)|7V2@m!#}E*93K~)Ds#GD&*|n%jvs0M)N~(wJ6##RIk$O- zxG#>32#xvo6&K+ROdXNv>CM55iAovi)vLvu7&R;|HaKJ_lJ{}6&V@bQWF*D}|L|6M zyb6c%{!p@C`Vpoy${Q2M2P@6(y0}E=|7O|s&dy8-K4HG>qO zr1|wSz!&3|8oRr!)158isTO9Z6btrzdhEe`d#QdW$EE4JqS>&^2|jnhtY>OzjDzf_!pjpIe8(jX{PzW`%-|Q+JvXZY zVPx@coxQ1pl2UkAX#%u1EH2tD;H&6H&aUouo1LET{tqJe!0ecOdaruZMkf2*GII`> z=htXbf;pcWh|?qS-v>2ta?XtqchUSO^YBY7_+9#Xe#?Tv4=L{xRw}~H|MIhL{LA5i z)R!yr6VW{z@Gi*VDH&ydDS3kf=iO&sIwcl1s-mw5r|RFgMDTSGd=J_;W1!8#HJ-qp zSDJXrCdVg51v^UdCbO7HiM$QXk2m-7qV|D&i~D*?4btzS0X|3;ZX?>hXgM922uzoJ~(JL&TNRT*=)UEaGsbLINX z=?602*_kzd!Iizs-AXH)1!}K672iv)-_ibPtF=Q*^OUYwoK;qahc1fn>^>iggbfd0Qb8!Io*cumMO>}FYnoN z`QYlz@!Qvrkf?MF5a8DWlh$$^;Z_WmN{)##=J#0_pJ;(^hQ08n|Je5?zeB$axZQu zUed`}wzctW%^H5JQnw~zJAODUz3C7$HxAZD?zfH&VVLEW! z@jsLbG}zkIlRN9}Ntv%KarU9!%so!e|jg~AVJTpBkaFmT5dPoaVK zuRvxr?zy*P-D*3>D>|``OUr6!&9rfyWXwojy+V*opY#~8@S&1$*U8_Wo_G~)d_BbrkSyRf5zOIOfzfz z(u{f2oQ$m#vkuP7T0QIk_q+CoL(__6zO|ae?d=pbfWO4?bIeUV{BA|_MBM+Wo3)>3 zYG-EPwTvmVvbK$P>%QM0_vM2tGPW#s`@UbwU3IgmoA!R=f|vKt=J=V}x*OkbUdptc zb#MvKhS&VW)#|#1_LnZmLwaS&-i-YV$#K7ZKQn)4?ZC1FtgL(ZgTxa5-n)0d**aAm z_+cZr!I8Pef?(aGO0l(>)Ghf$w%v+zaa7tj| z(Ly1CNyplH+|=VG-48!%SJ?EHx%llX8@H>Uf*&`_J7sdl)^~318}B~y@r!QC#}B(@ zkGBb|{CJS3VCI%}rc+h@`*>Q8jCmW}&=aNHp(if5cTbdeyMB@pruWaZ?M~+MP5;ib z!KdXy&14u;@DM-sX=S(fr;FXQpB{A+PF{2WJXy%?^;vYG|31?0p3mClW2*M1e?DvD zZa7uUZFOpPVWw-IE~d--$Nl(JIr}nUCESct@qtpG7xLt`PuAY!mGfq=r(5}pA^&}A z&HSRN``Q;x3TwKG=H}H`SHE-RjU^e|_GL}m^*G|UV`B%q{Hw*kfiTV37=DuOhlbukLGwJTdGmYHMXZE`7&JK55ovq^T zJA0r^#%en_|=MSKnO7 z#RHh?b=Q8oD`d+$x5N1=f!-IkdfeU@%DV{{tGJIHE&71zZjW=-0+%k9^SEce54T~G z+w4*`LJRk)OU1Cbn|#R|NWIiKM__(t?T~_3#?Q*!zT?VU2eM|q>F&+)x}B~TcF$!! zn>%CMlq;*oyH&4tbidCk=Eh$g=N`BkK^Rb*-|tuUy?$lomdxd|GiI#L+Bx~^!hx3o!p9=D7wi>_?mP*VrA(htqt>Ob_)#|GF%8}-8g_u}uB-19%I3&dU95aM3B zUaz3p^o$v=UEaUkEpekMAKrgIXlm!N8(rKUH!1{X-RR`unO|2qWBZh>4dXMn@4o!b zWcyk_xFmDMYO~O~w1bV*vSr?&oni&4o(d;|E0Lc z-Tg~R_u*UZ0zGea@D$6~^;XuJH_Us^d|ljSw`;n~Z};PiqMhXps`GvMcD>4(6J9g# iQ1hH+PM@t8Yw(*+Ert=eeEWQe8~D9T{`=ot=l=i^8r5e2 diff --git a/locale/zh_CN/LC_MESSAGES/statusnet.po b/locale/zh_CN/LC_MESSAGES/statusnet.po index 5d285122de..28188fce37 100644 --- a/locale/zh_CN/LC_MESSAGES/statusnet.po +++ b/locale/zh_CN/LC_MESSAGES/statusnet.po @@ -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/statusnet.mo b/locale/zh_TW/LC_MESSAGES/statusnet.mo index 5b23372fb21b1f942103a2fdbc027d068af0f1a8..e13548831956295cbb3fe49e04b1f5363762b4e6 100644 GIT binary patch delta 1227 zcmXZbOGwmF6vy#X$k60~R)&wv(oxH%hRRJz3rUOY1!+wtm`NnLF=ECjjsBnu>0z}9 zT(k&#Y$}|{h@uAu(d?vc5IqPaidxhn34*>q|7Z2N=iGb#_uTvc|8I3(?|kq&FG$TZ zYhP|wY-ZUCvkuH*Emo~CYr+;R!ckm=H!&X{;ZdAIt*>554er85?88FL;zpdpF8qxV zY^$_jZqQK~Cb}`k#Bq=NJwA(S@I02`I7aa~F2*;gx_4NOGal#Djpj>m2otDv6Bx&5 zRe>3Yw~r*2;y+YpOPE#1WvCPHLFKzp59skY?eTy+f(6W9^ZDDT=ic-AS6E6sjmz+B zz<}GfJld9VT#s9^1kVZ!@KkfO?p8tz#w6G@JpcvI~J*ut|Sz;;Fx?qq& z9fKjP$NQ*)PpF1|cpR$@<5DDLn@}e>jH(+zH9Uc;%V9Ilc$`=jZoCsUe*&ow>@tH5 zB<_X@d+!ToQJogA4m;n1Dr`kHcoMbYIn*~XhWbb!;(p9w1j{)cpM%9w@iuoi#@OH5 z80bMqP*-%uy@LCQ@3?V~fe&O*KpZ|s`jIIq&T7yyI2DjPWi}YaasOJr%UeN{jCF-ERFlb<~U|o2! zCe+8)=5Y_kh)CU3+=O;r8+;Y_Vx}+uN7Hsy!c2ol? h)Nj}8`9b&MWN&o5Xkj|jo#{^}`;KKM%PU3-{{v+reh2^n delta 1235 zcmXZbOGwmF6vy#XlrS}v+Ju(mW3q>i4%zH#W91@xk!24Qr)Ue2N(yM~$y3H;dy|tjD96kE6I8$8i__!8~lK zu;71VPeqvMz$hIDJU-#^8B~E6aX#L~2##SPzD3P@kCiy-@f@mAe>wJH3N>y77vjr! zV8-F?6N$MvovbP=K~)?_op_t)_n{W(^0?RIKKBC7rvIk*-$$)G?EP#!JmQ75?K@g3BH&pkik`7fTIx+pwAF=~S{RKY7z^VT9mEsZ*8&`+a^ z#(7NPW7LGtsDgfa9ODBku0T>&kJ_LeHLnj<@Ca&L4jXXNYO;SS8LVtyp0u+jY1*+u4&n(tT)eXL~Z!HXJKGm;Vof1cC\n" +"Last-Translator: Evan Prodromou \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -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 From 1ee7d0ab55aa5e270a5087c939339b662aefbd9e Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 25 Aug 2009 18:40:12 -0400 Subject: [PATCH 048/134] update Laconica to StatusNet in js code --- js/facebookapp.js | 4 ++-- js/userdesign.go.js | 8 ++++---- js/util.js | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) 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/userdesign.go.js b/js/userdesign.go.js index c53569beab..18f72f96a4 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) { diff --git a/js/util.js b/js/util.js index f09ce838c4..2165957c3b 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 From 865b716f0919b6e5133133cd6be53f4143660324 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 25 Aug 2009 18:42:34 -0400 Subject: [PATCH 049/134] change LACONICA to STATUSNET --- actions/accesstoken.php | 2 +- actions/all.php | 2 +- actions/allrss.php | 2 +- actions/api.php | 2 +- actions/attachment.php | 2 +- actions/attachment_ajax.php | 2 +- actions/attachment_thumbnail.php | 2 +- actions/avatarbynickname.php | 2 +- actions/avatarsettings.php | 2 +- actions/block.php | 2 +- actions/blockedfromgroup.php | 2 +- actions/confirmaddress.php | 2 +- actions/conversation.php | 2 +- actions/deletenotice.php | 2 +- actions/disfavor.php | 2 +- actions/doc.php | 2 +- actions/editgroup.php | 2 +- actions/emailsettings.php | 2 +- actions/facebookhome.php | 2 +- actions/facebookinvite.php | 2 +- actions/facebooklogin.php | 2 +- actions/facebookremove.php | 2 +- actions/facebooksettings.php | 2 +- actions/favor.php | 2 +- actions/favorited.php | 2 +- actions/favoritesrss.php | 2 +- actions/featured.php | 2 +- actions/file.php | 2 +- actions/finishaddopenid.php | 2 +- actions/finishopenidlogin.php | 2 +- actions/finishremotesubscribe.php | 4 ++-- actions/foaf.php | 2 +- actions/groupblock.php | 2 +- actions/groupbyid.php | 2 +- actions/groupdesignsettings.php | 2 +- actions/grouplogo.php | 2 +- actions/groupmembers.php | 2 +- actions/grouprss.php | 2 +- actions/groups.php | 2 +- actions/groupsearch.php | 2 +- actions/groupunblock.php | 2 +- actions/imsettings.php | 2 +- actions/inbox.php | 2 +- actions/invite.php | 2 +- actions/joingroup.php | 2 +- actions/leavegroup.php | 2 +- actions/login.php | 2 +- actions/logout.php | 2 +- actions/makeadmin.php | 2 +- actions/microsummary.php | 2 +- actions/newgroup.php | 2 +- actions/newmessage.php | 2 +- actions/newnotice.php | 2 +- actions/noticesearch.php | 2 +- actions/noticesearchrss.php | 2 +- actions/nudge.php | 2 +- actions/oembed.php | 2 +- actions/openidlogin.php | 2 +- actions/openidsettings.php | 2 +- actions/opensearch.php | 2 +- actions/othersettings.php | 2 +- actions/outbox.php | 2 +- actions/passwordsettings.php | 2 +- actions/peoplesearch.php | 2 +- actions/peopletag.php | 2 +- actions/postnotice.php | 2 +- actions/profilesettings.php | 2 +- actions/public.php | 2 +- actions/publicrss.php | 2 +- actions/publictagcloud.php | 2 +- actions/publicxrds.php | 2 +- actions/recoverpassword.php | 2 +- actions/register.php | 2 +- actions/remotesubscribe.php | 4 ++-- actions/replies.php | 2 +- actions/repliesrss.php | 2 +- actions/requesttoken.php | 2 +- actions/showfavorites.php | 2 +- actions/showgroup.php | 2 +- actions/showmessage.php | 2 +- actions/shownotice.php | 2 +- actions/showstream.php | 2 +- actions/smssettings.php | 2 +- actions/subedit.php | 2 +- actions/subscribe.php | 2 +- actions/subscribers.php | 2 +- actions/subscriptions.php | 4 ++-- actions/sup.php | 2 +- actions/tag.php | 2 +- actions/tagother.php | 2 +- actions/tagrss.php | 2 +- actions/twitapiaccount.php | 2 +- actions/twitapiblocks.php | 2 +- actions/twitapidirect_messages.php | 2 +- actions/twitapifavorites.php | 2 +- actions/twitapifriendships.php | 2 +- actions/twitapigroups.php | 2 +- actions/twitapihelp.php | 2 +- actions/twitapinotifications.php | 2 +- actions/twitapisearchatom.php | 2 +- actions/twitapisearchjson.php | 2 +- actions/twitapistatuses.php | 2 +- actions/twitapistatusnet.php | 6 +++--- actions/twitapitags.php | 2 +- actions/twitapitrends.php | 2 +- actions/twitapiusers.php | 2 +- actions/twitterauthorization.php | 2 +- actions/twittersettings.php | 2 +- actions/unblock.php | 2 +- actions/unsubscribe.php | 2 +- actions/updateprofile.php | 2 +- actions/userauthorization.php | 2 +- actions/userbyid.php | 2 +- actions/userdesignsettings.php | 2 +- actions/usergroups.php | 2 +- actions/userrss.php | 2 +- actions/xrds.php | 2 +- classes/Design.php | 2 +- classes/File.php | 2 +- classes/File_oembed.php | 2 +- classes/File_redirection.php | 2 +- classes/File_thumbnail.php | 2 +- classes/File_to_post.php | 2 +- classes/Group_alias.php | 2 +- classes/Group_block.php | 2 +- classes/Memcached_DataObject.php | 2 +- classes/Notice.php | 2 +- classes/Notice_inbox.php | 2 +- classes/Profile.php | 2 +- classes/Profile_block.php | 2 +- classes/Remote_profile.php | 2 +- classes/Session.php | 2 +- classes/Status_network.php | 2 +- classes/Subscription.php | 2 +- classes/User.php | 2 +- index.php | 2 +- install.php | 2 +- lib/Shorturl_api.php | 2 +- lib/accountsettingsaction.php | 2 +- lib/action.php | 10 +++++----- lib/arraywrapper.php | 2 +- lib/attachmentlist.php | 2 +- lib/attachmentnoticesection.php | 2 +- lib/attachmenttagcloudsection.php | 2 +- lib/blockform.php | 2 +- lib/channel.php | 2 +- lib/clienterroraction.php | 2 +- lib/clientexception.php | 2 +- lib/command.php | 2 +- lib/commandinterpreter.php | 2 +- lib/common.php | 4 ++-- lib/connectsettingsaction.php | 2 +- lib/currentuserdesignaction.php | 2 +- lib/daemon.php | 2 +- lib/dberroraction.php | 2 +- lib/deleteaction.php | 2 +- lib/designsettings.php | 2 +- lib/disfavorform.php | 2 +- lib/error.php | 2 +- lib/event.php | 2 +- lib/facebookaction.php | 2 +- lib/favorform.php | 2 +- lib/featureduserssection.php | 2 +- lib/feed.php | 2 +- lib/feedlist.php | 2 +- lib/form.php | 2 +- lib/galleryaction.php | 2 +- lib/groupdesignaction.php | 2 +- lib/groupeditform.php | 2 +- lib/grouplist.php | 2 +- lib/groupminilist.php | 2 +- lib/groupnav.php | 2 +- lib/groupsbymemberssection.php | 2 +- lib/groupsbypostssection.php | 2 +- lib/groupsection.php | 2 +- lib/grouptagcloudsection.php | 2 +- lib/htmloutputter.php | 6 +++--- lib/imagefile.php | 2 +- lib/jabber.php | 2 +- lib/joinform.php | 2 +- lib/jsonsearchresultslist.php | 2 +- lib/language.php | 2 +- lib/leaveform.php | 2 +- lib/logingroupnav.php | 2 +- lib/mail.php | 2 +- lib/mailbox.php | 2 +- lib/messageform.php | 2 +- lib/microid.php | 2 +- lib/noticeform.php | 2 +- lib/noticelist.php | 2 +- lib/noticesection.php | 2 +- lib/nudgeform.php | 2 +- lib/oauthclient.php | 2 +- lib/oauthstore.php | 2 +- lib/omb.php | 6 +++--- lib/openid.php | 2 +- lib/ownerdesignaction.php | 2 +- lib/parallelizingdaemon.php | 2 +- lib/personalgroupnav.php | 2 +- lib/personaltagcloudsection.php | 2 +- lib/ping.php | 8 ++++---- lib/plugin.php | 2 +- lib/popularnoticesection.php | 2 +- lib/profileaction.php | 2 +- lib/profilelist.php | 2 +- lib/profileminilist.php | 2 +- lib/profilesection.php | 2 +- lib/publicgroupnav.php | 2 +- lib/queuehandler.php | 2 +- lib/router.php | 2 +- lib/rssaction.php | 2 +- lib/search_engines.php | 2 +- lib/searchaction.php | 2 +- lib/searchgroupnav.php | 2 +- lib/section.php | 2 +- lib/servererroraction.php | 2 +- lib/serverexception.php | 2 +- lib/settingsaction.php | 2 +- lib/snapshot.php | 6 +++--- lib/subgroupnav.php | 2 +- lib/subpeopletagcloudsection.php | 2 +- lib/subs.php | 2 +- lib/subscribeform.php | 2 +- lib/subscriberspeopleselftagcloudsection.php | 2 +- lib/subscriberspeopletagcloudsection.php | 2 +- lib/subscriptionlist.php | 2 +- lib/subscriptionspeopleselftagcloudsection.php | 2 +- lib/subscriptionspeopletagcloudsection.php | 2 +- lib/tagcloudsection.php | 2 +- lib/theme.php | 2 +- lib/topposterssection.php | 2 +- lib/twitter.php | 2 +- lib/twitterapi.php | 2 +- lib/twitteroauthclient.php | 2 +- lib/unblockform.php | 2 +- lib/unsubscribeform.php | 2 +- lib/webcolor.php | 2 +- lib/widget.php | 2 +- lib/xmloutputter.php | 2 +- lib/xmlstringer.php | 2 +- lib/xmppqueuehandler.php | 2 +- plugins/Autocomplete/AutocompletePlugin.php | 2 +- plugins/BlogspamNetPlugin.php | 4 ++-- plugins/Comet/CometPlugin.php | 2 +- plugins/FBConnect/FBCLoginGroupNav.php | 2 +- plugins/FBConnect/FBCSettingsNav.php | 2 +- plugins/FBConnect/FBC_XDReceiver.php | 2 +- plugins/FBConnect/FBConnectLogin.php | 2 +- plugins/FBConnect/FBConnectPlugin.php | 2 +- plugins/FBConnect/FBConnectSettings.php | 2 +- plugins/GoogleAnalyticsPlugin.php | 2 +- plugins/InfiniteScroll/InfiniteScrollPlugin.php | 2 +- plugins/LinkbackPlugin.php | 4 ++-- plugins/Meteor/MeteorPlugin.php | 2 +- plugins/PiwikAnalyticsPlugin.php | 2 +- plugins/Realtime/RealtimePlugin.php | 2 +- plugins/TemplatePlugin.php | 2 +- plugins/WikiHashtagsPlugin.php | 4 ++-- plugins/recaptcha/recaptcha.php | 2 +- scripts/fixup_hashtags.php | 2 +- scripts/fixup_inboxes.php | 2 +- scripts/fixup_notices_rendered.php | 2 +- scripts/fixup_replies.php | 2 +- scripts/update_translations.php | 2 +- tests/HashTagDetectionTest.php | 2 +- tests/URLDetectionTest.php | 2 +- 266 files changed, 288 insertions(+), 288 deletions(-) diff --git a/actions/accesstoken.php b/actions/accesstoken.php index 551c2e4d83..f1ddfc6a17 100644 --- a/actions/accesstoken.php +++ b/actions/accesstoken.php @@ -28,7 +28,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/all.php b/actions/all.php index 5a26efa288..6dbab080f8 100644 --- a/actions/all.php +++ b/actions/all.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { 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 0313ef6114..a5447fa9fc 100644 --- a/actions/allrss.php +++ b/actions/allrss.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/api.php b/actions/api.php index 2e9cc6618d..897e848c11 100644 --- a/actions/api.php +++ b/actions/api.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } class ApiAction extends Action { diff --git a/actions/attachment.php b/actions/attachment.php index f417d47ee8..5d11faad85 100644 --- a/actions/attachment.php +++ b/actions/attachment.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/attachment_ajax.php b/actions/attachment_ajax.php index 6701a94637..af37c9bcb5 100644 --- a/actions/attachment_ajax.php +++ b/actions/attachment_ajax.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/attachment_thumbnail.php b/actions/attachment_thumbnail.php index e27480424d..7add8e278d 100644 --- a/actions/attachment_thumbnail.php +++ b/actions/attachment_thumbnail.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/avatarbynickname.php b/actions/avatarbynickname.php index 0b0d77aadc..e7ebaeee2d 100644 --- a/actions/avatarbynickname.php +++ b/actions/avatarbynickname.php @@ -28,7 +28,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/avatarsettings.php b/actions/avatarsettings.php index d5be3463b2..54baef88fb 100644 --- a/actions/avatarsettings.php +++ b/actions/avatarsettings.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/block.php b/actions/block.php index 9687783a8d..2441c6fba4 100644 --- a/actions/block.php +++ b/actions/block.php @@ -28,7 +28,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/blockedfromgroup.php b/actions/blockedfromgroup.php index dea868fc63..5b5c8bcfaa 100644 --- a/actions/blockedfromgroup.php +++ b/actions/blockedfromgroup.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/confirmaddress.php b/actions/confirmaddress.php index 2b7b949a48..94cd6ddf4b 100644 --- a/actions/confirmaddress.php +++ b/actions/confirmaddress.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/conversation.php b/actions/conversation.php index b284e4dd75..c4a4e80dac 100644 --- a/actions/conversation.php +++ b/actions/conversation.php @@ -27,7 +27,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/deletenotice.php b/actions/deletenotice.php index 24f70b5dbb..8f6e9bdd1f 100644 --- a/actions/deletenotice.php +++ b/actions/deletenotice.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/disfavor.php b/actions/disfavor.php index 67b16bfd38..25230ceac8 100644 --- a/actions/disfavor.php +++ b/actions/disfavor.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/doc.php b/actions/doc.php index 522441824c..1adb9b0750 100644 --- a/actions/doc.php +++ b/actions/doc.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/editgroup.php b/actions/editgroup.php index ea317f365d..62a6290566 100644 --- a/actions/editgroup.php +++ b/actions/editgroup.php @@ -29,7 +29,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/emailsettings.php b/actions/emailsettings.php index 8bd1c74c47..1b4d73bbf0 100644 --- a/actions/emailsettings.php +++ b/actions/emailsettings.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/facebookhome.php b/actions/facebookhome.php index f9dc4523ec..a54d22a473 100644 --- a/actions/facebookhome.php +++ b/actions/facebookhome.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once INSTALLDIR.'/lib/facebookaction.php'; diff --git a/actions/facebookinvite.php b/actions/facebookinvite.php index 5bd03e99a4..aa84865859 100644 --- a/actions/facebookinvite.php +++ b/actions/facebookinvite.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/facebooklogin.php b/actions/facebooklogin.php index c4b14e75f6..64d24dd407 100644 --- a/actions/facebooklogin.php +++ b/actions/facebooklogin.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once(INSTALLDIR.'/lib/facebookaction.php'); diff --git a/actions/facebookremove.php b/actions/facebookremove.php index aa492dbc48..1547fb7801 100644 --- a/actions/facebookremove.php +++ b/actions/facebookremove.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once INSTALLDIR.'/lib/facebookaction.php'; diff --git a/actions/facebooksettings.php b/actions/facebooksettings.php index 310179967a..817a11828c 100644 --- a/actions/facebooksettings.php +++ b/actions/facebooksettings.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once INSTALLDIR.'/lib/facebookaction.php'; diff --git a/actions/favor.php b/actions/favor.php index 17d0d9d17a..a995188c3c 100644 --- a/actions/favor.php +++ b/actions/favor.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/favorited.php b/actions/favorited.php index 445c307679..006dd54883 100644 --- a/actions/favorited.php +++ b/actions/favorited.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/favoritesrss.php b/actions/favoritesrss.php index 0c6c4b8f9a..0302d10e5f 100644 --- a/actions/favoritesrss.php +++ b/actions/favoritesrss.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/featured.php b/actions/featured.php index ac1912ba37..f38068eb68 100644 --- a/actions/featured.php +++ b/actions/featured.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/file.php b/actions/file.php index a8ff547f86..005a13169a 100644 --- a/actions/file.php +++ b/actions/file.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once(INSTALLDIR.'/actions/shownotice.php'); diff --git a/actions/finishaddopenid.php b/actions/finishaddopenid.php index f8d88587d5..40939d44b3 100644 --- a/actions/finishaddopenid.php +++ b/actions/finishaddopenid.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/finishopenidlogin.php b/actions/finishopenidlogin.php index 37aba87f05..07da72fc0f 100644 --- a/actions/finishopenidlogin.php +++ b/actions/finishopenidlogin.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once(INSTALLDIR.'/lib/openid.php'); diff --git a/actions/finishremotesubscribe.php b/actions/finishremotesubscribe.php index bd6dbf2a65..5df36070fa 100644 --- a/actions/finishremotesubscribe.php +++ b/actions/finishremotesubscribe.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once(INSTALLDIR.'/lib/omb.php'); @@ -284,7 +284,7 @@ class FinishremotesubscribeAction extends Action $fetcher = Auth_Yadis_Yadis::getHTTPFetcher(); $result = $fetcher->post($req->get_normalized_http_url(), $req->to_postdata(), - array('User-Agent: StatusNet/' . LACONICA_VERSION)); + array('User-Agent: StatusNet/' . STATUSNET_VERSION)); common_debug('got result: "'.print_r($result,true).'"', __FILE__); diff --git a/actions/foaf.php b/actions/foaf.php index 66086b6a4e..d3ab098f4d 100644 --- a/actions/foaf.php +++ b/actions/foaf.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } define('LISTENER', 1); define('LISTENEE', -1); diff --git a/actions/groupblock.php b/actions/groupblock.php index 7735e2dcf2..e98f13224e 100644 --- a/actions/groupblock.php +++ b/actions/groupblock.php @@ -27,7 +27,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/groupbyid.php b/actions/groupbyid.php index 8775676f78..bc0709f4f6 100644 --- a/actions/groupbyid.php +++ b/actions/groupbyid.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/groupdesignsettings.php b/actions/groupdesignsettings.php index aae4ae865d..baef31018f 100644 --- a/actions/groupdesignsettings.php +++ b/actions/groupdesignsettings.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/grouplogo.php b/actions/grouplogo.php index f9354d458b..30f865248b 100644 --- a/actions/grouplogo.php +++ b/actions/grouplogo.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/groupmembers.php b/actions/groupmembers.php index 265d2ca0e1..5a4ea27abe 100644 --- a/actions/groupmembers.php +++ b/actions/groupmembers.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/grouprss.php b/actions/grouprss.php index ad60940322..7cd85c1af1 100644 --- a/actions/grouprss.php +++ b/actions/grouprss.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/groups.php b/actions/groups.php index 09216e6134..53b95c8481 100644 --- a/actions/groups.php +++ b/actions/groups.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/groupsearch.php b/actions/groupsearch.php index a7004366f5..fc825a6fd2 100644 --- a/actions/groupsearch.php +++ b/actions/groupsearch.php @@ -28,7 +28,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/groupunblock.php b/actions/groupunblock.php index 45d70841c7..248b2a0a7b 100644 --- a/actions/groupunblock.php +++ b/actions/groupunblock.php @@ -27,7 +27,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/imsettings.php b/actions/imsettings.php index 3e89b6f664..145cd7ed2c 100644 --- a/actions/imsettings.php +++ b/actions/imsettings.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/inbox.php b/actions/inbox.php index 757461fe80..f5f7d8bcb1 100644 --- a/actions/inbox.php +++ b/actions/inbox.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/invite.php b/actions/invite.php index 64a2061c31..d8f15705bc 100644 --- a/actions/invite.php +++ b/actions/invite.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } class InviteAction extends CurrentUserDesignAction { diff --git a/actions/joingroup.php b/actions/joingroup.php index bf19a2ad9d..32b59efa08 100644 --- a/actions/joingroup.php +++ b/actions/joingroup.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/leavegroup.php b/actions/leavegroup.php index 347440ed6d..27b5ea0177 100644 --- a/actions/leavegroup.php +++ b/actions/leavegroup.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/login.php b/actions/login.php index 020f5ea634..1452369662 100644 --- a/actions/login.php +++ b/actions/login.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/logout.php b/actions/logout.php index 6e147ccc05..eda5cefe5b 100644 --- a/actions/logout.php +++ b/actions/logout.php @@ -28,7 +28,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/makeadmin.php b/actions/makeadmin.php index 7ab41fa6e7..7866f42c15 100644 --- a/actions/makeadmin.php +++ b/actions/makeadmin.php @@ -27,7 +27,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/microsummary.php b/actions/microsummary.php index 585ef788aa..8f2d34998b 100644 --- a/actions/microsummary.php +++ b/actions/microsummary.php @@ -28,7 +28,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/newgroup.php b/actions/newgroup.php index f16c25f1a6..544dd38184 100644 --- a/actions/newgroup.php +++ b/actions/newgroup.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/newmessage.php b/actions/newmessage.php index 9ca3e66e1f..5798715463 100644 --- a/actions/newmessage.php +++ b/actions/newmessage.php @@ -29,7 +29,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/newnotice.php b/actions/newnotice.php index bc1b7b06ab..4b542815bb 100644 --- a/actions/newnotice.php +++ b/actions/newnotice.php @@ -29,7 +29,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/noticesearch.php b/actions/noticesearch.php index fc849f4dce..e268c69abf 100644 --- a/actions/noticesearch.php +++ b/actions/noticesearch.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/noticesearchrss.php b/actions/noticesearchrss.php index a1d36ff56c..67bca01b53 100644 --- a/actions/noticesearchrss.php +++ b/actions/noticesearchrss.php @@ -28,7 +28,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/nudge.php b/actions/nudge.php index 58ec0cbc04..b699a31441 100644 --- a/actions/nudge.php +++ b/actions/nudge.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/oembed.php b/actions/oembed.php index 3940a4db48..5f6751b5a8 100644 --- a/actions/oembed.php +++ b/actions/oembed.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/openidlogin.php b/actions/openidlogin.php index 8138085233..42d7409387 100644 --- a/actions/openidlogin.php +++ b/actions/openidlogin.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once(INSTALLDIR.'/lib/openid.php'); diff --git a/actions/openidsettings.php b/actions/openidsettings.php index 5812546517..09e678e3c9 100644 --- a/actions/openidsettings.php +++ b/actions/openidsettings.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/opensearch.php b/actions/opensearch.php index 81efcea9bf..8ef13dd7a6 100644 --- a/actions/opensearch.php +++ b/actions/opensearch.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/othersettings.php b/actions/othersettings.php index 3953bbb88c..244c34eabb 100644 --- a/actions/othersettings.php +++ b/actions/othersettings.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/outbox.php b/actions/outbox.php index 726934ae61..a1fc81dfda 100644 --- a/actions/outbox.php +++ b/actions/outbox.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/passwordsettings.php b/actions/passwordsettings.php index 43188030f0..e7cd0ab510 100644 --- a/actions/passwordsettings.php +++ b/actions/passwordsettings.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/peoplesearch.php b/actions/peoplesearch.php index e083faf621..43c966f9c1 100644 --- a/actions/peoplesearch.php +++ b/actions/peoplesearch.php @@ -28,7 +28,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/peopletag.php b/actions/peopletag.php index bf15e1e2e6..0c5321faed 100644 --- a/actions/peopletag.php +++ b/actions/peopletag.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/postnotice.php b/actions/postnotice.php index ab8d4339b7..883cd53fbc 100644 --- a/actions/postnotice.php +++ b/actions/postnotice.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once(INSTALLDIR.'/lib/omb.php'); diff --git a/actions/profilesettings.php b/actions/profilesettings.php index 013e3ac820..2f9d2bac93 100644 --- a/actions/profilesettings.php +++ b/actions/profilesettings.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/public.php b/actions/public.php index 4ea48a2ff0..f8ecc0e785 100644 --- a/actions/public.php +++ b/actions/public.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/publicrss.php b/actions/publicrss.php index 55ef3c66b9..0d75ffc358 100644 --- a/actions/publicrss.php +++ b/actions/publicrss.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/publictagcloud.php b/actions/publictagcloud.php index de987184b7..026827fbe5 100644 --- a/actions/publictagcloud.php +++ b/actions/publictagcloud.php @@ -29,7 +29,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } define('TAGS_PER_PAGE', 100); diff --git a/actions/publicxrds.php b/actions/publicxrds.php index afc5463d33..921106a5f4 100644 --- a/actions/publicxrds.php +++ b/actions/publicxrds.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/recoverpassword.php b/actions/recoverpassword.php index a68a059963..279f1cef12 100644 --- a/actions/recoverpassword.php +++ b/actions/recoverpassword.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } # You have 24 hours to claim your password diff --git a/actions/register.php b/actions/register.php index 35c1ddd4bd..a219c03d86 100644 --- a/actions/register.php +++ b/actions/register.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/remotesubscribe.php b/actions/remotesubscribe.php index d0d5a03846..7932757817 100644 --- a/actions/remotesubscribe.php +++ b/actions/remotesubscribe.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once(INSTALLDIR.'/lib/omb.php'); @@ -323,7 +323,7 @@ class RemotesubscribeAction extends Action $result = $fetcher->post($req->get_normalized_http_url(), $req->to_postdata(), - array('User-Agent: StatusNet/' . LACONICA_VERSION)); + array('User-Agent: StatusNet/' . STATUSNET_VERSION)); if ($result->status != 200) { return null; } diff --git a/actions/replies.php b/actions/replies.php index 37c1f33e6f..954d7ce19b 100644 --- a/actions/replies.php +++ b/actions/replies.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/repliesrss.php b/actions/repliesrss.php index 35a77fab81..5115453b79 100644 --- a/actions/repliesrss.php +++ b/actions/repliesrss.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once(INSTALLDIR.'/lib/rssaction.php'); diff --git a/actions/requesttoken.php b/actions/requesttoken.php index 1ece3e6b0a..243844c4bc 100644 --- a/actions/requesttoken.php +++ b/actions/requesttoken.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/showfavorites.php b/actions/showfavorites.php index 41178c5a99..9734496bac 100644 --- a/actions/showfavorites.php +++ b/actions/showfavorites.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/showgroup.php b/actions/showgroup.php index ed980233a5..965b933e23 100644 --- a/actions/showgroup.php +++ b/actions/showgroup.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/showmessage.php b/actions/showmessage.php index 522fec490c..5d23fb13f3 100644 --- a/actions/showmessage.php +++ b/actions/showmessage.php @@ -26,7 +26,7 @@ * @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('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/shownotice.php b/actions/shownotice.php index 92911effb1..4f7c3af7fe 100644 --- a/actions/shownotice.php +++ b/actions/shownotice.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/showstream.php b/actions/showstream.php index 76482e97af..93730812c4 100644 --- a/actions/showstream.php +++ b/actions/showstream.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/smssettings.php b/actions/smssettings.php index 587cf7d584..bfe49feeec 100644 --- a/actions/smssettings.php +++ b/actions/smssettings.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/subedit.php b/actions/subedit.php index 853ac12a21..3320bdc599 100644 --- a/actions/subedit.php +++ b/actions/subedit.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } class SubeditAction extends Action { diff --git a/actions/subscribe.php b/actions/subscribe.php index aa701637bd..fb1fb5e6bb 100644 --- a/actions/subscribe.php +++ b/actions/subscribe.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } class SubscribeAction extends Action { diff --git a/actions/subscribers.php b/actions/subscribers.php index 66a531c3f8..3000f17b0c 100644 --- a/actions/subscribers.php +++ b/actions/subscribers.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/subscriptions.php b/actions/subscriptions.php index 656dea688d..8cad9e3b4a 100644 --- a/actions/subscriptions.php +++ b/actions/subscriptions.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } @@ -42,7 +42,7 @@ if (!defined('LACONICA')) { * @link http://status.net/ */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } class SubscriptionsAction extends GalleryAction { diff --git a/actions/sup.php b/actions/sup.php index 46fdc18574..b635de194f 100644 --- a/actions/sup.php +++ b/actions/sup.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } class SupAction extends Action { diff --git a/actions/tag.php b/actions/tag.php index fd29942a2d..935d00ab06 100644 --- a/actions/tag.php +++ b/actions/tag.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } class TagAction extends Action { diff --git a/actions/tagother.php b/actions/tagother.php index 8f3ab7f650..aaca46355f 100644 --- a/actions/tagother.php +++ b/actions/tagother.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once(INSTALLDIR.'/lib/settingsaction.php'); diff --git a/actions/tagrss.php b/actions/tagrss.php index 00746257e5..135b12135d 100644 --- a/actions/tagrss.php +++ b/actions/tagrss.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once(INSTALLDIR.'/lib/rssaction.php'); diff --git a/actions/twitapiaccount.php b/actions/twitapiaccount.php index 505f893aec..dc043ddd32 100644 --- a/actions/twitapiaccount.php +++ b/actions/twitapiaccount.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/twitapiblocks.php b/actions/twitapiblocks.php index 10b97367e5..808e79220f 100644 --- a/actions/twitapiblocks.php +++ b/actions/twitapiblocks.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/twitapidirect_messages.php b/actions/twitapidirect_messages.php index 70e3ef64ea..8511fcbe2e 100644 --- a/actions/twitapidirect_messages.php +++ b/actions/twitapidirect_messages.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/twitapifavorites.php b/actions/twitapifavorites.php index 243a40e65f..d812b50349 100644 --- a/actions/twitapifavorites.php +++ b/actions/twitapifavorites.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/twitapifriendships.php b/actions/twitapifriendships.php index b730edcdf7..015a5dbaed 100644 --- a/actions/twitapifriendships.php +++ b/actions/twitapifriendships.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/twitapigroups.php b/actions/twitapigroups.php index f39975237d..4d23889198 100644 --- a/actions/twitapigroups.php +++ b/actions/twitapigroups.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/twitapihelp.php b/actions/twitapihelp.php index ef8f6be93c..3fc232f64c 100644 --- a/actions/twitapihelp.php +++ b/actions/twitapihelp.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/twitapinotifications.php b/actions/twitapinotifications.php index 80da040e01..7bc9dd14b6 100644 --- a/actions/twitapinotifications.php +++ b/actions/twitapinotifications.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once(INSTALLDIR.'/lib/twitterapi.php'); diff --git a/actions/twitapisearchatom.php b/actions/twitapisearchatom.php index 5ecec96841..d3e17650d4 100644 --- a/actions/twitapisearchatom.php +++ b/actions/twitapisearchatom.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/twitapisearchjson.php b/actions/twitapisearchjson.php index 73735c5b5c..1732951762 100644 --- a/actions/twitapisearchjson.php +++ b/actions/twitapisearchjson.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/twitapistatuses.php b/actions/twitapistatuses.php index 4a9f4a5e54..e522b63579 100644 --- a/actions/twitapistatuses.php +++ b/actions/twitapistatuses.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/twitapistatusnet.php b/actions/twitapistatusnet.php index ff159f207c..a36c162d94 100644 --- a/actions/twitapistatusnet.php +++ b/actions/twitapistatusnet.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } @@ -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: diff --git a/actions/twitapitags.php b/actions/twitapitags.php index 9ed9970a39..f889ae8c03 100644 --- a/actions/twitapitags.php +++ b/actions/twitapitags.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/twitapitrends.php b/actions/twitapitrends.php index f76601768b..436451c0f2 100644 --- a/actions/twitapitrends.php +++ b/actions/twitapitrends.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/twitapiusers.php b/actions/twitapiusers.php index c28a37ab79..853a6b8fad 100644 --- a/actions/twitapiusers.php +++ b/actions/twitapiusers.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/twitterauthorization.php b/actions/twitterauthorization.php index 1861c1fcbd..3745a67cf9 100644 --- a/actions/twitterauthorization.php +++ b/actions/twitterauthorization.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/twittersettings.php b/actions/twittersettings.php index 3890976677..c23fa2ff82 100644 --- a/actions/twittersettings.php +++ b/actions/twittersettings.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/unblock.php b/actions/unblock.php index e4dbf4ca72..43f454340d 100644 --- a/actions/unblock.php +++ b/actions/unblock.php @@ -28,7 +28,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/unsubscribe.php b/actions/unsubscribe.php index 91d06cfa61..bedea9f285 100644 --- a/actions/unsubscribe.php +++ b/actions/unsubscribe.php @@ -28,7 +28,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/updateprofile.php b/actions/updateprofile.php index b31a6d14c1..d486864011 100644 --- a/actions/updateprofile.php +++ b/actions/updateprofile.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once(INSTALLDIR.'/lib/omb.php'); diff --git a/actions/userauthorization.php b/actions/userauthorization.php index 3c099b8f65..38329a2c70 100644 --- a/actions/userauthorization.php +++ b/actions/userauthorization.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once(INSTALLDIR.'/lib/omb.php'); define('TIMESTAMP_THRESHOLD', 300); diff --git a/actions/userbyid.php b/actions/userbyid.php index 5fa929a93c..4ed78688b6 100644 --- a/actions/userbyid.php +++ b/actions/userbyid.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/userdesignsettings.php b/actions/userdesignsettings.php index 312ca11503..07d160984f 100644 --- a/actions/userdesignsettings.php +++ b/actions/userdesignsettings.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/usergroups.php b/actions/usergroups.php index fa7068a3be..7cdc132b8b 100644 --- a/actions/usergroups.php +++ b/actions/usergroups.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/actions/userrss.php b/actions/userrss.php index 20e65b083b..1437a4c229 100644 --- a/actions/userrss.php +++ b/actions/userrss.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once(INSTALLDIR.'/lib/rssaction.php'); diff --git a/actions/xrds.php b/actions/xrds.php index ef1ebaed0e..86f7d7616b 100644 --- a/actions/xrds.php +++ b/actions/xrds.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/classes/Design.php b/classes/Design.php index d82a0668dc..c4820bf1eb 100644 --- a/classes/Design.php +++ b/classes/Design.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/classes/File.php b/classes/File.php index 1a97b51c9e..063c164257 100644 --- a/classes/File.php +++ b/classes/File.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; require_once INSTALLDIR.'/classes/File_redirection.php'; diff --git a/classes/File_oembed.php b/classes/File_oembed.php index ab2115f0b5..c28f5c3961 100644 --- a/classes/File_oembed.php +++ b/classes/File_oembed.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; diff --git a/classes/File_redirection.php b/classes/File_redirection.php index 3ff934d356..832d66b2b9 100644 --- a/classes/File_redirection.php +++ b/classes/File_redirection.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; require_once INSTALLDIR.'/classes/File.php'; diff --git a/classes/File_thumbnail.php b/classes/File_thumbnail.php index dd23a3d030..2c0689f947 100644 --- a/classes/File_thumbnail.php +++ b/classes/File_thumbnail.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; diff --git a/classes/File_to_post.php b/classes/File_to_post.php index f7677fd504..ea57510426 100644 --- a/classes/File_to_post.php +++ b/classes/File_to_post.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; diff --git a/classes/Group_alias.php b/classes/Group_alias.php index 0696fabf14..93bb75796d 100644 --- a/classes/Group_alias.php +++ b/classes/Group_alias.php @@ -19,7 +19,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; diff --git a/classes/Group_block.php b/classes/Group_block.php index fb1be76bb6..bd8b249265 100644 --- a/classes/Group_block.php +++ b/classes/Group_block.php @@ -19,7 +19,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; diff --git a/classes/Memcached_DataObject.php b/classes/Memcached_DataObject.php index e94f03ab24..e2935cfc5c 100644 --- a/classes/Memcached_DataObject.php +++ b/classes/Memcached_DataObject.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; diff --git a/classes/Notice.php b/classes/Notice.php index 952f99453d..607f355717 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } /** * Table Definition for notice diff --git a/classes/Notice_inbox.php b/classes/Notice_inbox.php index 77cf79347f..60f11cd710 100644 --- a/classes/Notice_inbox.php +++ b/classes/Notice_inbox.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; diff --git a/classes/Profile.php b/classes/Profile.php index beeea0f89d..9824157535 100644 --- a/classes/Profile.php +++ b/classes/Profile.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } /** * Table Definition for profile diff --git a/classes/Profile_block.php b/classes/Profile_block.php index 28ce259f8b..b218244e32 100644 --- a/classes/Profile_block.php +++ b/classes/Profile_block.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } /** * Table Definition for profile_block diff --git a/classes/Remote_profile.php b/classes/Remote_profile.php index cac67d37e4..9d100412ab 100644 --- a/classes/Remote_profile.php +++ b/classes/Remote_profile.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } /** * Table Definition for remote_profile diff --git a/classes/Session.php b/classes/Session.php index 55453eb231..04958b61de 100644 --- a/classes/Session.php +++ b/classes/Session.php @@ -19,7 +19,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; diff --git a/classes/Status_network.php b/classes/Status_network.php index e399b5e84f..78c1640cd1 100644 --- a/classes/Status_network.php +++ b/classes/Status_network.php @@ -19,7 +19,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } class Status_network extends DB_DataObject { diff --git a/classes/Subscription.php b/classes/Subscription.php index f42235caa8..0e2b5a3074 100644 --- a/classes/Subscription.php +++ b/classes/Subscription.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } /** * Table Definition for subscription diff --git a/classes/User.php b/classes/User.php index 7df93b7c5a..529957649b 100644 --- a/classes/User.php +++ b/classes/User.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/index.php b/index.php index e1857a55db..56e76be9f6 100644 --- a/index.php +++ b/index.php @@ -18,7 +18,7 @@ */ define('INSTALLDIR', dirname(__FILE__)); -define('LACONICA', true); +define('STATUSNET', true); require_once INSTALLDIR . '/lib/common.php'; diff --git a/install.php b/install.php index af1f2ca34e..f9056727b7 100644 --- a/install.php +++ b/install.php @@ -363,7 +363,7 @@ function writeConf($sitename, $server, $path, $fancy, $db) { // assemble configuration file in a string $cfg = ". */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } class ShortUrlApi { diff --git a/lib/accountsettingsaction.php b/lib/accountsettingsaction.php index d5dc0b217d..337d34e9aa 100644 --- a/lib/accountsettingsaction.php +++ b/lib/accountsettingsaction.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/action.php b/lib/action.php index fdfb6ebc6c..dd9d87a6c2 100644 --- a/lib/action.php +++ b/lib/action.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } @@ -204,16 +204,16 @@ class Action extends HTMLOutputter // lawsuit if (Event::handle('StartShowUAStyles', array($this))) { $this->comment('[if IE]>comment('[if lte IE '.$ver.']>comment('[if IE]>raw($output); $this->elementEnd('dd'); diff --git a/lib/arraywrapper.php b/lib/arraywrapper.php index 5e349e9a06..424714e908 100644 --- a/lib/arraywrapper.php +++ b/lib/arraywrapper.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/attachmentlist.php b/lib/attachmentlist.php index 51fc40457f..a713a10853 100644 --- a/lib/attachmentlist.php +++ b/lib/attachmentlist.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/attachmentnoticesection.php b/lib/attachmentnoticesection.php index 630a149acb..b98de8b6fd 100644 --- a/lib/attachmentnoticesection.php +++ b/lib/attachmentnoticesection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/attachmenttagcloudsection.php b/lib/attachmenttagcloudsection.php index 83b561104d..fc5145ad0d 100644 --- a/lib/attachmenttagcloudsection.php +++ b/lib/attachmenttagcloudsection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/blockform.php b/lib/blockform.php index 403ac59fee..cfec321a18 100644 --- a/lib/blockform.php +++ b/lib/blockform.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/channel.php b/lib/channel.php index 9cd16843d6..95d576a3c1 100644 --- a/lib/channel.php +++ b/lib/channel.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } class Channel { diff --git a/lib/clienterroraction.php b/lib/clienterroraction.php index cd7d85221e..2a1a51b721 100644 --- a/lib/clienterroraction.php +++ b/lib/clienterroraction.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/clientexception.php b/lib/clientexception.php index bf26ec2eb4..5981f8bb8c 100644 --- a/lib/clientexception.php +++ b/lib/clientexception.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/command.php b/lib/command.php index 78b17c74c0..eac4b2cd97 100644 --- a/lib/command.php +++ b/lib/command.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once(INSTALLDIR.'/lib/channel.php'); diff --git a/lib/commandinterpreter.php b/lib/commandinterpreter.php index 628f55c2aa..6babcba4f5 100644 --- a/lib/commandinterpreter.php +++ b/lib/commandinterpreter.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once INSTALLDIR.'/lib/command.php'; diff --git a/lib/common.php b/lib/common.php index c2d6566365..f8cf937177 100644 --- a/lib/common.php +++ b/lib/common.php @@ -17,9 +17,9 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } -define('LACONICA_VERSION', '0.8.1pre1'); +define('STATUSNET_VERSION', '0.8.1pre1'); define('AVATAR_PROFILE_SIZE', 96); define('AVATAR_STREAM_SIZE', 48); diff --git a/lib/connectsettingsaction.php b/lib/connectsettingsaction.php index 03142d4e5f..058585565f 100644 --- a/lib/connectsettingsaction.php +++ b/lib/connectsettingsaction.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/currentuserdesignaction.php b/lib/currentuserdesignaction.php index 874e3ff982..e28b8caf67 100644 --- a/lib/currentuserdesignaction.php +++ b/lib/currentuserdesignaction.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/daemon.php b/lib/daemon.php index 200314e203..9a3e1e7e9d 100644 --- a/lib/daemon.php +++ b/lib/daemon.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/dberroraction.php b/lib/dberroraction.php index a56ad9369c..bd8ccdd310 100644 --- a/lib/dberroraction.php +++ b/lib/dberroraction.php @@ -28,7 +28,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/deleteaction.php b/lib/deleteaction.php index 4320ad21b0..89bed93ed8 100644 --- a/lib/deleteaction.php +++ b/lib/deleteaction.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/designsettings.php b/lib/designsettings.php index a531c10f1a..21cb9d7933 100644 --- a/lib/designsettings.php +++ b/lib/designsettings.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/disfavorform.php b/lib/disfavorform.php index 3d045d522d..f3a022fece 100644 --- a/lib/disfavorform.php +++ b/lib/disfavorform.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/error.php b/lib/error.php index 554156e53e..e7bba8a47b 100644 --- a/lib/error.php +++ b/lib/error.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/event.php b/lib/event.php index 5df875be10..106bbfd041 100644 --- a/lib/event.php +++ b/lib/event.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/facebookaction.php b/lib/facebookaction.php index b547c44748..e7c78f070c 100644 --- a/lib/facebookaction.php +++ b/lib/facebookaction.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/favorform.php b/lib/favorform.php index ea6fd57c4e..d38c5b1309 100644 --- a/lib/favorform.php +++ b/lib/favorform.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/featureduserssection.php b/lib/featureduserssection.php index daea881a97..3065ff623e 100644 --- a/lib/featureduserssection.php +++ b/lib/featureduserssection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/feed.php b/lib/feed.php index 43137503f2..8660c75ed3 100644 --- a/lib/feed.php +++ b/lib/feed.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/feedlist.php b/lib/feedlist.php index bb1a0016a3..2a750bf778 100644 --- a/lib/feedlist.php +++ b/lib/feedlist.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/form.php b/lib/form.php index b5547dbcdc..dffb6bce4c 100644 --- a/lib/form.php +++ b/lib/form.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/galleryaction.php b/lib/galleryaction.php index 83245df211..0cbb5f8c0e 100644 --- a/lib/galleryaction.php +++ b/lib/galleryaction.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/groupdesignaction.php b/lib/groupdesignaction.php index 50321097a5..a9de600fe9 100644 --- a/lib/groupdesignaction.php +++ b/lib/groupdesignaction.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/groupeditform.php b/lib/groupeditform.php index c88fd88f4b..8ae6a23d5e 100644 --- a/lib/groupeditform.php +++ b/lib/groupeditform.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/grouplist.php b/lib/grouplist.php index 9650526255..b042fb1b69 100644 --- a/lib/grouplist.php +++ b/lib/grouplist.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/groupminilist.php b/lib/groupminilist.php index 9007b4fb0e..4864d4657e 100644 --- a/lib/groupminilist.php +++ b/lib/groupminilist.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/groupnav.php b/lib/groupnav.php index 9097831325..f8ed180f12 100644 --- a/lib/groupnav.php +++ b/lib/groupnav.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/groupsbymemberssection.php b/lib/groupsbymemberssection.php index c799bc166d..156afe6692 100644 --- a/lib/groupsbymemberssection.php +++ b/lib/groupsbymemberssection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/groupsbypostssection.php b/lib/groupsbypostssection.php index 256b164bc0..1c2a1c88f7 100644 --- a/lib/groupsbypostssection.php +++ b/lib/groupsbypostssection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/groupsection.php b/lib/groupsection.php index 95d33569d6..e3887bfd27 100644 --- a/lib/groupsection.php +++ b/lib/groupsection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/grouptagcloudsection.php b/lib/grouptagcloudsection.php index 085e2d25b2..93699f62c8 100644 --- a/lib/grouptagcloudsection.php +++ b/lib/grouptagcloudsection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/htmloutputter.php b/lib/htmloutputter.php index 565b148fa0..1da8406f33 100644 --- a/lib/htmloutputter.php +++ b/lib/htmloutputter.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } @@ -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 bdff9874d3..2619fd9d3b 100644 --- a/lib/imagefile.php +++ b/lib/imagefile.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/jabber.php b/lib/jabber.php index 99226b04e9..0054c4def7 100644 --- a/lib/jabber.php +++ b/lib/jabber.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/joinform.php b/lib/joinform.php index eb06f1de66..47c94dd458 100644 --- a/lib/joinform.php +++ b/lib/joinform.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/jsonsearchresultslist.php b/lib/jsonsearchresultslist.php index f17db334b6..a315d0abd7 100644 --- a/lib/jsonsearchresultslist.php +++ b/lib/jsonsearchresultslist.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/language.php b/lib/language.php index d278f5ab45..2039ef6896 100644 --- a/lib/language.php +++ b/lib/language.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/leaveform.php b/lib/leaveform.php index 1dab6d99e3..7068da0eb7 100644 --- a/lib/leaveform.php +++ b/lib/leaveform.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/logingroupnav.php b/lib/logingroupnav.php index 39548a2712..5e8682c032 100644 --- a/lib/logingroupnav.php +++ b/lib/logingroupnav.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/mail.php b/lib/mail.php index a9c94f2f96..31bf79d2f9 100644 --- a/lib/mail.php +++ b/lib/mail.php @@ -30,7 +30,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/mailbox.php b/lib/mailbox.php index cd4bcba020..9391775f18 100644 --- a/lib/mailbox.php +++ b/lib/mailbox.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/messageform.php b/lib/messageform.php index ea93b8cf6c..a8e514d059 100644 --- a/lib/messageform.php +++ b/lib/messageform.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/microid.php b/lib/microid.php index e4160e94eb..1790424567 100644 --- a/lib/microid.php +++ b/lib/microid.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/noticeform.php b/lib/noticeform.php index 7f4e59fa15..7b6d7d21fd 100644 --- a/lib/noticeform.php +++ b/lib/noticeform.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/noticelist.php b/lib/noticelist.php index 1b2a57aadb..4d6de98bce 100644 --- a/lib/noticelist.php +++ b/lib/noticelist.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/noticesection.php b/lib/noticesection.php index 145545fbe2..e7c3f9a540 100644 --- a/lib/noticesection.php +++ b/lib/noticesection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/nudgeform.php b/lib/nudgeform.php index 23ccb26b63..d6346cde7e 100644 --- a/lib/nudgeform.php +++ b/lib/nudgeform.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/oauthclient.php b/lib/oauthclient.php index e1fc47264b..bd965a3bfe 100644 --- a/lib/oauthclient.php +++ b/lib/oauthclient.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/oauthstore.php b/lib/oauthstore.php index 6e2565bc7e..1519260081 100644 --- a/lib/oauthstore.php +++ b/lib/oauthstore.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once(INSTALLDIR.'/lib/omb.php'); diff --git a/lib/omb.php b/lib/omb.php index 8c0dfd6a26..0a03d8125d 100644 --- a/lib/omb.php +++ b/lib/omb.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once('OAuth.php'); require_once(INSTALLDIR.'/lib/oauthstore.php'); @@ -202,7 +202,7 @@ function omb_post_notice_keys($notice, $postnoticeurl, $tk, $secret) $result = $fetcher->post($req->get_normalized_http_url(), $req->to_postdata(), - array('User-Agent: StatusNet/' . LACONICA_VERSION)); + array('User-Agent: StatusNet/' . STATUSNET_VERSION)); if ($result->status == 403) { # not authorized, don't send again common_debug('403 result, deleting subscription', __FILE__); @@ -282,7 +282,7 @@ function omb_update_profile($profile, $remote_profile, $subscription) $result = $fetcher->post($req->get_normalized_http_url(), $req->to_postdata(), - array('User-Agent: StatusNet/' . LACONICA_VERSION)); + array('User-Agent: StatusNet/' . STATUSNET_VERSION)); if (empty($result) || !$result) { common_debug("Unable to contact " . $req->get_normalized_http_url()); diff --git a/lib/openid.php b/lib/openid.php index 28dc360180..87df4f30b6 100644 --- a/lib/openid.php +++ b/lib/openid.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once(INSTALLDIR.'/classes/User_openid.php'); diff --git a/lib/ownerdesignaction.php b/lib/ownerdesignaction.php index 216da6ef8a..3ee2c99071 100644 --- a/lib/ownerdesignaction.php +++ b/lib/ownerdesignaction.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/parallelizingdaemon.php b/lib/parallelizingdaemon.php index d10fea0e4c..664e9bbd37 100644 --- a/lib/parallelizingdaemon.php +++ b/lib/parallelizingdaemon.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/personalgroupnav.php b/lib/personalgroupnav.php index 8a5e6322e3..61d1ff676c 100644 --- a/lib/personalgroupnav.php +++ b/lib/personalgroupnav.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/personaltagcloudsection.php b/lib/personaltagcloudsection.php index bb7b8386d0..c10b0941d6 100644 --- a/lib/personaltagcloudsection.php +++ b/lib/personaltagcloudsection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/ping.php b/lib/ping.php index 2ae4316c3d..48b4fa18f6 100644 --- a/lib/ping.php +++ b/lib/ping.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { 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: StatusNet/".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: StatusNet/'.LACONICA_VERSION)); + array('User-Agent: StatusNet/'.STATUSNET_VERSION)); } else { $result = $fetcher->post($notify_url, http_build_query($args), - array('User-Agent: StatusNet/'.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 e6cf6f7cca..4f53eee6b1 100644 --- a/lib/plugin.php +++ b/lib/plugin.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/popularnoticesection.php b/lib/popularnoticesection.php index 4906fd8b74..22e8e5468e 100644 --- a/lib/popularnoticesection.php +++ b/lib/popularnoticesection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/profileaction.php b/lib/profileaction.php index 25e9aab5da..8b0c3b87e2 100644 --- a/lib/profileaction.php +++ b/lib/profileaction.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/profilelist.php b/lib/profilelist.php index e54060dffd..251da5e45c 100644 --- a/lib/profilelist.php +++ b/lib/profilelist.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/profileminilist.php b/lib/profileminilist.php index 9d13ef167b..13058d320c 100644 --- a/lib/profileminilist.php +++ b/lib/profileminilist.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/profilesection.php b/lib/profilesection.php index f8a65a9dc8..31658afe2d 100644 --- a/lib/profilesection.php +++ b/lib/profilesection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/publicgroupnav.php b/lib/publicgroupnav.php index 46c47abb13..a442bfc705 100644 --- a/lib/publicgroupnav.php +++ b/lib/publicgroupnav.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/queuehandler.php b/lib/queuehandler.php index d3d091f2ff..ba64ad9295 100644 --- a/lib/queuehandler.php +++ b/lib/queuehandler.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once(INSTALLDIR.'/lib/daemon.php'); require_once(INSTALLDIR.'/classes/Queue_item.php'); diff --git a/lib/router.php b/lib/router.php index ba30ea476a..e91b2c537a 100644 --- a/lib/router.php +++ b/lib/router.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/rssaction.php b/lib/rssaction.php index 608c4dab5e..878309dce4 100644 --- a/lib/rssaction.php +++ b/lib/rssaction.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } define('DEFAULT_RSS_LIMIT', 48); diff --git a/lib/search_engines.php b/lib/search_engines.php index 2dd7bb49a2..74513e2ea1 100644 --- a/lib/search_engines.php +++ b/lib/search_engines.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } class SearchEngine { diff --git a/lib/searchaction.php b/lib/searchaction.php index 724f53f596..a935eb1027 100644 --- a/lib/searchaction.php +++ b/lib/searchaction.php @@ -28,7 +28,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/searchgroupnav.php b/lib/searchgroupnav.php index 7237f23027..bf79e0abcd 100644 --- a/lib/searchgroupnav.php +++ b/lib/searchgroupnav.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/section.php b/lib/section.php index 24bcd7f655..d605d458d7 100644 --- a/lib/section.php +++ b/lib/section.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/servererroraction.php b/lib/servererroraction.php index 6727418718..9ed3832a68 100644 --- a/lib/servererroraction.php +++ b/lib/servererroraction.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/serverexception.php b/lib/serverexception.php index 864e544d81..856866ae9d 100644 --- a/lib/serverexception.php +++ b/lib/serverexception.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/settingsaction.php b/lib/settingsaction.php index a84d650b81..aba196db92 100644 --- a/lib/settingsaction.php +++ b/lib/settingsaction.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/snapshot.php b/lib/snapshot.php index fadbcae4b0..b15fe3a6cb 100644 --- a/lib/snapshot.php +++ b/lib/snapshot.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } @@ -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' => 'StatusNet/'.LACONICA_VERSION + 'user_agent' => 'StatusNet/'.STATUSNET_VERSION ) ); diff --git a/lib/subgroupnav.php b/lib/subgroupnav.php index dcda611366..590bec38cf 100644 --- a/lib/subgroupnav.php +++ b/lib/subgroupnav.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/subpeopletagcloudsection.php b/lib/subpeopletagcloudsection.php index c99d603ce2..8909c5a74f 100644 --- a/lib/subpeopletagcloudsection.php +++ b/lib/subpeopletagcloudsection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/subs.php b/lib/subs.php index c30a81a987..ae3949b75e 100644 --- a/lib/subs.php +++ b/lib/subs.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once('XMPPHP/XMPP.php'); diff --git a/lib/subscribeform.php b/lib/subscribeform.php index 6bd2ea5882..c7216f9748 100644 --- a/lib/subscribeform.php +++ b/lib/subscribeform.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/subscriberspeopleselftagcloudsection.php b/lib/subscriberspeopleselftagcloudsection.php index af06713784..c35f39f2c2 100644 --- a/lib/subscriberspeopleselftagcloudsection.php +++ b/lib/subscriberspeopleselftagcloudsection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/subscriberspeopletagcloudsection.php b/lib/subscriberspeopletagcloudsection.php index 837613a70e..a850dbc869 100644 --- a/lib/subscriberspeopletagcloudsection.php +++ b/lib/subscriberspeopletagcloudsection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/subscriptionlist.php b/lib/subscriptionlist.php index 101687d417..0767196e9f 100644 --- a/lib/subscriptionlist.php +++ b/lib/subscriptionlist.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/subscriptionspeopleselftagcloudsection.php b/lib/subscriptionspeopleselftagcloudsection.php index bf2471a0b3..839e2b1618 100644 --- a/lib/subscriptionspeopleselftagcloudsection.php +++ b/lib/subscriptionspeopleselftagcloudsection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/subscriptionspeopletagcloudsection.php b/lib/subscriptionspeopletagcloudsection.php index fc0aabfdcb..38d93946f5 100644 --- a/lib/subscriptionspeopletagcloudsection.php +++ b/lib/subscriptionspeopletagcloudsection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/tagcloudsection.php b/lib/tagcloudsection.php index ed84999f0c..20533dbe2d 100644 --- a/lib/tagcloudsection.php +++ b/lib/tagcloudsection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/theme.php b/lib/theme.php index e52566b978..ceec3dff02 100644 --- a/lib/theme.php +++ b/lib/theme.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/topposterssection.php b/lib/topposterssection.php index dd72dfc4c8..7d8348d441 100644 --- a/lib/topposterssection.php +++ b/lib/topposterssection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/twitter.php b/lib/twitter.php index ed12d35920..5047445198 100644 --- a/lib/twitter.php +++ b/lib/twitter.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/twitterapi.php b/lib/twitterapi.php index db44c93e1f..2c713f3667 100644 --- a/lib/twitterapi.php +++ b/lib/twitterapi.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/twitteroauthclient.php b/lib/twitteroauthclient.php index ca3b347abe..e8f6e21ba9 100644 --- a/lib/twitteroauthclient.php +++ b/lib/twitteroauthclient.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/unblockform.php b/lib/unblockform.php index 336aeda931..c6310dc0f4 100644 --- a/lib/unblockform.php +++ b/lib/unblockform.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/unsubscribeform.php b/lib/unsubscribeform.php index 5bf42fdfee..0ce343e11e 100644 --- a/lib/unsubscribeform.php +++ b/lib/unsubscribeform.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/webcolor.php b/lib/webcolor.php index ee74fa8f67..922e6794fe 100644 --- a/lib/webcolor.php +++ b/lib/webcolor.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/widget.php b/lib/widget.php index 0c52748f38..43bc4a481f 100644 --- a/lib/widget.php +++ b/lib/widget.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/xmloutputter.php b/lib/xmloutputter.php index d7bb1bf006..7d2788d71e 100644 --- a/lib/xmloutputter.php +++ b/lib/xmloutputter.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/xmlstringer.php b/lib/xmlstringer.php index f8d8793e61..bd17ab09c4 100644 --- a/lib/xmlstringer.php +++ b/lib/xmlstringer.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/lib/xmppqueuehandler.php b/lib/xmppqueuehandler.php index 91ecbcbba6..ac3d98509a 100644 --- a/lib/xmppqueuehandler.php +++ b/lib/xmppqueuehandler.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET')) { exit(1); } require_once(INSTALLDIR.'/lib/queuehandler.php'); diff --git a/plugins/Autocomplete/AutocompletePlugin.php b/plugins/Autocomplete/AutocompletePlugin.php index 1fbb0dbec7..49b6d42b1e 100644 --- a/plugins/Autocomplete/AutocompletePlugin.php +++ b/plugins/Autocomplete/AutocompletePlugin.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/plugins/BlogspamNetPlugin.php b/plugins/BlogspamNetPlugin.php index 602ced6614..c14569746f 100644 --- a/plugins/BlogspamNetPlugin.php +++ b/plugins/BlogspamNetPlugin.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } @@ -139,6 +139,6 @@ class BlogspamNetPlugin extends Plugin function userAgent() { - return 'BlogspamNetPlugin/'.BLOGSPAMNETPLUGIN_VERSION . ' StatusNet/' . LACONICA_VERSION; + return 'BlogspamNetPlugin/'.BLOGSPAMNETPLUGIN_VERSION . ' StatusNet/' . STATUSNET_VERSION; } } diff --git a/plugins/Comet/CometPlugin.php b/plugins/Comet/CometPlugin.php index c3a5d0fbcd..d7ac2b8591 100644 --- a/plugins/Comet/CometPlugin.php +++ b/plugins/Comet/CometPlugin.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/plugins/FBConnect/FBCLoginGroupNav.php b/plugins/FBConnect/FBCLoginGroupNav.php index 763578d46d..782f7198ae 100644 --- a/plugins/FBConnect/FBCLoginGroupNav.php +++ b/plugins/FBConnect/FBCLoginGroupNav.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/plugins/FBConnect/FBCSettingsNav.php b/plugins/FBConnect/FBCSettingsNav.php index be6c0ea9bd..a4ecbada15 100644 --- a/plugins/FBConnect/FBCSettingsNav.php +++ b/plugins/FBConnect/FBCSettingsNav.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/plugins/FBConnect/FBC_XDReceiver.php b/plugins/FBConnect/FBC_XDReceiver.php index 19251cca4d..50c525c750 100644 --- a/plugins/FBConnect/FBC_XDReceiver.php +++ b/plugins/FBConnect/FBC_XDReceiver.php @@ -1,6 +1,6 @@ . */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/plugins/FBConnect/FBConnectPlugin.php b/plugins/FBConnect/FBConnectPlugin.php index ae24e7a731..fb50cc4c9e 100644 --- a/plugins/FBConnect/FBConnectPlugin.php +++ b/plugins/FBConnect/FBConnectPlugin.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/plugins/FBConnect/FBConnectSettings.php b/plugins/FBConnect/FBConnectSettings.php index c3f108a9e5..fbb4199809 100644 --- a/plugins/FBConnect/FBConnectSettings.php +++ b/plugins/FBConnect/FBConnectSettings.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/plugins/GoogleAnalyticsPlugin.php b/plugins/GoogleAnalyticsPlugin.php index 01010e2641..7f3d209ee6 100644 --- a/plugins/GoogleAnalyticsPlugin.php +++ b/plugins/GoogleAnalyticsPlugin.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/plugins/InfiniteScroll/InfiniteScrollPlugin.php b/plugins/InfiniteScroll/InfiniteScrollPlugin.php index 69a56afdd5..59422e5d93 100644 --- a/plugins/InfiniteScroll/InfiniteScrollPlugin.php +++ b/plugins/InfiniteScroll/InfiniteScrollPlugin.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/plugins/LinkbackPlugin.php b/plugins/LinkbackPlugin.php index 7bf7fa6194..c49f70de0d 100644 --- a/plugins/LinkbackPlugin.php +++ b/plugins/LinkbackPlugin.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } @@ -225,6 +225,6 @@ class LinkbackPlugin extends Plugin function userAgent() { return 'LinkbackPlugin/'.LINKBACKPLUGIN_VERSION . - ' StatusNet/' . LACONICA_VERSION; + ' StatusNet/' . STATUSNET_VERSION; } } diff --git a/plugins/Meteor/MeteorPlugin.php b/plugins/Meteor/MeteorPlugin.php index a288cad647..4cb05693b6 100644 --- a/plugins/Meteor/MeteorPlugin.php +++ b/plugins/Meteor/MeteorPlugin.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/plugins/PiwikAnalyticsPlugin.php b/plugins/PiwikAnalyticsPlugin.php index 3238292a63..902d1744d3 100644 --- a/plugins/PiwikAnalyticsPlugin.php +++ b/plugins/PiwikAnalyticsPlugin.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/plugins/Realtime/RealtimePlugin.php b/plugins/Realtime/RealtimePlugin.php index 4f05934d75..9ecf70030d 100644 --- a/plugins/Realtime/RealtimePlugin.php +++ b/plugins/Realtime/RealtimePlugin.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/plugins/TemplatePlugin.php b/plugins/TemplatePlugin.php index 0f4daa734e..b56fa3dbdd 100644 --- a/plugins/TemplatePlugin.php +++ b/plugins/TemplatePlugin.php @@ -15,7 +15,7 @@ * @link http://megapump.com/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/plugins/WikiHashtagsPlugin.php b/plugins/WikiHashtagsPlugin.php index 72217cc831..0c5649aa45 100644 --- a/plugins/WikiHashtagsPlugin.php +++ b/plugins/WikiHashtagsPlugin.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } @@ -104,6 +104,6 @@ class WikiHashtagsPlugin extends Plugin function userAgent() { return 'WikiHashtagsPlugin/'.WIKIHASHTAGSPLUGIN_VERSION . - ' StatusNet/' . LACONICA_VERSION; + ' StatusNet/' . STATUSNET_VERSION; } } diff --git a/plugins/recaptcha/recaptcha.php b/plugins/recaptcha/recaptcha.php index a9a17e1ea1..9767f95d26 100644 --- a/plugins/recaptcha/recaptcha.php +++ b/plugins/recaptcha/recaptcha.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } diff --git a/scripts/fixup_hashtags.php b/scripts/fixup_hashtags.php index f663eb6893..eba527b8d6 100755 --- a/scripts/fixup_hashtags.php +++ b/scripts/fixup_hashtags.php @@ -25,7 +25,7 @@ if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) { } define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); -define('LACONICA', true); +define('STATUSNET', true); require_once(INSTALLDIR . '/lib/common.php'); diff --git a/scripts/fixup_inboxes.php b/scripts/fixup_inboxes.php index 53af5e1a86..0640fcc4f4 100755 --- a/scripts/fixup_inboxes.php +++ b/scripts/fixup_inboxes.php @@ -30,7 +30,7 @@ set_time_limit(0); mb_internal_encoding('UTF-8'); define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); -define('LACONICA', true); +define('STATUSNET', true); require_once(INSTALLDIR . '/lib/common.php'); diff --git a/scripts/fixup_notices_rendered.php b/scripts/fixup_notices_rendered.php index 9e707dab0c..2ccb7ce80d 100755 --- a/scripts/fixup_notices_rendered.php +++ b/scripts/fixup_notices_rendered.php @@ -25,7 +25,7 @@ if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) { } define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); -define('LACONICA', true); +define('STATUSNET', true); require_once(INSTALLDIR . '/lib/common.php'); diff --git a/scripts/fixup_replies.php b/scripts/fixup_replies.php index 39ec268f3b..63dd6b35a4 100755 --- a/scripts/fixup_replies.php +++ b/scripts/fixup_replies.php @@ -25,7 +25,7 @@ if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) { } define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); -define('LACONICA', true); +define('STATUSNET', true); require_once(INSTALLDIR . '/lib/common.php'); diff --git a/scripts/update_translations.php b/scripts/update_translations.php index 0dee4f5a55..8120f636f6 100755 --- a/scripts/update_translations.php +++ b/scripts/update_translations.php @@ -25,7 +25,7 @@ if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) { } define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); -define('LACONICA', true); +define('STATUSNET', true); require_once(INSTALLDIR . '/lib/common.php'); diff --git a/tests/HashTagDetectionTest.php b/tests/HashTagDetectionTest.php index 901e0611cc..9afe346571 100644 --- a/tests/HashTagDetectionTest.php +++ b/tests/HashTagDetectionTest.php @@ -6,7 +6,7 @@ if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) { } define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); -define('LACONICA', true); +define('STATUSNET', true); require_once INSTALLDIR . '/lib/common.php'; diff --git a/tests/URLDetectionTest.php b/tests/URLDetectionTest.php index 7b2e8c5ae7..767f895bba 100644 --- a/tests/URLDetectionTest.php +++ b/tests/URLDetectionTest.php @@ -6,7 +6,7 @@ if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) { } define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); -define('LACONICA', true); +define('STATUSNET', true); require_once INSTALLDIR . '/lib/common.php'; From 99e3b1723bf7d1ece312dd9c3431fa997c6a22b2 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 25 Aug 2009 18:43:48 -0400 Subject: [PATCH 050/134] update names in shell scripts --- scripts/rebuilddb_psql.sh | 2 +- scripts/sphinx-cron.sh | 6 +++--- scripts/sphinx-indexer.sh | 6 +++--- scripts/startdaemons.sh | 6 +++--- scripts/stopdaemons.sh | 6 +++--- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/scripts/rebuilddb_psql.sh b/scripts/rebuilddb_psql.sh index ac169c205d..9ade515ad7 100755 --- a/scripts/rebuilddb_psql.sh +++ b/scripts/rebuilddb_psql.sh @@ -5,7 +5,7 @@ # below, AND backed up your database. Failure to observe these instructions # may result in losing all the data in your database. # -# This script is used to upgrade Laconica's PostgreSQL database to the +# This script is used to upgrade StatusNet's PostgreSQL database to the # latest version. It does the following: # # 1. Dumps the existing data to /tmp/rebuilddb_psql.sql diff --git a/scripts/sphinx-cron.sh b/scripts/sphinx-cron.sh index c16af3c4be..bc537af1a2 100755 --- a/scripts/sphinx-cron.sh +++ b/scripts/sphinx-cron.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 --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/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` From 70ef9d89fab6daaf0cf2169007475e92859d05c4 Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Tue, 25 Aug 2009 22:47:54 +0000 Subject: [PATCH 051/134] Updated rgb2hex() to handle IE. It turns out that jQuery is giving hex to IE and RGB to Firefox, Opera, Safari. Fun. --- js/userdesign.go.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/js/userdesign.go.js b/js/userdesign.go.js index c53569beab..8ddb9ec38c 100644 --- a/js/userdesign.go.js +++ b/js/userdesign.go.js @@ -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]; From 3567b9d708971f9075db1fd847158c3c15a04e23 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 25 Aug 2009 18:53:24 -0400 Subject: [PATCH 052/134] global search and replace for laconica -> statusnet --- README | 42 +++++++++++++------------- actions/api.php | 10 +++--- actions/twitapigroups.php | 8 ++--- actions/twitapisearchatom.php | 2 +- actions/twitapistatusnet.php | 8 ++--- actions/twitapitags.php | 4 +-- classes/Status_network.php | 2 +- config.php.sample | 14 ++++----- db/notice_source.sql | 2 +- index.php | 2 +- install.php | 4 +-- js/identica-badge.js | 16 +++++----- lib/action.php | 2 +- lib/common.php | 16 +++++----- lib/facebookaction.php | 4 +-- lib/router.php | 24 +++++++-------- lib/rssaction.php | 4 +-- lib/util.php | 8 ++--- locale/bg_BG/LC_MESSAGES/statusnet.po | 10 +++--- locale/ca_ES/LC_MESSAGES/statusnet.po | 6 ++-- locale/cs_CZ/LC_MESSAGES/statusnet.po | 6 ++-- locale/de_DE/LC_MESSAGES/statusnet.po | 6 ++-- locale/el_GR/LC_MESSAGES/statusnet.po | 6 ++-- locale/en_GB/LC_MESSAGES/statusnet.po | 8 ++--- locale/es/LC_MESSAGES/statusnet.po | 6 ++-- locale/fi/LC_MESSAGES/statusnet.po | 6 ++-- locale/fr_FR/LC_MESSAGES/statusnet.po | 28 ++++++++--------- locale/he_IL/LC_MESSAGES/statusnet.po | 10 +++--- locale/it_IT/LC_MESSAGES/statusnet.mo | Bin 80184 -> 80186 bytes locale/it_IT/LC_MESSAGES/statusnet.po | 16 +++++----- locale/ja_JP/LC_MESSAGES/statusnet.po | 10 +++--- locale/ko_KR/LC_MESSAGES/statusnet.po | 6 ++-- locale/mk_MK/LC_MESSAGES/statusnet.mo | Bin 37729 -> 37731 bytes locale/mk_MK/LC_MESSAGES/statusnet.po | 14 ++++----- locale/nb_NO/LC_MESSAGES/statusnet.po | 8 ++--- locale/nl_NL/LC_MESSAGES/statusnet.po | 6 ++-- locale/nn_NO/LC_MESSAGES/statusnet.po | 6 ++-- locale/pl_PL/LC_MESSAGES/statusnet.po | 10 +++--- locale/pt/LC_MESSAGES/statusnet.po | 6 ++-- locale/pt_BR/LC_MESSAGES/statusnet.mo | Bin 76796 -> 76797 bytes locale/pt_BR/LC_MESSAGES/statusnet.po | 8 ++--- locale/ru_RU/LC_MESSAGES/statusnet.po | 8 ++--- locale/statusnet.po | 6 ++-- locale/sv_SE/LC_MESSAGES/statusnet.po | 6 ++-- locale/te_IN/LC_MESSAGES/statusnet.po | 10 +++--- locale/tr_TR/LC_MESSAGES/statusnet.po | 8 ++--- locale/uk_UA/LC_MESSAGES/statusnet.po | 8 ++--- locale/vi_VN/LC_MESSAGES/statusnet.mo | Bin 50649 -> 50650 bytes locale/vi_VN/LC_MESSAGES/statusnet.po | 8 ++--- locale/zh_CN/LC_MESSAGES/statusnet.po | 6 ++-- locale/zh_TW/LC_MESSAGES/statusnet.po | 6 ++-- plugins/Autocomplete/Autocomplete.js | 2 +- plugins/PiwikAnalyticsPlugin.php | 4 +-- plugins/TemplatePlugin.php | 4 +-- scripts/delete_status_network.sh | 2 +- scripts/rebuilddb_psql.sh | 4 +-- scripts/setup_status_network.sh | 4 +-- scripts/statusnet.spec | 28 ++++++++--------- scripts/twitterstatusfetcher.php | 2 +- scripts/update_pot.sh | 2 +- scripts/update_translations.php | 10 +++--- sphinx.conf.sample | 2 +- theme/readme.txt | 4 +-- 63 files changed, 244 insertions(+), 244 deletions(-) diff --git a/README b/README index 83f893daaa..195d1b4ec8 100644 --- a/README +++ b/README @@ -231,9 +231,9 @@ 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.0.tar.gz - ...which will make a laconica-0.8.0 subdirectory in your current + ...which will make a statusnet-0.8.0 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 +241,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.0 /var/www/mublog 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,7 +276,7 @@ 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 StatusNet must have its own database; you can't share the database with another program. You can name it whatever you want, @@ -290,7 +290,7 @@ especially if you've previously installed PHP/MySQL packages. 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'; @@ -398,7 +398,7 @@ For this to work, there *must* be a domain or sub-domain for which all 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 +412,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: @@ -813,7 +813,7 @@ instructions; read to the end first before trying them. 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 @@ -835,7 +835,7 @@ 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 +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. @@ -907,12 +907,12 @@ 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/laconica.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 @@ -1010,9 +1010,9 @@ database: a DSN (Data Source Name) for your StatusNet database. This is 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 @@ -1044,7 +1044,7 @@ 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 StatusNet uses to log messages. By default it's - "laconica", but if you have more than one installation on the + "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. @@ -1296,7 +1296,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. @@ -1595,7 +1595,7 @@ If you're adventurous or impatient, you may want to install the development version of StatusNet. To get it, use the git version control tool like so: - git clone http://status.net/software/laconica.git + git clone http://status.net/software/statusnet.git To keep it up-to-date, use 'git pull'. Watch for conflicts! @@ -1605,8 +1605,8 @@ Further information There are several ways to get more information about StatusNet. * There is a mailing list for StatusNet developers and admins at - http://mail.status.net/mailman/listinfo/laconica-dev -* The #laconica IRC channel on freenode.net . + http://mail.status.net/mailman/listinfo/statusnet-dev +* The #statusnet IRC channel on freenode.net . * The StatusNet wiki, http://status.net/trac/ Feedback diff --git a/actions/api.php b/actions/api.php index 897e848c11..91f30e87ab 100644 --- a/actions/api.php +++ b/actions/api.php @@ -125,9 +125,9 @@ 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', @@ -147,11 +147,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/twitapigroups.php b/actions/twitapigroups.php index 4d23889198..c3e028c175 100644 --- a/actions/twitapigroups.php +++ b/actions/twitapigroups.php @@ -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); diff --git a/actions/twitapisearchatom.php b/actions/twitapisearchatom.php index d3e17650d4..3ccd8c5b61 100644 --- a/actions/twitapisearchatom.php +++ b/actions/twitapisearchatom.php @@ -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/twitapistatusnet.php b/actions/twitapistatusnet.php index a36c162d94..c75e5e858c 100644 --- a/actions/twitapistatusnet.php +++ b/actions/twitapistatusnet.php @@ -36,7 +36,7 @@ require_once INSTALLDIR.'/lib/twitterapi.php'; /** * StatusNet-specific API methods * - * This class handles all /laconica/ API methods. + * This class handles all /statusnet/ API methods. * * @category Twitter * @package StatusNet @@ -46,14 +46,14 @@ require_once INSTALLDIR.'/lib/twitterapi.php'; * @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 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 @@ -89,7 +89,7 @@ class TwitapilaconicaAction extends TwitterapiAction * Gives a full dump of configuration variables for this instance * 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 f889ae8c03..0f2b571c6e 100644 --- a/actions/twitapitags.php +++ b/actions/twitapitags.php @@ -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/classes/Status_network.php b/classes/Status_network.php index 78c1640cd1..e91bba1acc 100644 --- a/classes/Status_network.php +++ b/classes/Status_network.php @@ -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/config.php.sample b/config.php.sample index 0fc5163b7a..e73489990e 100644 --- a/config.php.sample +++ b/config.php.sample @@ -15,7 +15,7 @@ if (!defined('LACONICA')) { exit(1); } $config['site']['name'] = 'Just another Laconica microblog'; $config['site']['server'] = 'localhost'; -$config['site']['path'] = 'laconica'; +$config['site']['path'] = 'statusnet'; // $config['site']['fancy'] = false; // $config['site']['theme'] = 'default'; // Sets the site's default design values @@ -44,7 +44,7 @@ $config['site']['path'] = 'laconica'; // $config['site']['private'] = true; // If you want logging sent to a file instead of syslog -// $config['site']['logfile'] = '/tmp/laconica.log'; +// $config['site']['logfile'] = '/tmp/statusnet.log'; // Change the syslog facility that Laconica logs to (default is LOG_USER) // $config['syslog']['facility'] = LOG_LOCAL7; @@ -58,8 +58,8 @@ $config['site']['path'] = 'laconica'; // This is a PEAR DB DSN, see http://pear.php.net/manual/en/package.database.db.intro-dsn.php // Set it to match your actual database -$config['db']['database'] = 'mysql://laconica:microblog@localhost/laconica'; -// $config['db']['ini_your_db_name'] = $config['db']['schema_location'].'/laconica.ini'; +$config['db']['database'] = 'mysql://statusnet:microblog@localhost/laconica'; +// $config['db']['ini_your_db_name'] = $config['db']['schema_location'].'/statusnet.ini'; // *** WARNING *** WARNING *** WARNING *** WARNING *** // Setting debug to a non-zero value will expose your DATABASE PASSWORD to Web users. // !!!!!! DO NOT SET THIS ON PRODUCTION SERVERS !!!!!! DB_DataObject's bug, btw, not @@ -154,15 +154,15 @@ $config['sphinx']['port'] = 3312; // using stomp requires an external message queue server // $config['queue']['subsystem'] = 'stomp'; // $config['queue']['stomp_server'] = 'tcp://localhost:61613'; -// use different queue_basename for each laconica instance managed by the server -// $config['queue']['queue_basename'] = 'laconica'; +// use different queue_basename for each statusnet instance managed by the server +// $config['queue']['queue_basename'] = 'statusnet'; // The following customise the behaviour of the various daemons: // $config['daemon']['piddir'] = '/var/run'; // $config['daemon']['user'] = false; // $config['daemon']['group'] = false; -// For installations with high traffic, laconica can use MemCached to cache +// For installations with high traffic, statusnet can use MemCached to cache // frequently requested information. Only enable the following if you have // MemCached up and running: // $config['memcached']['enabled'] = false; diff --git a/db/notice_source.sql b/db/notice_source.sql index f590d1b97a..8d114ac304 100644 --- a/db/notice_source.sql +++ b/db/notice_source.sql @@ -17,7 +17,7 @@ VALUES ('gravity', 'Gravity', 'http://mobileways.de/gravity', now()), ('Gwibber','Gwibber','http://launchpad.net/gwibber', now()), ('HelloTxt','HelloTxt','http://hellotxt.com/', now()), - ('identicatools','Laconica Tools','http://bitbucketlabs.net/laconica-tools/', now()), + ('identicatools','Laconica Tools','http://bitbucketlabs.net/statusnet-tools/', now()), ('identichat','identichat','http://identichat.prosody.im/', now()), ('IdentiFox','IdentiFox','http://www.bitbucket.org/uncryptic/identifox/', now()), ('identitwitch','IdentiTwitch','http://richfish.org/identitwitch/', now()), diff --git a/index.php b/index.php index 56e76be9f6..bbb78b6a92 100644 --- a/index.php +++ b/index.php @@ -93,7 +93,7 @@ function checkMirror($action_obj, $args) // on the master DB $config['db']['database_rw'] = $config['db']['database']; - $config['db']['ini_rw'] = INSTALLDIR.'/classes/laconica.ini'; + $config['db']['ini_rw'] = INSTALLDIR.'/classes/statusnet.ini'; foreach ($alwaysRW as $table) { $config['db']['table_'.$table] = 'rw'; diff --git a/install.php b/install.php index f9056727b7..9e01ff738e 100644 --- a/install.php +++ b/install.php @@ -284,7 +284,7 @@ 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); @@ -335,7 +335,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(); 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/lib/action.php b/lib/action.php index dd9d87a6c2..a99c885dd6 100644 --- a/lib/action.php +++ b/lib/action.php @@ -754,7 +754,7 @@ class Action extends HTMLOutputter // lawsuit */ function showStatusNetLicense() { - $this->element('dt', array('id' => 'site_laconica_license'), _('StatusNet 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%%). '); diff --git a/lib/common.php b/lib/common.php index f8cf937177..c3e83789fb 100644 --- a/lib/common.php +++ b/lib/common.php @@ -119,14 +119,14 @@ $config = 'shorturllength' => 30, 'dupelimit' => 60), # default for same person saying the same thing '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, ), @@ -341,11 +341,11 @@ function addPlugin($name, $attrs = null) if (isset($conffile)) { $_config_files = array($conffile); } else { - $_config_files = array('/etc/laconica/laconica.php', - '/etc/laconica/'.$_server.'.php'); + $_config_files = array('/etc/statusnet/laconica.php', + '/etc/statusnet/'.$_server.'.php'); if (strlen($_path) > 0) { - $_config_files[] = '/etc/laconica/'.$_server.'_'.$_path.'.php'; + $_config_files[] = '/etc/statusnet/'.$_server.'_'.$_path.'.php'; } $_config_files[] = INSTALLDIR.'/config.php'; @@ -368,12 +368,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'; } // Ignore openidonly if OpenID is disabled diff --git a/lib/facebookaction.php b/lib/facebookaction.php index e7c78f070c..62797d1dd0 100644 --- a/lib/facebookaction.php +++ b/lib/facebookaction.php @@ -373,7 +373,7 @@ class FacebookAction extends Action display:inline-block; } - #facebook_laconica_app { + #facebook_statusnet_app { text-indent:-9999px; height:16px; width:16px; @@ -672,7 +672,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/router.php b/lib/router.php index e91b2c537a..b7b4a8e59c 100644 --- a/lib/router.php +++ b/lib/router.php @@ -395,30 +395,30 @@ class Router array('action' => 'api', 'apiaction' => 'help')); - // laconica + // statusnet - $m->connect('api/laconica/:method', + $m->connect('api/statusnet/:method', array('action' => 'api', - 'apiaction' => 'laconica')); + 'apiaction' => 'statusnet')); - $m->connect('api/laconica/:method', + $m->connect('api/statusnet/:method', array('action' => 'api', - 'apiaction' => 'laconica')); + 'apiaction' => 'statusnet')); // 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))?')); @@ -428,20 +428,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 878309dce4..44c9003a00 100644 --- a/lib/rssaction.php +++ b/lib/rssaction.php @@ -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)); @@ -353,7 +353,7 @@ class Rss10Action extends Action 'http://rdfs.org/sioc/types#', 'xmlns:rdfs' => 'http://www.w3.org/2000/01/rdf-schema#', - 'xmlns:laconica' => + 'xmlns:statusnet' => 'http://status.net/ont/', 'xmlns' => 'http://purl.org/rss/1.0/')); $this->elementStart('sioc:Site', array('rdf:about' => common_root_url())); diff --git a/lib/util.php b/lib/util.php index dbd0e0a0fc..4ad5c48f55 100644 --- a/lib/util.php +++ b/lib/util.php @@ -54,9 +54,9 @@ function common_init_language() $language = common_language(); // So we don't have to make people install the gettext locales $locale_set = common_init_locale($language); - bindtextdomain("laconica", common_config('site','locale_path')); - bind_textdomain_codeset("laconica", "UTF-8"); - textdomain("laconica"); + bindtextdomain("statusnet", common_config('site','locale_path')); + bind_textdomain_codeset("statusnet", "UTF-8"); + textdomain("statusnet"); setlocale(LC_CTYPE, 'C'); if(!$locale_set) { common_log(LOG_INFO,'Language requested:'.$language.' - locale could not be set:',__FILE__); @@ -1319,7 +1319,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) diff --git a/locale/bg_BG/LC_MESSAGES/statusnet.po b/locale/bg_BG/LC_MESSAGES/statusnet.po index 2c359f0e8d..c0bc8379f5 100644 --- a/locale/bg_BG/LC_MESSAGES/statusnet.po +++ b/locale/bg_BG/LC_MESSAGES/statusnet.po @@ -1,9 +1,9 @@ -# #-#-#-#-# laconica.pot (StatusNet 0.6.4) #-#-#-#-# +# #-#-#-#-# statusnet.pot (StatusNet 0.6.4) #-#-#-#-# # StatusNet Bulgarian translation. # Copyright (C) 2008 # This file is distributed under the same license as the StatusNet package. # Yasen Pramatarov , 2008 -# Stoyan Zhekov , 2008 +# Stoyan Zhekov , 2008 # msgid "" msgstr "" @@ -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." diff --git a/locale/ca_ES/LC_MESSAGES/statusnet.po b/locale/ca_ES/LC_MESSAGES/statusnet.po index 65ea42c8d6..44944c8ba8 100644 --- a/locale/ca_ES/LC_MESSAGES/statusnet.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." diff --git a/locale/cs_CZ/LC_MESSAGES/statusnet.po b/locale/cs_CZ/LC_MESSAGES/statusnet.po index e2c40ae12d..aee74f1af3 100644 --- a/locale/cs_CZ/LC_MESSAGES/statusnet.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." diff --git a/locale/de_DE/LC_MESSAGES/statusnet.po b/locale/de_DE/LC_MESSAGES/statusnet.po index 4124224d7b..ed02528794 100644 --- a/locale/de_DE/LC_MESSAGES/statusnet.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." diff --git a/locale/el_GR/LC_MESSAGES/statusnet.po b/locale/el_GR/LC_MESSAGES/statusnet.po index f3fe654995..314dd358c7 100644 --- a/locale/el_GR/LC_MESSAGES/statusnet.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." diff --git a/locale/en_GB/LC_MESSAGES/statusnet.po b/locale/en_GB/LC_MESSAGES/statusnet.po index 3810a904eb..a105d2b867 100644 --- a/locale/en_GB/LC_MESSAGES/statusnet.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." diff --git a/locale/es/LC_MESSAGES/statusnet.po b/locale/es/LC_MESSAGES/statusnet.po index 6fd5060ac8..c0e69e3a75 100644 --- a/locale/es/LC_MESSAGES/statusnet.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." diff --git a/locale/fi/LC_MESSAGES/statusnet.po b/locale/fi/LC_MESSAGES/statusnet.po index 0d3f0a5110..5a53dd2df5 100644 --- a/locale/fi/LC_MESSAGES/statusnet.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." diff --git a/locale/fr_FR/LC_MESSAGES/statusnet.po b/locale/fr_FR/LC_MESSAGES/statusnet.po index 1a44261807..23365960ba 100644 --- a/locale/fr_FR/LC_MESSAGES/statusnet.po +++ b/locale/fr_FR/LC_MESSAGES/statusnet.po @@ -1,12 +1,12 @@ -# #-#-#-#-# laconica-no-duplicates.po (0.43) #-#-#-#-# +# #-#-#-#-# 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 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 @@ -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" diff --git a/locale/he_IL/LC_MESSAGES/statusnet.po b/locale/he_IL/LC_MESSAGES/statusnet.po index 4644540ca0..8d43dfeaa6 100644 --- a/locale/he_IL/LC_MESSAGES/statusnet.po +++ b/locale/he_IL/LC_MESSAGES/statusnet.po @@ -1,4 +1,4 @@ -# #-#-#-#-# laconica.pot (PACKAGE VERSION) #-#-#-#-# +# #-#-#-#-# statusnet.pot (PACKAGE VERSION) #-#-#-#-# # Hebrew translation for StatusNet # תרגום לעברית של לאקוניה # Copyright (C) 2008 COPYRIGHT HOLDER @@ -7,7 +7,7 @@ # קובץ זה מופץ תחת רשיון זהה לזה של החבילה לאקוניקה # 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." diff --git a/locale/it_IT/LC_MESSAGES/statusnet.mo b/locale/it_IT/LC_MESSAGES/statusnet.mo index 87c242f035b5a4ea78b112776e43b590baea3c7c..95764f1e29e43f9276b8d4e3a255ed4dc66178f5 100644 GIT binary patch delta 40 ocmdn-iDlO(mJPeMaTb>(mXsFfrIu_yw2dbk!QFmMkTFRe0FiDkzpmJPeMapWW>=jUZ6CvHBxjVBt;+kQikF-aW&X7&)k diff --git a/locale/it_IT/LC_MESSAGES/statusnet.po b/locale/it_IT/LC_MESSAGES/statusnet.po index f67f870a5f..1a59adf85b 100644 --- a/locale/it_IT/LC_MESSAGES/statusnet.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." @@ -4583,7 +4583,7 @@ msgstr "Esplorazione secondaria del sito" #: lib/action.php:602 lib/action.php:623 msgid "StatusNet software license" -msgstr "Licenza del software laconica" +msgstr "Licenza del software statusnet" #: lib/action.php:630 msgid "All " diff --git a/locale/ja_JP/LC_MESSAGES/statusnet.po b/locale/ja_JP/LC_MESSAGES/statusnet.po index 37fde0ecbe..bb7d777ba4 100644 --- a/locale/ja_JP/LC_MESSAGES/statusnet.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." diff --git a/locale/ko_KR/LC_MESSAGES/statusnet.po b/locale/ko_KR/LC_MESSAGES/statusnet.po index df9981992e..dd7edc5104 100644 --- a/locale/ko_KR/LC_MESSAGES/statusnet.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." diff --git a/locale/mk_MK/LC_MESSAGES/statusnet.mo b/locale/mk_MK/LC_MESSAGES/statusnet.mo index c916d0292eff2933e9669a3aabb282dc9c43c0b1..0ac378c79e482d8980db98ecd63979d949bd6fc4 100644 GIT binary patch delta 38 mcmaF3jOp<*rVSHaIEzaXOG=CLQcEV!bkRldHlK5u><0i#mk`AO delta 36 lcmaF7jOpPrrVSHaIC2t`^Yb#36DQAd(S>t1UvQc12LK|y4`cuU diff --git a/locale/mk_MK/LC_MESSAGES/statusnet.po b/locale/mk_MK/LC_MESSAGES/statusnet.po index 2b8a12acc8..d4c4eb2354 100644 --- a/locale/mk_MK/LC_MESSAGES/statusnet.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." diff --git a/locale/nb_NO/LC_MESSAGES/statusnet.po b/locale/nb_NO/LC_MESSAGES/statusnet.po index 3c93acd232..1165138578 100644 --- a/locale/nb_NO/LC_MESSAGES/statusnet.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." diff --git a/locale/nl_NL/LC_MESSAGES/statusnet.po b/locale/nl_NL/LC_MESSAGES/statusnet.po index 14b7783ee0..6cc0a52c49 100644 --- a/locale/nl_NL/LC_MESSAGES/statusnet.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." diff --git a/locale/nn_NO/LC_MESSAGES/statusnet.po b/locale/nn_NO/LC_MESSAGES/statusnet.po index d0dd923664..4da276adbf 100644 --- a/locale/nn_NO/LC_MESSAGES/statusnet.po +++ b/locale/nn_NO/LC_MESSAGES/statusnet.po @@ -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." diff --git a/locale/pl_PL/LC_MESSAGES/statusnet.po b/locale/pl_PL/LC_MESSAGES/statusnet.po index 321e495736..e866145b20 100644 --- a/locale/pl_PL/LC_MESSAGES/statusnet.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." diff --git a/locale/pt/LC_MESSAGES/statusnet.po b/locale/pt/LC_MESSAGES/statusnet.po index 7d866679d2..779d7489eb 100644 --- a/locale/pt/LC_MESSAGES/statusnet.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." diff --git a/locale/pt_BR/LC_MESSAGES/statusnet.mo b/locale/pt_BR/LC_MESSAGES/statusnet.mo index 819cdb35b070b06857c27c6d5e6f6050a48a31f1..9db1638b0892c39201f0e5f15e9672d148593aa6 100644 GIT binary patch delta 24 gcmex!o#pR!mJMC2IEzaXOG=CLQcE^ZT9wrZ0HQ+-VgLXD delta 23 fcmex+o#oGUmJMC2IC2t`^Yb#36E{y@mDLCUlpzbT diff --git a/locale/pt_BR/LC_MESSAGES/statusnet.po b/locale/pt_BR/LC_MESSAGES/statusnet.po index 456122de6f..7fae3f5f32 100644 --- a/locale/pt_BR/LC_MESSAGES/statusnet.po +++ b/locale/pt_BR/LC_MESSAGES/statusnet.po @@ -2,7 +2,7 @@ # 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." diff --git a/locale/ru_RU/LC_MESSAGES/statusnet.po b/locale/ru_RU/LC_MESSAGES/statusnet.po index fa85ee740c..8a553a37f1 100644 --- a/locale/ru_RU/LC_MESSAGES/statusnet.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." diff --git a/locale/statusnet.po b/locale/statusnet.po index ebdc9603a9..c7ac6ac9b1 100644 --- a/locale/statusnet.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 diff --git a/locale/sv_SE/LC_MESSAGES/statusnet.po b/locale/sv_SE/LC_MESSAGES/statusnet.po index fdea771b93..d0a5001da5 100644 --- a/locale/sv_SE/LC_MESSAGES/statusnet.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." diff --git a/locale/te_IN/LC_MESSAGES/statusnet.po b/locale/te_IN/LC_MESSAGES/statusnet.po index 83f9f46dcb..4576f36138 100644 --- a/locale/te_IN/LC_MESSAGES/statusnet.po +++ b/locale/te_IN/LC_MESSAGES/statusnet.po @@ -1,10 +1,10 @@ -# #-#-#-#-# laconica.pot (PACKAGE VERSION) #-#-#-#-# +# #-#-#-#-# 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 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." diff --git a/locale/tr_TR/LC_MESSAGES/statusnet.po b/locale/tr_TR/LC_MESSAGES/statusnet.po index b6cb260f87..e67fbf33c3 100644 --- a/locale/tr_TR/LC_MESSAGES/statusnet.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." diff --git a/locale/uk_UA/LC_MESSAGES/statusnet.po b/locale/uk_UA/LC_MESSAGES/statusnet.po index 396e78508d..55cea21c31 100644 --- a/locale/uk_UA/LC_MESSAGES/statusnet.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. @@ -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." diff --git a/locale/vi_VN/LC_MESSAGES/statusnet.mo b/locale/vi_VN/LC_MESSAGES/statusnet.mo index 6ac9a37c2a60139e51f4701d0c6c8964b7ff254e..65add28b47fa6f6f69b152b6e3db6031069a0d26 100644 GIT binary patch delta 24 fcmccF&3vnyc|%$TXK_hlNojFjYRTrjjO{tMLR|(<( diff --git a/locale/vi_VN/LC_MESSAGES/statusnet.po b/locale/vi_VN/LC_MESSAGES/statusnet.po index 595004d8a1..af34d52106 100644 --- a/locale/vi_VN/LC_MESSAGES/statusnet.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." diff --git a/locale/zh_CN/LC_MESSAGES/statusnet.po b/locale/zh_CN/LC_MESSAGES/statusnet.po index 28188fce37..529d2f4f89 100644 --- a/locale/zh_CN/LC_MESSAGES/statusnet.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." diff --git a/locale/zh_TW/LC_MESSAGES/statusnet.po b/locale/zh_TW/LC_MESSAGES/statusnet.po index 707fa31911..a941875188 100644 --- a/locale/zh_TW/LC_MESSAGES/statusnet.po +++ b/locale/zh_TW/LC_MESSAGES/statusnet.po @@ -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." 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/PiwikAnalyticsPlugin.php b/plugins/PiwikAnalyticsPlugin.php index 902d1744d3..85a24c1320 100644 --- a/plugins/PiwikAnalyticsPlugin.php +++ b/plugins/PiwikAnalyticsPlugin.php @@ -45,7 +45,7 @@ if (!defined('STATUSNET')) { * * 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 StatusNet @@ -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/TemplatePlugin.php b/plugins/TemplatePlugin.php index b56fa3dbdd..cfa0511625 100644 --- a/plugins/TemplatePlugin.php +++ b/plugins/TemplatePlugin.php @@ -195,7 +195,7 @@ 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 = $this->templateFolder() . '/index.php'; @@ -326,7 +326,7 @@ 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 diff --git a/scripts/delete_status_network.sh b/scripts/delete_status_network.sh index 32187382cd..f55f1486bb 100755 --- a/scripts/delete_status_network.sh +++ b/scripts/delete_status_network.sh @@ -1,6 +1,6 @@ #!/bin/bash -source /etc/laconica/setup.cfg +source /etc/statusnet/setup.cfg export nickname=$1 diff --git a/scripts/rebuilddb_psql.sh b/scripts/rebuilddb_psql.sh index 9ade515ad7..6b15b9212f 100755 --- a/scripts/rebuilddb_psql.sh +++ b/scripts/rebuilddb_psql.sh @@ -15,7 +15,7 @@ # # You MUST run this script as the 'postgres' user. # You MUST be able to write to /tmp/rebuilddb_psql.sql -# You MUST specify the laconica database user and database name on the +# You MUST specify the statusnet database user and database name on the # command line, e.g. ./rebuilddb_psql.sh myuser mydbname # @@ -27,7 +27,7 @@ cd `dirname $0` pg_dump -a -D --disable-trigger $DB > /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/setup_status_network.sh b/scripts/setup_status_network.sh index 17440640e4..d40d4724f2 100755 --- a/scripts/setup_status_network.sh +++ b/scripts/setup_status_network.sh @@ -1,6 +1,6 @@ #!/bin/bash -source /etc/laconica/setup.cfg +source /etc/statusnet/setup.cfg export nickname=$1 export sitename=$2 @@ -13,7 +13,7 @@ export username=$nickname$USERBASE mysqladmin -h $DBHOST -u $ADMIN --password=$ADMINPASS create $database -for f in laconica.sql innodb.sql sms_carrier.sql foreign_services.sql notice_source.sql; do +for f in statusnet.sql innodb.sql sms_carrier.sql foreign_services.sql notice_source.sql; do mysql -h $DBHOST -u $ADMIN --password=$ADMINPASS $database < ../db/$f; done diff --git a/scripts/statusnet.spec b/scripts/statusnet.spec index 331e10671b..2019d8abb2 100644 --- a/scripts/statusnet.spec +++ b/scripts/statusnet.spec @@ -4,11 +4,11 @@ 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 BuildArch: noarch @@ -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/laconica/" - + Options Indexes FollowSymLinks AllowOverride All Order allow,deny @@ -73,17 +73,17 @@ 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 - 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 - Changed version number to 0.7.2. @@ -92,7 +92,7 @@ rm -rf %buildroot - 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/twitterstatusfetcher.php b/scripts/twitterstatusfetcher.php index f25690e58e..9a74ae99d8 100755 --- a/scripts/twitterstatusfetcher.php +++ b/scripts/twitterstatusfetcher.php @@ -54,7 +54,7 @@ require_once INSTALLDIR . '/lib/daemon.php'; */ // 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 { diff --git a/scripts/update_pot.sh b/scripts/update_pot.sh index a7f5e4d3a0..dbbe4354f5 100755 --- a/scripts/update_pot.sh +++ b/scripts/update_pot.sh @@ -1,3 +1,3 @@ cd `dirname $0` cd .. -xgettext --from-code=UTF-8 --default-domain=laconica --output=locale/laconica.po --language=PHP --join-existing actions/*.php classes/*.php lib/*.php scripts/*.php +xgettext --from-code=UTF-8 --default-domain=statusnet --output=locale/laconica.po --language=PHP --join-existing actions/*.php classes/*.php lib/*.php scripts/*.php diff --git a/scripts/update_translations.php b/scripts/update_translations.php index 8120f636f6..1f291dc423 100755 --- a/scripts/update_translations.php +++ b/scripts/update_translations.php @@ -30,7 +30,7 @@ define('STATUSNET', true); require_once(INSTALLDIR . '/lib/common.php'); // Master StatusNet .pot file location (created by update_pot.sh) -$laconica_pot = INSTALLDIR . '/locale/laconica.po'; +$statusnet_pot = INSTALLDIR . '/locale/laconica.po'; set_time_limit(60); @@ -43,11 +43,11 @@ foreach ($languages as $language) { $code = $language['lang']; $file_url = 'http://status.net/pootle/' . $code . - '/laconica/LC_MESSAGES/laconica.po'; + '/statusnet/LC_MESSAGES/laconica.po'; $lcdir = INSTALLDIR . '/locale/' . $code; $msgdir = "$lcdir/LC_MESSAGES"; - $pofile = "$msgdir/laconica.po"; - $mofile = "$msgdir/laconica.mo"; + $pofile = "$msgdir/statusnet.po"; + $mofile = "$msgdir/statusnet.mo"; /* Check for an existing */ if (!is_dir($msgdir)) { @@ -71,7 +71,7 @@ foreach ($languages as $language) { if (sha1($new_file) != $existingSHA1 || !file_exists($mofile)) { echo "Updating ".$code."\n"; file_put_contents($pofile, $new_file); - system(sprintf('msgmerge -U %s %s', $pofile, $laconica_pot)); + system(sprintf('msgmerge -U %s %s', $pofile, $statusnet_pot)); system(sprintf('msgfmt -f -o %s %s', $mofile, $pofile)); } else { echo "Unchanged - ".$code."\n"; diff --git a/sphinx.conf.sample b/sphinx.conf.sample index 8204b9db6c..3de62f637f 100644 --- a/sphinx.conf.sample +++ b/sphinx.conf.sample @@ -1,5 +1,5 @@ # -# Minimal Sphinx configuration sample for laconica +# Minimal Sphinx configuration sample for statusnet # source src1 diff --git a/theme/readme.txt b/theme/readme.txt index 3794eecb3b..151b1fb71c 100644 --- a/theme/readme.txt +++ b/theme/readme.txt @@ -1,4 +1,4 @@ -/** Howto: create a laconica theme +/** Howto: create a statusnet theme * * @package StatusNet * @author Sarven Capadisli @@ -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. From 0e3598cea950b7503b351af8fb4c59d6b029a16c Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Tue, 25 Aug 2009 20:45:09 -0700 Subject: [PATCH 053/134] Small update to the Facebook app section --- README | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README b/README index c13e28791d..4611b06d68 100644 --- a/README +++ b/README @@ -629,10 +629,10 @@ 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 From c1c3c60713e8eb6265c84f49f5734504474038ce Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Tue, 25 Aug 2009 20:45:09 -0700 Subject: [PATCH 054/134] Small update to the Facebook app section --- README | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README b/README index ab25b9f3ff..ba4394b797 100644 --- a/README +++ b/README @@ -629,10 +629,10 @@ 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 From ff01140d7163e1831adf9fc1bf5625afbee76a37 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 26 Aug 2009 03:13:09 -0400 Subject: [PATCH 055/134] accidentally changed the URL for Laconica Tools --- db/notice_source.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/notice_source.sql b/db/notice_source.sql index 8d114ac304..f590d1b97a 100644 --- a/db/notice_source.sql +++ b/db/notice_source.sql @@ -17,7 +17,7 @@ VALUES ('gravity', 'Gravity', 'http://mobileways.de/gravity', now()), ('Gwibber','Gwibber','http://launchpad.net/gwibber', now()), ('HelloTxt','HelloTxt','http://hellotxt.com/', now()), - ('identicatools','Laconica Tools','http://bitbucketlabs.net/statusnet-tools/', now()), + ('identicatools','Laconica Tools','http://bitbucketlabs.net/laconica-tools/', now()), ('identichat','identichat','http://identichat.prosody.im/', now()), ('IdentiFox','IdentiFox','http://www.bitbucket.org/uncryptic/identifox/', now()), ('identitwitch','IdentiTwitch','http://richfish.org/identitwitch/', now()), From e3a53251c08ce5245f098bb37ca955016d9d57a0 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 26 Aug 2009 03:33:43 -0400 Subject: [PATCH 056/134] last scrub of Laconica -> StatusNet --- README | 20 ++++++++--------- htaccess.sample | 2 +- js/jcrop/jquery.Jcrop.go.js | 8 +++---- lib/common.php | 3 ++- locale/ko_KR/LC_MESSAGES/statusnet.mo | Bin 88928 -> 88929 bytes locale/ko_KR/LC_MESSAGES/statusnet.po | 2 +- plugins/FBConnect/FBConnectPlugin.css | 8 +++---- plugins/FBConnect/README | 30 +++++++++++++------------- plugins/InfiniteScroll/readme.txt | 2 +- plugins/recaptcha/README | 2 +- scripts/commandline.inc | 6 +++--- scripts/statusnet.spec | 10 ++++----- scripts/twitterstatusfetcher.php | 2 +- scripts/update_pot.sh | 2 +- scripts/update_translations.php | 4 ++-- 15 files changed, 51 insertions(+), 50 deletions(-) diff --git a/README b/README index 195d1b4ec8..f10c8e10ed 100644 --- a/README +++ b/README @@ -60,7 +60,7 @@ License along with this program, in the file "COPYING". If not, see 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 @@ -910,7 +910,7 @@ Starting with version 0.7.1, you can put config files in the /etc/statusnet/ directory on your server, if it exists. Config files will be included in this order: -* /etc/statusnet/laconica.php - server-wide config +* /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 @@ -1622,15 +1622,15 @@ 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 @@ -1662,6 +1662,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/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/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/lib/common.php b/lib/common.php index c3e83789fb..9a5d33e658 100644 --- a/lib/common.php +++ b/lib/common.php @@ -341,7 +341,8 @@ function addPlugin($name, $attrs = null) if (isset($conffile)) { $_config_files = array($conffile); } else { - $_config_files = array('/etc/statusnet/laconica.php', + $_config_files = array('/etc/statusnet/statusnet.php', + '/etc/laconica/laconica.php', '/etc/statusnet/'.$_server.'.php'); if (strlen($_path) > 0) { diff --git a/locale/ko_KR/LC_MESSAGES/statusnet.mo b/locale/ko_KR/LC_MESSAGES/statusnet.mo index e7fb77d614ca1af241de423185d8531bbbaf6813..2b177ff86b9e6e8a0a54923d3bf5e77050713af7 100644 GIT binary patch delta 4437 zcmXZee^l4i9mnze5ivkX{c8Lw@Qd+71VvB-K}9Hquky<;7)G-n{%Ui_HN@1!`sg%S zZl{xD?X+aFthC%xj2+H#>0K*qU=&g6{d^-oGCA-tXsgf4<-M z^F7@id8RwEb7`g@>lw4E&zK>`n2r6$RAMWR!xOj@`%%BQ->|-f6R7XSXgrBA*z113 zggMl&;zUfnX@9T9q15k3z4ypXjDJHdAYrg)if{_X;iIUX-HKYsexE`Kh4ZM6Gb6o$Ez83Z)E~mB z*o2zU9@l=v`4`lVokw+e6IWot5YNoQU8sql#cI5OdT!b+o@qwEiNaV4=P(naqHKqg zP!p=aQ5eP~T#jkD33ax+Q7ifgQ}70ALdns#J{7a6*Q4Iwi0W?#awNXlZwux)Ci26- zP#wp{*p8;7UaUvOz@w9eS_ z>PBtlA?IhP7q4R;28Y{v7&YKp)P#TTJc2>$|3tkP7~z?jSb!m1gXQ>p^cDS4BW*`z zs90EviuzVm6hDVSJb>!(L)5_kK}|R@U}GhSdT%`Hj0-V{m8kbtqJr-ysB}FV@ce-@ zy-b5TN*QHeOh>I~8mhx(s3U52^=D8MXm|b&HPO>J8v9U3FmkjvaG@2U(z6vc&PmjB zpN}U06|GlkP`VAf%^SGMl2Ji84mHyT3}6fDxo1!l=s-=d2erausOPV`_JlY)U}Avh51=}D2emUFqqaCA-ZPUh9`msRHSreI3iqO( ze;bv~Uttjcjq1;jOR$AB)Xeiy1K*3fv6i5+U_ENZyKoL3Ms4NLL>pWIRGQ7lr*H$R zpFv5spW&z-%0S()^N{y_vzi=nsz!%Y1ki0@627l{3f=Z_kP{DH%HBds(ItDdR2F}M) z`~kM%Jd8{A_%s`{7=!qwGiI#4U$RjXsvb-JD`*zdpy=I<>bM)V<;PJ`{&&<@un$9+ zf2WO!4X7A+0d*AbVIy9~N(`lWrVM|ETF57;qm4}W%wsq;-S^Dh6n;g+QoMo{Sf62M z_zTp^_n^*xAC}--r~&&>!IqL~gEJRrQ4gUOv<-E%hj1=lLoK9qoE>+qPeC2OiADGh z-h+d)?7$(+qF##%#`Ug!531vRsBgu2)Q$}qZ|{+0)E3V`^fLhQJSNB)A!aB_0 zhpng!ScXCB?KlMwx%$`mKJ`)gHvP`ve(FOe z+hFWQJ^w$8DM3s%ptD?5tn;2dhjS5QG{ zX4+^UjS8}C)I?^x_U}7eaT4u2UHzD=e}US$_!9D8`J7*3uf$cT8*vRPn0|!%BhiD3 zi3?bYC9`ahZbI$IA*{kLQSTL$+ADb_4tzaPS+xt*|8Z2>e&JKlOd`wdKta@lA>4`U za4g2(ZPTX+NgGpvO0zYnGyW;6!#7bE&neV>5POf^u{6{;g{b%IP|x|BC@8pogWBp( zkc=^BQ5^>6cqWK>sQeD&4D3Y3z-6q%%yOF*EvOxR1J&QxsH5vcrEhG7tJAoCjJ#p#;kd| zQOUnW6tv~rFn|Y96M7HzPsOYB%(t-|wSrF6^QTcO9bRScj~djLzKDu}6R3+UrrKuH z98`?##FcmvA7FgbSYz}4Abywne^EEs(pnn>JFt;@(R|Nr!RJt4wWP3h5$gG0qP`s; zqb7bwoxMR9qb9N&3$Pd8z@&Qee>#QtDJY0y7TEuGc^Ia?4z;3pQ61dC5Ek8QKUP~% z?QdfzUPm3xuN&;=_phkf%3f%Lu@)7ykD%J0T1fuaP}u8!_y!-Oo^YRMx^W#2#oR_4 zOvR|bRI^<@?EDtS(7qg_u*tdJxf#{Zk5L!U^Qa^2Xym3-l>gcNa0xZQRaf`!x6vPk hN}DWHR5x@zUiiJk(RHgIUj0~e^|IAnSNfVB_&?El@<;#x delta 4436 zcmXZedsNr;9mny{7bOAF0Ogh-zeEsF5W={6fkG~F^9SaIoE{WAvo%9^)TwP>k0#4? zI&;=eON(WjmMw+!=&^E*ojhC4Wp-?tb(Z4HWnNZuZc8xseDV4G_4s@~zwh^ReZN27 zU+>}2^M^yb+a~yto-wQXjk&`Z4m&UdPh%(cqkiA{t@S0$roI=$@eD>_ulxNf zPNIGTb1*Pqe{aO$)LT&RJv3l^lS!eSh5+usczg@T;AzxA|HR3dY&=tl^>_lepe7dd zJd=v^F%lnh^{tpjeIMS9r!fm}VgLgnzGsRll!thx88_fed>@lBc8F(2U_NS~a@5SL zF$J5Pt8g~;?U;{$M=cgHUK%HeLmSPX4V?XL_Q-|AyG&t9w+B>lbkE3=ngvcMk_$EL>1LQbs zP%~~r?Z`INfJdC4IQyMrN7x-HLp`?)wIe@qcDweosGaL`21a_OhVjiz3X0O7q0Z_M zYAcUAKSjNG3-d7LPFoM623&)h@GqUmFhKn))O*oUo|%pXSc9vv3V)BjqJLPl?Wi0T z3rkT^-+_waXE1=>s183s4g4R}gcD+HtfZjc%S4@VAqKD(_1+_>;QKi$U603j{@|Hj zqd^@dkFqb0N3Ey`)nOazh*r7!Q>Y2-bp8%C(Q`N&`%p&^HQF1z(27y%*?}784C=Yh zMw9=F)*Cb^-G;|{gEv_cDhMZ_W;z#Ra6Rg|r%)5+>3ht zZB#mci2?jKsy{zA!4^_cGtWZ}`~d34T7t@gb*L5Z!b*GxwUrTxHn^fuX*L_T;09Db z-d(nzk*FO?L*1~mkoSGFjY5EiXHhdcg4&`#qB=N(%GZmi`yphE4WcAeHq1e-tOND_ zHq`r_&Mr)#-h-O(SyU{YAC&y-qo9?>CD|2bqb{08oP<8=_t#JZyyN@;wIk_tjAj1jL)GuN=~r@ zjYq94&(-Tt?=3*>(2r65KY>H=Mf4RUzo8I;Z#a*k(&>Fv@LWL+6d$mTMGcgOK`g^f zxE*UT_HNH~U@Hdj3upK^d%t9%CR9I;{8!M-qe0QT3Dxl-)Rvz@MfpEaU%@`C!Ms!( z6B|%5@EqzWPGAdO!#b=U@0t7X7pR4Nj5^w(X`We)Q__6T+)v?E8rtwWR%3Izo#FGS zmG42F{XU$5Z=nY4Lj_y%1RI<=SVp}XwV@Wf^wdH9iG({3e#*yI6rk zGVQ?Cm`S}66^!d#`yN!s`%vGCOQ;Dr4**8x;NiIeO^0;m|t!EELKdI~z5 zS5Rs5A?mvxmTkAF0`+x#0(Ex#u>e1F#^%`eI@H!ahWh=0^D=4&1C#9nXJHxjl~}6p z{{ae$;_DcVWx1Z2gH2eDFFP-zwtQlq9iR;Z)OX?(JnHIS<9pO&?y>229=oWA=G$OA zgnIsen5X>Do??GkjQUQ$gxd06RK8w8EbzTvRMCqKjQNBH4RmFyXEtE{G`q6ns17coR(u^5gafE( zA2rFS@Ob}nuP`LBG=n_;iSm8ctWH7b~XiuxnbgNljE zSdP=nY>;k51@BR;$1hOt6_nd6`4JradZMyw7pnhLsI>jur=Xb(z0VGmf_ktTJ8>EVW7wY+QsFjYaxA#W_YD-^4#lUIQMHb#*vuP$O zMqa@0;}u-Q_+~+)&HE$xJ?j5O-C#>++Zfn^E!2yHo_QRfL4DN{o2&~_&;JVb?f3{a z@iEQz25m)6WH%OKFCM_eIpqIT3V)%XAPRrL{ - * @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/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/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/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/scripts/commandline.inc b/scripts/commandline.inc index 3b6ef60987..1573b569db 100644 --- a/scripts/commandline.inc +++ b/scripts/commandline.inc @@ -1,7 +1,7 @@ %{buildroot}%{_sysconfdir}/httpd/conf.d/statusnet.conf <<"EOF" -Alias /statusnet/ "/var/www/laconica/" +Alias /statusnet/ "/var/www/statusnet/" Options Indexes FollowSymLinks @@ -79,13 +79,13 @@ rm -rf %buildroot %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 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 diff --git a/scripts/twitterstatusfetcher.php b/scripts/twitterstatusfetcher.php index 9a74ae99d8..68f7e9bf75 100755 --- a/scripts/twitterstatusfetcher.php +++ b/scripts/twitterstatusfetcher.php @@ -478,7 +478,7 @@ class TwitterStatusFetcher extends ParallelizingDaemon default: // Note: Twitter's big avatars are a different size than - // StatusNet's (Laconica's = 96) + // StatusNet's (StatusNet's = 96) $avatar->width = 73; $avatar->height = 73; diff --git a/scripts/update_pot.sh b/scripts/update_pot.sh index dbbe4354f5..9419e4337f 100755 --- a/scripts/update_pot.sh +++ b/scripts/update_pot.sh @@ -1,3 +1,3 @@ cd `dirname $0` cd .. -xgettext --from-code=UTF-8 --default-domain=statusnet --output=locale/laconica.po --language=PHP --join-existing actions/*.php classes/*.php lib/*.php scripts/*.php +xgettext --from-code=UTF-8 --default-domain=statusnet --output=locale/statusnet.po --language=PHP --join-existing actions/*.php classes/*.php lib/*.php scripts/*.php diff --git a/scripts/update_translations.php b/scripts/update_translations.php index 1f291dc423..4f02b55ec7 100755 --- a/scripts/update_translations.php +++ b/scripts/update_translations.php @@ -30,7 +30,7 @@ define('STATUSNET', true); require_once(INSTALLDIR . '/lib/common.php'); // Master StatusNet .pot file location (created by update_pot.sh) -$statusnet_pot = INSTALLDIR . '/locale/laconica.po'; +$statusnet_pot = INSTALLDIR . '/locale/statusnet.po'; set_time_limit(60); @@ -43,7 +43,7 @@ foreach ($languages as $language) { $code = $language['lang']; $file_url = 'http://status.net/pootle/' . $code . - '/statusnet/LC_MESSAGES/laconica.po'; + '/statusnet/LC_MESSAGES/statusnet.po'; $lcdir = INSTALLDIR . '/locale/' . $code; $msgdir = "$lcdir/LC_MESSAGES"; $pofile = "$msgdir/statusnet.po"; From e1b5ca85f9832a17728d9edfc35df6f0064f772b Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 26 Aug 2009 05:46:41 -0400 Subject: [PATCH 057/134] more log output in queue handlers --- lib/queuehandler.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/queuehandler.php b/lib/queuehandler.php index f11e5bd90d..5c5f31f0ef 100644 --- a/lib/queuehandler.php +++ b/lib/queuehandler.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; } From fd53fba114283935a304ed2e05111da256ae798f Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 26 Aug 2009 05:50:20 -0400 Subject: [PATCH 058/134] more logging in xmppqueuehandler --- lib/xmppqueuehandler.php | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/lib/xmppqueuehandler.php b/lib/xmppqueuehandler.php index 77d476c30e..0ab837eb65 100644 --- a/lib/xmppqueuehandler.php +++ b/lib/xmppqueuehandler.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); } From be51d5e23ae4c533950fb8c9fcc54cd756dd1ea8 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 26 Aug 2009 05:46:41 -0400 Subject: [PATCH 059/134] more log output in queue handlers --- lib/queuehandler.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/queuehandler.php b/lib/queuehandler.php index c2ff10f32f..a170b11cd6 100644 --- a/lib/queuehandler.php +++ b/lib/queuehandler.php @@ -86,6 +86,7 @@ class QueueHandler extends Daemon function run() { if (!$this->start()) { + $this->log(LOG_WARNING, 'failed to start'); return false; } @@ -98,9 +99,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; } From 6dc89e766fd2f48d4cec61a2ae8540397c2ac76e Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 26 Aug 2009 05:50:20 -0400 Subject: [PATCH 060/134] more logging in xmppqueuehandler --- lib/xmppqueuehandler.php | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/lib/xmppqueuehandler.php b/lib/xmppqueuehandler.php index 77d476c30e..0ab837eb65 100644 --- a/lib/xmppqueuehandler.php +++ b/lib/xmppqueuehandler.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); } From 379c80e26e2de30841f7fb49e7e967e675a4951f Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 26 Aug 2009 10:33:04 -0400 Subject: [PATCH 061/134] add *Laconica* events back in for backwards compatibility --- EVENTS.txt | 12 ++++++++++++ lib/action.php | 10 ++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/EVENTS.txt b/EVENTS.txt index 59de6de5f8..68cb28603b 100644 --- a/EVENTS.txt +++ b/EVENTS.txt @@ -26,6 +26,12 @@ StartShowStatusNetStyles: Showing StatusNet Style links EndShowStatusNetStyles: End showing StatusNet Style links; good place to add handheld or JavaScript dependant styles - $action: the current action +StartShowLaconicaStyles: backwards compatibility; deprecated +- $action: the current action + +EndShowLaconicaStyles: backwards compatibility; deprecated +- $action: the current action + StartShowUAStyles: Showing custom UA Style links - $action: the current action @@ -51,6 +57,12 @@ StartShowStatusNetScripts: Showing StatusNet script links (use this to link to a 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 - $action: the current action diff --git a/lib/action.php b/lib/action.php index a99c885dd6..cb922f60e0 100644 --- a/lib/action.php +++ b/lib/action.php @@ -192,7 +192,10 @@ class Action extends HTMLOutputter // lawsuit { if (Event::handle('StartShowStyles', array($this))) { - if (Event::handle('StartShowStatusNetStyles', 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 @@ -200,6 +203,7 @@ class Action extends HTMLOutputter // lawsuit } $this->cssLink('css/print.css','base','print'); Event::handle('EndShowStatusNetStyles', array($this)); + Event::handle('EndShowLaconicaStyles', array($this)); } if (Event::handle('StartShowUAStyles', array($this))) { @@ -249,13 +253,15 @@ class Action extends HTMLOutputter // lawsuit $this->script('js/jquery.joverlay.min.js'); Event::handle('EndShowJQueryScripts', array($this)); } - if (Event::handle('StartShowStatusNetScripts', 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)); } From cbdf8e51aa2826e11cc17c34bcbf568ca37e26ce Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Wed, 26 Aug 2009 14:34:41 +0000 Subject: [PATCH 062/134] Facebook app wasn't loading the theme css --- lib/facebookaction.php | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/facebookaction.php b/lib/facebookaction.php index 289e702c69..975ef9a504 100644 --- a/lib/facebookaction.php +++ b/lib/facebookaction.php @@ -96,6 +96,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'); } From 434abed511faa045c506c75443895b7e4ce7ff3f Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 26 Aug 2009 10:34:50 -0400 Subject: [PATCH 063/134] add back in /etc/laconica/* for compatibility --- lib/common.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/common.php b/lib/common.php index 9a5d33e658..e658eaeb23 100644 --- a/lib/common.php +++ b/lib/common.php @@ -342,11 +342,14 @@ if (isset($conffile)) { $_config_files = array($conffile); } else { $_config_files = array('/etc/statusnet/statusnet.php', + '/etc/statusnet/laconica.php', '/etc/laconica/laconica.php', - '/etc/statusnet/'.$_server.'.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'; } $_config_files[] = INSTALLDIR.'/config.php'; From df86aa721455fde537608d5faeaaf92075afb738 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 26 Aug 2009 10:41:36 -0400 Subject: [PATCH 064/134] define LACONICA and accept LACONICA for backwards compatibility --- actions/accesstoken.php | 2 +- actions/all.php | 2 +- actions/allrss.php | 2 +- actions/api.php | 2 +- actions/attachment.php | 2 +- actions/attachment_ajax.php | 2 +- actions/attachment_thumbnail.php | 2 +- actions/avatarbynickname.php | 2 +- actions/avatarsettings.php | 2 +- actions/block.php | 2 +- actions/blockedfromgroup.php | 2 +- actions/confirmaddress.php | 2 +- actions/conversation.php | 2 +- actions/deletenotice.php | 2 +- actions/disfavor.php | 2 +- actions/doc.php | 2 +- actions/editgroup.php | 2 +- actions/emailsettings.php | 2 +- actions/facebookhome.php | 2 +- actions/facebookinvite.php | 2 +- actions/facebooklogin.php | 2 +- actions/facebookremove.php | 2 +- actions/facebooksettings.php | 2 +- actions/favor.php | 2 +- actions/favorited.php | 2 +- actions/favoritesrss.php | 2 +- actions/featured.php | 2 +- actions/file.php | 2 +- actions/finishaddopenid.php | 2 +- actions/finishopenidlogin.php | 2 +- actions/finishremotesubscribe.php | 2 +- actions/foaf.php | 2 +- actions/groupblock.php | 2 +- actions/groupbyid.php | 2 +- actions/groupdesignsettings.php | 2 +- actions/grouplogo.php | 2 +- actions/groupmembers.php | 2 +- actions/grouprss.php | 2 +- actions/groups.php | 2 +- actions/groupsearch.php | 2 +- actions/groupunblock.php | 2 +- actions/imsettings.php | 2 +- actions/inbox.php | 2 +- actions/invite.php | 2 +- actions/joingroup.php | 2 +- actions/leavegroup.php | 2 +- actions/login.php | 2 +- actions/logout.php | 2 +- actions/makeadmin.php | 2 +- actions/microsummary.php | 2 +- actions/newgroup.php | 2 +- actions/newmessage.php | 2 +- actions/newnotice.php | 2 +- actions/noticesearch.php | 2 +- actions/noticesearchrss.php | 2 +- actions/nudge.php | 2 +- actions/oembed.php | 2 +- actions/openidlogin.php | 2 +- actions/openidsettings.php | 2 +- actions/opensearch.php | 2 +- actions/othersettings.php | 2 +- actions/outbox.php | 2 +- actions/passwordsettings.php | 2 +- actions/peoplesearch.php | 2 +- actions/peopletag.php | 2 +- actions/postnotice.php | 2 +- actions/profilesettings.php | 2 +- actions/public.php | 2 +- actions/publicrss.php | 2 +- actions/publictagcloud.php | 2 +- actions/publicxrds.php | 2 +- actions/recoverpassword.php | 2 +- actions/register.php | 2 +- actions/remotesubscribe.php | 2 +- actions/replies.php | 2 +- actions/repliesrss.php | 2 +- actions/requesttoken.php | 2 +- actions/showfavorites.php | 2 +- actions/showgroup.php | 2 +- actions/showmessage.php | 2 +- actions/shownotice.php | 2 +- actions/showstream.php | 2 +- actions/smssettings.php | 2 +- actions/subedit.php | 2 +- actions/subscribe.php | 2 +- actions/subscribers.php | 2 +- actions/subscriptions.php | 4 ++-- actions/sup.php | 2 +- actions/tag.php | 2 +- actions/tagother.php | 2 +- actions/tagrss.php | 2 +- actions/twitapiaccount.php | 2 +- actions/twitapiblocks.php | 2 +- actions/twitapidirect_messages.php | 2 +- actions/twitapifavorites.php | 2 +- actions/twitapifriendships.php | 2 +- actions/twitapigroups.php | 2 +- actions/twitapihelp.php | 2 +- actions/twitapinotifications.php | 2 +- actions/twitapisearchatom.php | 2 +- actions/twitapisearchjson.php | 2 +- actions/twitapistatuses.php | 2 +- actions/twitapistatusnet.php | 2 +- actions/twitapitags.php | 2 +- actions/twitapitrends.php | 2 +- actions/twitapiusers.php | 2 +- actions/twitterauthorization.php | 2 +- actions/twittersettings.php | 2 +- actions/unblock.php | 2 +- actions/unsubscribe.php | 2 +- actions/updateprofile.php | 2 +- actions/userauthorization.php | 2 +- actions/userbyid.php | 2 +- actions/userdesignsettings.php | 2 +- actions/usergroups.php | 2 +- actions/userrss.php | 2 +- actions/xrds.php | 2 +- classes/Design.php | 2 +- classes/File.php | 2 +- classes/File_oembed.php | 2 +- classes/File_redirection.php | 2 +- classes/File_thumbnail.php | 2 +- classes/File_to_post.php | 2 +- classes/Group_alias.php | 2 +- classes/Group_block.php | 2 +- classes/Memcached_DataObject.php | 2 +- classes/Notice.php | 2 +- classes/Notice_inbox.php | 2 +- classes/Profile.php | 2 +- classes/Profile_block.php | 2 +- classes/Remote_profile.php | 2 +- classes/Session.php | 2 +- classes/Status_network.php | 2 +- classes/Subscription.php | 2 +- classes/User.php | 2 +- index.php | 1 + install.php | 2 +- lib/Shorturl_api.php | 2 +- lib/accountsettingsaction.php | 2 +- lib/action.php | 2 +- lib/arraywrapper.php | 2 +- lib/attachmentlist.php | 2 +- lib/attachmentnoticesection.php | 2 +- lib/attachmenttagcloudsection.php | 2 +- lib/blockform.php | 2 +- lib/channel.php | 2 +- lib/clienterroraction.php | 2 +- lib/clientexception.php | 2 +- lib/command.php | 2 +- lib/commandinterpreter.php | 2 +- lib/common.php | 2 +- lib/connectsettingsaction.php | 2 +- lib/currentuserdesignaction.php | 2 +- lib/daemon.php | 2 +- lib/dberroraction.php | 2 +- lib/deleteaction.php | 2 +- lib/designsettings.php | 2 +- lib/disfavorform.php | 2 +- lib/error.php | 2 +- lib/event.php | 2 +- lib/facebookaction.php | 2 +- lib/favorform.php | 2 +- lib/featureduserssection.php | 2 +- lib/feed.php | 2 +- lib/feedlist.php | 2 +- lib/form.php | 2 +- lib/galleryaction.php | 2 +- lib/groupdesignaction.php | 2 +- lib/groupeditform.php | 2 +- lib/grouplist.php | 2 +- lib/groupminilist.php | 2 +- lib/groupnav.php | 2 +- lib/groupsbymemberssection.php | 2 +- lib/groupsbypostssection.php | 2 +- lib/groupsection.php | 2 +- lib/grouptagcloudsection.php | 2 +- lib/htmloutputter.php | 2 +- lib/imagefile.php | 2 +- lib/jabber.php | 2 +- lib/joinform.php | 2 +- lib/jsonsearchresultslist.php | 2 +- lib/language.php | 2 +- lib/leaveform.php | 2 +- lib/logingroupnav.php | 2 +- lib/mail.php | 2 +- lib/mailbox.php | 2 +- lib/messageform.php | 2 +- lib/microid.php | 2 +- lib/noticeform.php | 2 +- lib/noticelist.php | 2 +- lib/noticesection.php | 2 +- lib/nudgeform.php | 2 +- lib/oauthclient.php | 2 +- lib/oauthstore.php | 2 +- lib/omb.php | 2 +- lib/openid.php | 2 +- lib/ownerdesignaction.php | 2 +- lib/parallelizingdaemon.php | 2 +- lib/personalgroupnav.php | 2 +- lib/personaltagcloudsection.php | 2 +- lib/ping.php | 2 +- lib/plugin.php | 2 +- lib/popularnoticesection.php | 2 +- lib/profileaction.php | 2 +- lib/profilelist.php | 2 +- lib/profileminilist.php | 2 +- lib/profilesection.php | 2 +- lib/publicgroupnav.php | 2 +- lib/queuehandler.php | 2 +- lib/router.php | 2 +- lib/rssaction.php | 2 +- lib/search_engines.php | 2 +- lib/searchaction.php | 2 +- lib/searchgroupnav.php | 2 +- lib/section.php | 2 +- lib/servererroraction.php | 2 +- lib/serverexception.php | 2 +- lib/settingsaction.php | 2 +- lib/snapshot.php | 2 +- lib/subgroupnav.php | 2 +- lib/subpeopletagcloudsection.php | 2 +- lib/subs.php | 2 +- lib/subscribeform.php | 2 +- lib/subscriberspeopleselftagcloudsection.php | 2 +- lib/subscriberspeopletagcloudsection.php | 2 +- lib/subscriptionlist.php | 2 +- lib/subscriptionspeopleselftagcloudsection.php | 2 +- lib/subscriptionspeopletagcloudsection.php | 2 +- lib/tagcloudsection.php | 2 +- lib/theme.php | 2 +- lib/topposterssection.php | 2 +- lib/twitter.php | 2 +- lib/twitterapi.php | 2 +- lib/twitteroauthclient.php | 2 +- lib/unblockform.php | 2 +- lib/unsubscribeform.php | 2 +- lib/webcolor.php | 2 +- lib/widget.php | 2 +- lib/xmloutputter.php | 2 +- lib/xmlstringer.php | 2 +- lib/xmppqueuehandler.php | 2 +- plugins/Autocomplete/AutocompletePlugin.php | 2 +- plugins/Comet/CometPlugin.php | 2 +- plugins/FBConnect/FBCLoginGroupNav.php | 2 +- plugins/FBConnect/FBCSettingsNav.php | 2 +- plugins/FBConnect/FBC_XDReceiver.php | 2 +- plugins/FBConnect/FBConnectLogin.php | 2 +- plugins/FBConnect/FBConnectPlugin.php | 2 +- plugins/FBConnect/FBConnectSettings.php | 2 +- plugins/InfiniteScroll/InfiniteScrollPlugin.php | 2 +- plugins/Meteor/MeteorPlugin.php | 2 +- plugins/Realtime/RealtimePlugin.php | 2 +- plugins/recaptcha/recaptcha.php | 2 +- scripts/fixup_hashtags.php | 1 + scripts/fixup_inboxes.php | 1 + scripts/fixup_notices_rendered.php | 1 + scripts/fixup_replies.php | 1 + scripts/update_translations.php | 1 + 258 files changed, 259 insertions(+), 253 deletions(-) diff --git a/actions/accesstoken.php b/actions/accesstoken.php index f1ddfc6a17..c99aaeded3 100644 --- a/actions/accesstoken.php +++ b/actions/accesstoken.php @@ -28,7 +28,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/all.php b/actions/all.php index 6dbab080f8..bfde3a7e4a 100644 --- a/actions/all.php +++ b/actions/all.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { 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 a5447fa9fc..57efb73f0e 100644 --- a/actions/allrss.php +++ b/actions/allrss.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/api.php b/actions/api.php index 91f30e87ab..93e33085f9 100644 --- a/actions/api.php +++ b/actions/api.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } class ApiAction extends Action { diff --git a/actions/attachment.php b/actions/attachment.php index 5d11faad85..6981354d10 100644 --- a/actions/attachment.php +++ b/actions/attachment.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/attachment_ajax.php b/actions/attachment_ajax.php index af37c9bcb5..1e07280750 100644 --- a/actions/attachment_ajax.php +++ b/actions/attachment_ajax.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/attachment_thumbnail.php b/actions/attachment_thumbnail.php index 7add8e278d..7d0ac97a69 100644 --- a/actions/attachment_thumbnail.php +++ b/actions/attachment_thumbnail.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/avatarbynickname.php b/actions/avatarbynickname.php index e7ebaeee2d..537950792f 100644 --- a/actions/avatarbynickname.php +++ b/actions/avatarbynickname.php @@ -28,7 +28,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/avatarsettings.php b/actions/avatarsettings.php index 54baef88fb..0bc439ff12 100644 --- a/actions/avatarsettings.php +++ b/actions/avatarsettings.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/block.php b/actions/block.php index 2441c6fba4..408f16434b 100644 --- a/actions/block.php +++ b/actions/block.php @@ -28,7 +28,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/blockedfromgroup.php b/actions/blockedfromgroup.php index 5b5c8bcfaa..ca4a711cb7 100644 --- a/actions/blockedfromgroup.php +++ b/actions/blockedfromgroup.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/confirmaddress.php b/actions/confirmaddress.php index 94cd6ddf4b..2016942862 100644 --- a/actions/confirmaddress.php +++ b/actions/confirmaddress.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/conversation.php b/actions/conversation.php index c4a4e80dac..900a724ef3 100644 --- a/actions/conversation.php +++ b/actions/conversation.php @@ -27,7 +27,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/deletenotice.php b/actions/deletenotice.php index 8f6e9bdd1f..3d040f2fa9 100644 --- a/actions/deletenotice.php +++ b/actions/deletenotice.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/disfavor.php b/actions/disfavor.php index 25230ceac8..6269f1bd25 100644 --- a/actions/disfavor.php +++ b/actions/disfavor.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/doc.php b/actions/doc.php index 1adb9b0750..68295234c5 100644 --- a/actions/doc.php +++ b/actions/doc.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/editgroup.php b/actions/editgroup.php index 62a6290566..cac910e9bc 100644 --- a/actions/editgroup.php +++ b/actions/editgroup.php @@ -29,7 +29,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/emailsettings.php b/actions/emailsettings.php index 1b4d73bbf0..af528a892e 100644 --- a/actions/emailsettings.php +++ b/actions/emailsettings.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/facebookhome.php b/actions/facebookhome.php index a54d22a473..70f2052053 100644 --- a/actions/facebookhome.php +++ b/actions/facebookhome.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { 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 aa84865859..6dfc9d6881 100644 --- a/actions/facebookinvite.php +++ b/actions/facebookinvite.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/facebooklogin.php b/actions/facebooklogin.php index 64d24dd407..8ac2477ab4 100644 --- a/actions/facebooklogin.php +++ b/actions/facebooklogin.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { 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 1547fb7801..ae231c0fb3 100644 --- a/actions/facebookremove.php +++ b/actions/facebookremove.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { 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 817a11828c..84bdde9101 100644 --- a/actions/facebooksettings.php +++ b/actions/facebooksettings.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { 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 a995188c3c..2aeb1da613 100644 --- a/actions/favor.php +++ b/actions/favor.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/favorited.php b/actions/favorited.php index 006dd54883..5ba508cdf5 100644 --- a/actions/favorited.php +++ b/actions/favorited.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/favoritesrss.php b/actions/favoritesrss.php index 0302d10e5f..2d5ce98541 100644 --- a/actions/favoritesrss.php +++ b/actions/favoritesrss.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/featured.php b/actions/featured.php index f38068eb68..39bf09d8f0 100644 --- a/actions/featured.php +++ b/actions/featured.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/file.php b/actions/file.php index 005a13169a..10c59a9612 100644 --- a/actions/file.php +++ b/actions/file.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/actions/shownotice.php'); diff --git a/actions/finishaddopenid.php b/actions/finishaddopenid.php index 40939d44b3..b6de4f2448 100644 --- a/actions/finishaddopenid.php +++ b/actions/finishaddopenid.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/finishopenidlogin.php b/actions/finishopenidlogin.php index 07da72fc0f..9ac0369852 100644 --- a/actions/finishopenidlogin.php +++ b/actions/finishopenidlogin.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/lib/openid.php'); diff --git a/actions/finishremotesubscribe.php b/actions/finishremotesubscribe.php index 5df36070fa..871bc3d2d1 100644 --- a/actions/finishremotesubscribe.php +++ b/actions/finishremotesubscribe.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/lib/omb.php'); diff --git a/actions/foaf.php b/actions/foaf.php index d3ab098f4d..4dae9dfc19 100644 --- a/actions/foaf.php +++ b/actions/foaf.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } define('LISTENER', 1); define('LISTENEE', -1); diff --git a/actions/groupblock.php b/actions/groupblock.php index e98f13224e..979a56a81d 100644 --- a/actions/groupblock.php +++ b/actions/groupblock.php @@ -27,7 +27,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/groupbyid.php b/actions/groupbyid.php index bc0709f4f6..52cfaddfc3 100644 --- a/actions/groupbyid.php +++ b/actions/groupbyid.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/groupdesignsettings.php b/actions/groupdesignsettings.php index baef31018f..cd86e3b051 100644 --- a/actions/groupdesignsettings.php +++ b/actions/groupdesignsettings.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/grouplogo.php b/actions/grouplogo.php index 30f865248b..c6f376915e 100644 --- a/actions/grouplogo.php +++ b/actions/grouplogo.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/groupmembers.php b/actions/groupmembers.php index 5a4ea27abe..dcbdd37597 100644 --- a/actions/groupmembers.php +++ b/actions/groupmembers.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/grouprss.php b/actions/grouprss.php index 7cd85c1af1..70c1ded488 100644 --- a/actions/grouprss.php +++ b/actions/grouprss.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/groups.php b/actions/groups.php index 53b95c8481..10a1d5964d 100644 --- a/actions/groups.php +++ b/actions/groups.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/groupsearch.php b/actions/groupsearch.php index fc825a6fd2..bbd4c3a74a 100644 --- a/actions/groupsearch.php +++ b/actions/groupsearch.php @@ -28,7 +28,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/groupunblock.php b/actions/groupunblock.php index 248b2a0a7b..dd6b15c26c 100644 --- a/actions/groupunblock.php +++ b/actions/groupunblock.php @@ -27,7 +27,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/imsettings.php b/actions/imsettings.php index 145cd7ed2c..f57933b43f 100644 --- a/actions/imsettings.php +++ b/actions/imsettings.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/inbox.php b/actions/inbox.php index f5f7d8bcb1..6cb7f9e157 100644 --- a/actions/inbox.php +++ b/actions/inbox.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/invite.php b/actions/invite.php index d8f15705bc..ab43a2491d 100644 --- a/actions/invite.php +++ b/actions/invite.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } class InviteAction extends CurrentUserDesignAction { diff --git a/actions/joingroup.php b/actions/joingroup.php index 32b59efa08..0209dd43fd 100644 --- a/actions/joingroup.php +++ b/actions/joingroup.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/leavegroup.php b/actions/leavegroup.php index 27b5ea0177..60b22e147d 100644 --- a/actions/leavegroup.php +++ b/actions/leavegroup.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/login.php b/actions/login.php index 1452369662..37f3c54ffb 100644 --- a/actions/login.php +++ b/actions/login.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/logout.php b/actions/logout.php index eda5cefe5b..298b2a484b 100644 --- a/actions/logout.php +++ b/actions/logout.php @@ -28,7 +28,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/makeadmin.php b/actions/makeadmin.php index 7866f42c15..2dfddebc27 100644 --- a/actions/makeadmin.php +++ b/actions/makeadmin.php @@ -27,7 +27,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/microsummary.php b/actions/microsummary.php index 8f2d34998b..5c01a9ce0f 100644 --- a/actions/microsummary.php +++ b/actions/microsummary.php @@ -28,7 +28,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/newgroup.php b/actions/newgroup.php index 544dd38184..01cb636aaf 100644 --- a/actions/newgroup.php +++ b/actions/newgroup.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/newmessage.php b/actions/newmessage.php index 5798715463..828a339cfe 100644 --- a/actions/newmessage.php +++ b/actions/newmessage.php @@ -29,7 +29,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/newnotice.php b/actions/newnotice.php index 4b542815bb..00a822860e 100644 --- a/actions/newnotice.php +++ b/actions/newnotice.php @@ -29,7 +29,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/noticesearch.php b/actions/noticesearch.php index e268c69abf..1188e7e10f 100644 --- a/actions/noticesearch.php +++ b/actions/noticesearch.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/noticesearchrss.php b/actions/noticesearchrss.php index 67bca01b53..f59ad79625 100644 --- a/actions/noticesearchrss.php +++ b/actions/noticesearchrss.php @@ -28,7 +28,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/nudge.php b/actions/nudge.php index b699a31441..cf5f773e71 100644 --- a/actions/nudge.php +++ b/actions/nudge.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/oembed.php b/actions/oembed.php index 5f6751b5a8..e287b6ae2a 100644 --- a/actions/oembed.php +++ b/actions/oembed.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/openidlogin.php b/actions/openidlogin.php index 42d7409387..4b53386943 100644 --- a/actions/openidlogin.php +++ b/actions/openidlogin.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/lib/openid.php'); diff --git a/actions/openidsettings.php b/actions/openidsettings.php index 09e678e3c9..13da64a4f6 100644 --- a/actions/openidsettings.php +++ b/actions/openidsettings.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/opensearch.php b/actions/opensearch.php index 8ef13dd7a6..d5e6698f38 100644 --- a/actions/opensearch.php +++ b/actions/opensearch.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/othersettings.php b/actions/othersettings.php index 244c34eabb..8b674161a8 100644 --- a/actions/othersettings.php +++ b/actions/othersettings.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/outbox.php b/actions/outbox.php index a1fc81dfda..537fad3ef4 100644 --- a/actions/outbox.php +++ b/actions/outbox.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/passwordsettings.php b/actions/passwordsettings.php index e7cd0ab510..ec842600f6 100644 --- a/actions/passwordsettings.php +++ b/actions/passwordsettings.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/peoplesearch.php b/actions/peoplesearch.php index 43c966f9c1..ba0f71e392 100644 --- a/actions/peoplesearch.php +++ b/actions/peoplesearch.php @@ -28,7 +28,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/peopletag.php b/actions/peopletag.php index 0c5321faed..6dbbc92616 100644 --- a/actions/peopletag.php +++ b/actions/peopletag.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/postnotice.php b/actions/postnotice.php index 883cd53fbc..e775ca17e8 100644 --- a/actions/postnotice.php +++ b/actions/postnotice.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/lib/omb.php'); diff --git a/actions/profilesettings.php b/actions/profilesettings.php index 2f9d2bac93..f9c16351d3 100644 --- a/actions/profilesettings.php +++ b/actions/profilesettings.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/public.php b/actions/public.php index f8ecc0e785..d426648f3d 100644 --- a/actions/public.php +++ b/actions/public.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/publicrss.php b/actions/publicrss.php index 0d75ffc358..593888b9f6 100644 --- a/actions/publicrss.php +++ b/actions/publicrss.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/publictagcloud.php b/actions/publictagcloud.php index 026827fbe5..60bb53e27c 100644 --- a/actions/publictagcloud.php +++ b/actions/publictagcloud.php @@ -29,7 +29,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } define('TAGS_PER_PAGE', 100); diff --git a/actions/publicxrds.php b/actions/publicxrds.php index 921106a5f4..209a10e3d4 100644 --- a/actions/publicxrds.php +++ b/actions/publicxrds.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/recoverpassword.php b/actions/recoverpassword.php index 279f1cef12..9776c1fb44 100644 --- a/actions/recoverpassword.php +++ b/actions/recoverpassword.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { 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 a219c03d86..c431aeee3e 100644 --- a/actions/register.php +++ b/actions/register.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/remotesubscribe.php b/actions/remotesubscribe.php index 7932757817..374392d4a3 100644 --- a/actions/remotesubscribe.php +++ b/actions/remotesubscribe.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/lib/omb.php'); diff --git a/actions/replies.php b/actions/replies.php index 954d7ce19b..cca4302309 100644 --- a/actions/replies.php +++ b/actions/replies.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/repliesrss.php b/actions/repliesrss.php index 5115453b79..c71c9226fb 100644 --- a/actions/repliesrss.php +++ b/actions/repliesrss.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { 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 243844c4bc..48fe1db08f 100644 --- a/actions/requesttoken.php +++ b/actions/requesttoken.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/showfavorites.php b/actions/showfavorites.php index 9734496bac..0f7a663302 100644 --- a/actions/showfavorites.php +++ b/actions/showfavorites.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/showgroup.php b/actions/showgroup.php index 965b933e23..8157ee3c85 100644 --- a/actions/showgroup.php +++ b/actions/showgroup.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/showmessage.php b/actions/showmessage.php index 5d23fb13f3..db757948ba 100644 --- a/actions/showmessage.php +++ b/actions/showmessage.php @@ -26,7 +26,7 @@ * @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')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/shownotice.php b/actions/shownotice.php index 4f7c3af7fe..3bc52b2dbc 100644 --- a/actions/shownotice.php +++ b/actions/shownotice.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/showstream.php b/actions/showstream.php index 93730812c4..4d3067eed3 100644 --- a/actions/showstream.php +++ b/actions/showstream.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/smssettings.php b/actions/smssettings.php index bfe49feeec..b956ccebaa 100644 --- a/actions/smssettings.php +++ b/actions/smssettings.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/subedit.php b/actions/subedit.php index 3320bdc599..cf6589e504 100644 --- a/actions/subedit.php +++ b/actions/subedit.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } class SubeditAction extends Action { diff --git a/actions/subscribe.php b/actions/subscribe.php index fb1fb5e6bb..4c46806e40 100644 --- a/actions/subscribe.php +++ b/actions/subscribe.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } class SubscribeAction extends Action { diff --git a/actions/subscribers.php b/actions/subscribers.php index 3000f17b0c..f7d08d9d0b 100644 --- a/actions/subscribers.php +++ b/actions/subscribers.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/subscriptions.php b/actions/subscriptions.php index 8cad9e3b4a..b1c6682283 100644 --- a/actions/subscriptions.php +++ b/actions/subscriptions.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } @@ -42,7 +42,7 @@ if (!defined('STATUSNET')) { * @link http://status.net/ */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } class SubscriptionsAction extends GalleryAction { diff --git a/actions/sup.php b/actions/sup.php index b635de194f..5daf0a1c1d 100644 --- a/actions/sup.php +++ b/actions/sup.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } class SupAction extends Action { diff --git a/actions/tag.php b/actions/tag.php index 935d00ab06..f0ab30308c 100644 --- a/actions/tag.php +++ b/actions/tag.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } class TagAction extends Action { diff --git a/actions/tagother.php b/actions/tagother.php index aaca46355f..c3f43be8ba 100644 --- a/actions/tagother.php +++ b/actions/tagother.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { 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 135b12135d..75cbfa274b 100644 --- a/actions/tagrss.php +++ b/actions/tagrss.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { 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 dc043ddd32..93c8443c9f 100644 --- a/actions/twitapiaccount.php +++ b/actions/twitapiaccount.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/twitapiblocks.php b/actions/twitapiblocks.php index 808e79220f..ed17946aef 100644 --- a/actions/twitapiblocks.php +++ b/actions/twitapiblocks.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/twitapidirect_messages.php b/actions/twitapidirect_messages.php index 8511fcbe2e..dbe55804b1 100644 --- a/actions/twitapidirect_messages.php +++ b/actions/twitapidirect_messages.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/twitapifavorites.php b/actions/twitapifavorites.php index d812b50349..f8943fe2dd 100644 --- a/actions/twitapifavorites.php +++ b/actions/twitapifavorites.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/twitapifriendships.php b/actions/twitapifriendships.php index 015a5dbaed..f2ea46910e 100644 --- a/actions/twitapifriendships.php +++ b/actions/twitapifriendships.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/twitapigroups.php b/actions/twitapigroups.php index c3e028c175..214fa8214f 100644 --- a/actions/twitapigroups.php +++ b/actions/twitapigroups.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/twitapihelp.php b/actions/twitapihelp.php index 3fc232f64c..81381620e7 100644 --- a/actions/twitapihelp.php +++ b/actions/twitapihelp.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/twitapinotifications.php b/actions/twitapinotifications.php index 7bc9dd14b6..0653e69ab5 100644 --- a/actions/twitapinotifications.php +++ b/actions/twitapinotifications.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { 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 3ccd8c5b61..2f587d604f 100644 --- a/actions/twitapisearchatom.php +++ b/actions/twitapisearchatom.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/twitapisearchjson.php b/actions/twitapisearchjson.php index 1732951762..c628ee624a 100644 --- a/actions/twitapisearchjson.php +++ b/actions/twitapisearchjson.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/twitapistatuses.php b/actions/twitapistatuses.php index e522b63579..edee239a03 100644 --- a/actions/twitapistatuses.php +++ b/actions/twitapistatuses.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/twitapistatusnet.php b/actions/twitapistatusnet.php index c75e5e858c..490f11dce2 100644 --- a/actions/twitapistatusnet.php +++ b/actions/twitapistatusnet.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/twitapitags.php b/actions/twitapitags.php index 0f2b571c6e..2bb7ee01ab 100644 --- a/actions/twitapitags.php +++ b/actions/twitapitags.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/twitapitrends.php b/actions/twitapitrends.php index 436451c0f2..83ab28f35d 100644 --- a/actions/twitapitrends.php +++ b/actions/twitapitrends.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/twitapiusers.php b/actions/twitapiusers.php index 853a6b8fad..703fa6754f 100644 --- a/actions/twitapiusers.php +++ b/actions/twitapiusers.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/twitterauthorization.php b/actions/twitterauthorization.php index 3745a67cf9..630ac426fd 100644 --- a/actions/twitterauthorization.php +++ b/actions/twitterauthorization.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/twittersettings.php b/actions/twittersettings.php index c23fa2ff82..563d867a49 100644 --- a/actions/twittersettings.php +++ b/actions/twittersettings.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/unblock.php b/actions/unblock.php index 43f454340d..dc28d5d54a 100644 --- a/actions/unblock.php +++ b/actions/unblock.php @@ -28,7 +28,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/unsubscribe.php b/actions/unsubscribe.php index bedea9f285..4a5863489e 100644 --- a/actions/unsubscribe.php +++ b/actions/unsubscribe.php @@ -28,7 +28,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/updateprofile.php b/actions/updateprofile.php index d486864011..9a4cf8e465 100644 --- a/actions/updateprofile.php +++ b/actions/updateprofile.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/lib/omb.php'); diff --git a/actions/userauthorization.php b/actions/userauthorization.php index 38329a2c70..a9ac1f256f 100644 --- a/actions/userauthorization.php +++ b/actions/userauthorization.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/lib/omb.php'); define('TIMESTAMP_THRESHOLD', 300); diff --git a/actions/userbyid.php b/actions/userbyid.php index 4ed78688b6..802bcb0815 100644 --- a/actions/userbyid.php +++ b/actions/userbyid.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/userdesignsettings.php b/actions/userdesignsettings.php index 07d160984f..568c1d6242 100644 --- a/actions/userdesignsettings.php +++ b/actions/userdesignsettings.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/usergroups.php b/actions/usergroups.php index 7cdc132b8b..84e105153d 100644 --- a/actions/usergroups.php +++ b/actions/usergroups.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/actions/userrss.php b/actions/userrss.php index 1437a4c229..fa6d588cdf 100644 --- a/actions/userrss.php +++ b/actions/userrss.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { 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 86f7d7616b..def10e4cf7 100644 --- a/actions/xrds.php +++ b/actions/xrds.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/classes/Design.php b/classes/Design.php index c4820bf1eb..89ae50c8cb 100644 --- a/classes/Design.php +++ b/classes/Design.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/classes/File.php b/classes/File.php index 063c164257..0cebfc55e3 100644 --- a/classes/File.php +++ b/classes/File.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; require_once INSTALLDIR.'/classes/File_redirection.php'; diff --git a/classes/File_oembed.php b/classes/File_oembed.php index c28f5c3961..6be6518152 100644 --- a/classes/File_oembed.php +++ b/classes/File_oembed.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; diff --git a/classes/File_redirection.php b/classes/File_redirection.php index 832d66b2b9..76b18f672d 100644 --- a/classes/File_redirection.php +++ b/classes/File_redirection.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; require_once INSTALLDIR.'/classes/File.php'; diff --git a/classes/File_thumbnail.php b/classes/File_thumbnail.php index 2c0689f947..f8b70356c7 100644 --- a/classes/File_thumbnail.php +++ b/classes/File_thumbnail.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { 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 ea57510426..e3db91b205 100644 --- a/classes/File_to_post.php +++ b/classes/File_to_post.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { 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 93bb75796d..be3d0a6c6f 100644 --- a/classes/Group_alias.php +++ b/classes/Group_alias.php @@ -19,7 +19,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { 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 bd8b249265..de2cf5f6eb 100644 --- a/classes/Group_block.php +++ b/classes/Group_block.php @@ -19,7 +19,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { 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 e2935cfc5c..9c2ac3e01c 100644 --- a/classes/Memcached_DataObject.php +++ b/classes/Memcached_DataObject.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { 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 607f355717..e597128641 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } /** * Table Definition for notice diff --git a/classes/Notice_inbox.php b/classes/Notice_inbox.php index 60f11cd710..d3e7853b1b 100644 --- a/classes/Notice_inbox.php +++ b/classes/Notice_inbox.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; diff --git a/classes/Profile.php b/classes/Profile.php index 9824157535..6ad0e7a3a3 100644 --- a/classes/Profile.php +++ b/classes/Profile.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { 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 b218244e32..2d87edaa0a 100644 --- a/classes/Profile_block.php +++ b/classes/Profile_block.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { 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 9d100412ab..9f7bfeadcc 100644 --- a/classes/Remote_profile.php +++ b/classes/Remote_profile.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { 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 04958b61de..d641edbbe4 100644 --- a/classes/Session.php +++ b/classes/Session.php @@ -19,7 +19,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { 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 e91bba1acc..d526cb4d61 100644 --- a/classes/Status_network.php +++ b/classes/Status_network.php @@ -19,7 +19,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } class Status_network extends DB_DataObject { diff --git a/classes/Subscription.php b/classes/Subscription.php index 0e2b5a3074..fedfd5f19e 100644 --- a/classes/Subscription.php +++ b/classes/Subscription.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } /** * Table Definition for subscription diff --git a/classes/User.php b/classes/User.php index 529957649b..14d3cf54fa 100644 --- a/classes/User.php +++ b/classes/User.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/index.php b/index.php index bbb78b6a92..7669778f64 100644 --- a/index.php +++ b/index.php @@ -19,6 +19,7 @@ define('INSTALLDIR', dirname(__FILE__)); define('STATUSNET', true); +define('LACONICA', true); // compatibility require_once INSTALLDIR . '/lib/common.php'; diff --git a/install.php b/install.php index 9e01ff738e..d278bcc178 100644 --- a/install.php +++ b/install.php @@ -363,7 +363,7 @@ function writeConf($sitename, $server, $path, $fancy, $db) { // assemble configuration file in a string $cfg = ". */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } class ShortUrlApi { diff --git a/lib/accountsettingsaction.php b/lib/accountsettingsaction.php index 337d34e9aa..7981161637 100644 --- a/lib/accountsettingsaction.php +++ b/lib/accountsettingsaction.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/action.php b/lib/action.php index cb922f60e0..4033b6578b 100644 --- a/lib/action.php +++ b/lib/action.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/arraywrapper.php b/lib/arraywrapper.php index 424714e908..8a1cdd96e1 100644 --- a/lib/arraywrapper.php +++ b/lib/arraywrapper.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/attachmentlist.php b/lib/attachmentlist.php index a713a10853..51ceca8576 100644 --- a/lib/attachmentlist.php +++ b/lib/attachmentlist.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/attachmentnoticesection.php b/lib/attachmentnoticesection.php index b98de8b6fd..578c171ff5 100644 --- a/lib/attachmentnoticesection.php +++ b/lib/attachmentnoticesection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/attachmenttagcloudsection.php b/lib/attachmenttagcloudsection.php index fc5145ad0d..e2f85ae025 100644 --- a/lib/attachmenttagcloudsection.php +++ b/lib/attachmenttagcloudsection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/blockform.php b/lib/blockform.php index cfec321a18..4820d09afe 100644 --- a/lib/blockform.php +++ b/lib/blockform.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/channel.php b/lib/channel.php index 95d576a3c1..3cd168786c 100644 --- a/lib/channel.php +++ b/lib/channel.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } class Channel { diff --git a/lib/clienterroraction.php b/lib/clienterroraction.php index 2a1a51b721..7d007a7567 100644 --- a/lib/clienterroraction.php +++ b/lib/clienterroraction.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/clientexception.php b/lib/clientexception.php index 5981f8bb8c..01c013a011 100644 --- a/lib/clientexception.php +++ b/lib/clientexception.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/command.php b/lib/command.php index eac4b2cd97..91a20b8109 100644 --- a/lib/command.php +++ b/lib/command.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/lib/channel.php'); diff --git a/lib/commandinterpreter.php b/lib/commandinterpreter.php index 6babcba4f5..ac6bf73c8e 100644 --- a/lib/commandinterpreter.php +++ b/lib/commandinterpreter.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/lib/command.php'; diff --git a/lib/common.php b/lib/common.php index e658eaeb23..030d560aa8 100644 --- a/lib/common.php +++ b/lib/common.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } define('STATUSNET_VERSION', '0.8.1pre1'); diff --git a/lib/connectsettingsaction.php b/lib/connectsettingsaction.php index 058585565f..2095a7cebf 100644 --- a/lib/connectsettingsaction.php +++ b/lib/connectsettingsaction.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/currentuserdesignaction.php b/lib/currentuserdesignaction.php index e28b8caf67..c2f38cd00b 100644 --- a/lib/currentuserdesignaction.php +++ b/lib/currentuserdesignaction.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/daemon.php b/lib/daemon.php index 9a3e1e7e9d..4c2491e97b 100644 --- a/lib/daemon.php +++ b/lib/daemon.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/dberroraction.php b/lib/dberroraction.php index bd8ccdd310..2cb66a022d 100644 --- a/lib/dberroraction.php +++ b/lib/dberroraction.php @@ -28,7 +28,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/deleteaction.php b/lib/deleteaction.php index 89bed93ed8..f702820c61 100644 --- a/lib/deleteaction.php +++ b/lib/deleteaction.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/designsettings.php b/lib/designsettings.php index 21cb9d7933..fe42225974 100644 --- a/lib/designsettings.php +++ b/lib/designsettings.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/disfavorform.php b/lib/disfavorform.php index f3a022fece..5b135b38ad 100644 --- a/lib/disfavorform.php +++ b/lib/disfavorform.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/error.php b/lib/error.php index e7bba8a47b..0c521db081 100644 --- a/lib/error.php +++ b/lib/error.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/event.php b/lib/event.php index 106bbfd041..4819b71b4c 100644 --- a/lib/event.php +++ b/lib/event.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/facebookaction.php b/lib/facebookaction.php index 62797d1dd0..ca67a094af 100644 --- a/lib/facebookaction.php +++ b/lib/facebookaction.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/favorform.php b/lib/favorform.php index d38c5b1309..625df7c8b5 100644 --- a/lib/favorform.php +++ b/lib/favorform.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/featureduserssection.php b/lib/featureduserssection.php index 3065ff623e..f0753a25ed 100644 --- a/lib/featureduserssection.php +++ b/lib/featureduserssection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/feed.php b/lib/feed.php index 8660c75ed3..e9fb6fdff3 100644 --- a/lib/feed.php +++ b/lib/feed.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/feedlist.php b/lib/feedlist.php index 2a750bf778..9ae83f5e88 100644 --- a/lib/feedlist.php +++ b/lib/feedlist.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/form.php b/lib/form.php index dffb6bce4c..87b7a5cba9 100644 --- a/lib/form.php +++ b/lib/form.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/galleryaction.php b/lib/galleryaction.php index 0cbb5f8c0e..18cc7b9295 100644 --- a/lib/galleryaction.php +++ b/lib/galleryaction.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/groupdesignaction.php b/lib/groupdesignaction.php index a9de600fe9..3eb3964e87 100644 --- a/lib/groupdesignaction.php +++ b/lib/groupdesignaction.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/groupeditform.php b/lib/groupeditform.php index 8ae6a23d5e..a649c2ee3b 100644 --- a/lib/groupeditform.php +++ b/lib/groupeditform.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/grouplist.php b/lib/grouplist.php index b042fb1b69..b41c5b5f84 100644 --- a/lib/grouplist.php +++ b/lib/grouplist.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/groupminilist.php b/lib/groupminilist.php index 4864d4657e..dff81eff53 100644 --- a/lib/groupminilist.php +++ b/lib/groupminilist.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/groupnav.php b/lib/groupnav.php index f8ed180f12..31cf378c8a 100644 --- a/lib/groupnav.php +++ b/lib/groupnav.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/groupsbymemberssection.php b/lib/groupsbymemberssection.php index 156afe6692..19b35eddb8 100644 --- a/lib/groupsbymemberssection.php +++ b/lib/groupsbymemberssection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/groupsbypostssection.php b/lib/groupsbypostssection.php index 1c2a1c88f7..45d49aba66 100644 --- a/lib/groupsbypostssection.php +++ b/lib/groupsbypostssection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/groupsection.php b/lib/groupsection.php index e3887bfd27..7327f9e1a0 100644 --- a/lib/groupsection.php +++ b/lib/groupsection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/grouptagcloudsection.php b/lib/grouptagcloudsection.php index 93699f62c8..091cf48457 100644 --- a/lib/grouptagcloudsection.php +++ b/lib/grouptagcloudsection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/htmloutputter.php b/lib/htmloutputter.php index 1da8406f33..8ad7dc20fa 100644 --- a/lib/htmloutputter.php +++ b/lib/htmloutputter.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/imagefile.php b/lib/imagefile.php index 2619fd9d3b..88f4614814 100644 --- a/lib/imagefile.php +++ b/lib/imagefile.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/jabber.php b/lib/jabber.php index 0054c4def7..3dcdce5dbf 100644 --- a/lib/jabber.php +++ b/lib/jabber.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/joinform.php b/lib/joinform.php index 47c94dd458..aefb553aac 100644 --- a/lib/joinform.php +++ b/lib/joinform.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/jsonsearchresultslist.php b/lib/jsonsearchresultslist.php index a315d0abd7..569bfa8734 100644 --- a/lib/jsonsearchresultslist.php +++ b/lib/jsonsearchresultslist.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/language.php b/lib/language.php index 2039ef6896..561a4ddb82 100644 --- a/lib/language.php +++ b/lib/language.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/leaveform.php b/lib/leaveform.php index 7068da0eb7..e63d96ee80 100644 --- a/lib/leaveform.php +++ b/lib/leaveform.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/logingroupnav.php b/lib/logingroupnav.php index 5e8682c032..f740e329a4 100644 --- a/lib/logingroupnav.php +++ b/lib/logingroupnav.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/mail.php b/lib/mail.php index 31bf79d2f9..df585406cc 100644 --- a/lib/mail.php +++ b/lib/mail.php @@ -30,7 +30,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/mailbox.php b/lib/mailbox.php index 9391775f18..a09bf1060a 100644 --- a/lib/mailbox.php +++ b/lib/mailbox.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/messageform.php b/lib/messageform.php index a8e514d059..6431bfdcc8 100644 --- a/lib/messageform.php +++ b/lib/messageform.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/microid.php b/lib/microid.php index 1790424567..e2e7d7607f 100644 --- a/lib/microid.php +++ b/lib/microid.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/noticeform.php b/lib/noticeform.php index 7b6d7d21fd..1e3a45142c 100644 --- a/lib/noticeform.php +++ b/lib/noticeform.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/noticelist.php b/lib/noticelist.php index 4d6de98bce..ec85e4a5c1 100644 --- a/lib/noticelist.php +++ b/lib/noticelist.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/noticesection.php b/lib/noticesection.php index e7c3f9a540..b223932efe 100644 --- a/lib/noticesection.php +++ b/lib/noticesection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/nudgeform.php b/lib/nudgeform.php index d6346cde7e..3f13b58462 100644 --- a/lib/nudgeform.php +++ b/lib/nudgeform.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/oauthclient.php b/lib/oauthclient.php index bd965a3bfe..cc10cea8f9 100644 --- a/lib/oauthclient.php +++ b/lib/oauthclient.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/oauthstore.php b/lib/oauthstore.php index 1519260081..6db07b20f7 100644 --- a/lib/oauthstore.php +++ b/lib/oauthstore.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/lib/omb.php'); diff --git a/lib/omb.php b/lib/omb.php index 0a03d8125d..0d62445991 100644 --- a/lib/omb.php +++ b/lib/omb.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once('OAuth.php'); require_once(INSTALLDIR.'/lib/oauthstore.php'); diff --git a/lib/openid.php b/lib/openid.php index 87df4f30b6..7a2c46f005 100644 --- a/lib/openid.php +++ b/lib/openid.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/classes/User_openid.php'); diff --git a/lib/ownerdesignaction.php b/lib/ownerdesignaction.php index 3ee2c99071..d557f10c06 100644 --- a/lib/ownerdesignaction.php +++ b/lib/ownerdesignaction.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/parallelizingdaemon.php b/lib/parallelizingdaemon.php index 664e9bbd37..517115de04 100644 --- a/lib/parallelizingdaemon.php +++ b/lib/parallelizingdaemon.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/personalgroupnav.php b/lib/personalgroupnav.php index 61d1ff676c..cdde1feca0 100644 --- a/lib/personalgroupnav.php +++ b/lib/personalgroupnav.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/personaltagcloudsection.php b/lib/personaltagcloudsection.php index c10b0941d6..0b29d58ca6 100644 --- a/lib/personaltagcloudsection.php +++ b/lib/personaltagcloudsection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/ping.php b/lib/ping.php index 48b4fa18f6..175bf8440b 100644 --- a/lib/ping.php +++ b/lib/ping.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } function ping_broadcast_notice($notice) { diff --git a/lib/plugin.php b/lib/plugin.php index 4f53eee6b1..87d7be5a75 100644 --- a/lib/plugin.php +++ b/lib/plugin.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/popularnoticesection.php b/lib/popularnoticesection.php index 22e8e5468e..35b914a50c 100644 --- a/lib/popularnoticesection.php +++ b/lib/popularnoticesection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/profileaction.php b/lib/profileaction.php index 8b0c3b87e2..e3a39ad8b7 100644 --- a/lib/profileaction.php +++ b/lib/profileaction.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/profilelist.php b/lib/profilelist.php index 251da5e45c..331430b3ef 100644 --- a/lib/profilelist.php +++ b/lib/profilelist.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/profileminilist.php b/lib/profileminilist.php index 13058d320c..079170d802 100644 --- a/lib/profileminilist.php +++ b/lib/profileminilist.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/profilesection.php b/lib/profilesection.php index 31658afe2d..504b1b7f75 100644 --- a/lib/profilesection.php +++ b/lib/profilesection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/publicgroupnav.php b/lib/publicgroupnav.php index a442bfc705..ae9cbdebb4 100644 --- a/lib/publicgroupnav.php +++ b/lib/publicgroupnav.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/queuehandler.php b/lib/queuehandler.php index 867fe41b83..8c65a97c66 100644 --- a/lib/queuehandler.php +++ b/lib/queuehandler.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/lib/daemon.php'); require_once(INSTALLDIR.'/classes/Queue_item.php'); diff --git a/lib/router.php b/lib/router.php index b7b4a8e59c..b25b1705f5 100644 --- a/lib/router.php +++ b/lib/router.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/rssaction.php b/lib/rssaction.php index 44c9003a00..60611e48d0 100644 --- a/lib/rssaction.php +++ b/lib/rssaction.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } define('DEFAULT_RSS_LIMIT', 48); diff --git a/lib/search_engines.php b/lib/search_engines.php index 74513e2ea1..69f6ff468e 100644 --- a/lib/search_engines.php +++ b/lib/search_engines.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } class SearchEngine { diff --git a/lib/searchaction.php b/lib/searchaction.php index a935eb1027..0d9f85a8f1 100644 --- a/lib/searchaction.php +++ b/lib/searchaction.php @@ -28,7 +28,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/searchgroupnav.php b/lib/searchgroupnav.php index bf79e0abcd..677365ea9d 100644 --- a/lib/searchgroupnav.php +++ b/lib/searchgroupnav.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/section.php b/lib/section.php index d605d458d7..53a3a70fa7 100644 --- a/lib/section.php +++ b/lib/section.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/servererroraction.php b/lib/servererroraction.php index 9ed3832a68..c6400605ea 100644 --- a/lib/servererroraction.php +++ b/lib/servererroraction.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/serverexception.php b/lib/serverexception.php index 856866ae9d..7dc9765ad6 100644 --- a/lib/serverexception.php +++ b/lib/serverexception.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/settingsaction.php b/lib/settingsaction.php index aba196db92..a1f305f5b7 100644 --- a/lib/settingsaction.php +++ b/lib/settingsaction.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/snapshot.php b/lib/snapshot.php index b15fe3a6cb..ede846e5b0 100644 --- a/lib/snapshot.php +++ b/lib/snapshot.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/subgroupnav.php b/lib/subgroupnav.php index 590bec38cf..2748b59e18 100644 --- a/lib/subgroupnav.php +++ b/lib/subgroupnav.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/subpeopletagcloudsection.php b/lib/subpeopletagcloudsection.php index 8909c5a74f..b23a82240d 100644 --- a/lib/subpeopletagcloudsection.php +++ b/lib/subpeopletagcloudsection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/subs.php b/lib/subs.php index ae3949b75e..68c89c8421 100644 --- a/lib/subs.php +++ b/lib/subs.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { 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 c7216f9748..ae2a6db61c 100644 --- a/lib/subscribeform.php +++ b/lib/subscribeform.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/subscriberspeopleselftagcloudsection.php b/lib/subscriberspeopleselftagcloudsection.php index c35f39f2c2..5a570ae282 100644 --- a/lib/subscriberspeopleselftagcloudsection.php +++ b/lib/subscriberspeopleselftagcloudsection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/subscriberspeopletagcloudsection.php b/lib/subscriberspeopletagcloudsection.php index a850dbc869..284996b591 100644 --- a/lib/subscriberspeopletagcloudsection.php +++ b/lib/subscriberspeopletagcloudsection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/subscriptionlist.php b/lib/subscriptionlist.php index 0767196e9f..89f63e3211 100644 --- a/lib/subscriptionlist.php +++ b/lib/subscriptionlist.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/subscriptionspeopleselftagcloudsection.php b/lib/subscriptionspeopleselftagcloudsection.php index 839e2b1618..9be60dfa14 100644 --- a/lib/subscriptionspeopleselftagcloudsection.php +++ b/lib/subscriptionspeopleselftagcloudsection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/subscriptionspeopletagcloudsection.php b/lib/subscriptionspeopletagcloudsection.php index 38d93946f5..fde24b282e 100644 --- a/lib/subscriptionspeopletagcloudsection.php +++ b/lib/subscriptionspeopletagcloudsection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/tagcloudsection.php b/lib/tagcloudsection.php index 20533dbe2d..692f5d9662 100644 --- a/lib/tagcloudsection.php +++ b/lib/tagcloudsection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/theme.php b/lib/theme.php index ceec3dff02..08e3e85383 100644 --- a/lib/theme.php +++ b/lib/theme.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/topposterssection.php b/lib/topposterssection.php index 7d8348d441..cbb6a98ebd 100644 --- a/lib/topposterssection.php +++ b/lib/topposterssection.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/twitter.php b/lib/twitter.php index 5047445198..7546ffa98a 100644 --- a/lib/twitter.php +++ b/lib/twitter.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/twitterapi.php b/lib/twitterapi.php index 2c713f3667..c8099978fa 100644 --- a/lib/twitterapi.php +++ b/lib/twitterapi.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/twitteroauthclient.php b/lib/twitteroauthclient.php index e8f6e21ba9..3da522fc51 100644 --- a/lib/twitteroauthclient.php +++ b/lib/twitteroauthclient.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/unblockform.php b/lib/unblockform.php index c6310dc0f4..f1343757c2 100644 --- a/lib/unblockform.php +++ b/lib/unblockform.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/unsubscribeform.php b/lib/unsubscribeform.php index 0ce343e11e..cb6a87515f 100644 --- a/lib/unsubscribeform.php +++ b/lib/unsubscribeform.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/webcolor.php b/lib/webcolor.php index 922e6794fe..6fa603fa2a 100644 --- a/lib/webcolor.php +++ b/lib/webcolor.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/widget.php b/lib/widget.php index 43bc4a481f..0258c8649e 100644 --- a/lib/widget.php +++ b/lib/widget.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/xmloutputter.php b/lib/xmloutputter.php index 7d2788d71e..5f06e491df 100644 --- a/lib/xmloutputter.php +++ b/lib/xmloutputter.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/xmlstringer.php b/lib/xmlstringer.php index bd17ab09c4..b505e40d39 100644 --- a/lib/xmlstringer.php +++ b/lib/xmlstringer.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/lib/xmppqueuehandler.php b/lib/xmppqueuehandler.php index 45a8e2c0d5..f28fc9088c 100644 --- a/lib/xmppqueuehandler.php +++ b/lib/xmppqueuehandler.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/lib/queuehandler.php'); diff --git a/plugins/Autocomplete/AutocompletePlugin.php b/plugins/Autocomplete/AutocompletePlugin.php index 49b6d42b1e..b753972703 100644 --- a/plugins/Autocomplete/AutocompletePlugin.php +++ b/plugins/Autocomplete/AutocompletePlugin.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/plugins/Comet/CometPlugin.php b/plugins/Comet/CometPlugin.php index d7ac2b8591..300d1e9a24 100644 --- a/plugins/Comet/CometPlugin.php +++ b/plugins/Comet/CometPlugin.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/plugins/FBConnect/FBCLoginGroupNav.php b/plugins/FBConnect/FBCLoginGroupNav.php index 782f7198ae..6e12c20403 100644 --- a/plugins/FBConnect/FBCLoginGroupNav.php +++ b/plugins/FBConnect/FBCLoginGroupNav.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/plugins/FBConnect/FBCSettingsNav.php b/plugins/FBConnect/FBCSettingsNav.php index a4ecbada15..29724d6bdf 100644 --- a/plugins/FBConnect/FBCSettingsNav.php +++ b/plugins/FBConnect/FBCSettingsNav.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/plugins/FBConnect/FBC_XDReceiver.php b/plugins/FBConnect/FBC_XDReceiver.php index 50c525c750..2bc790d5a0 100644 --- a/plugins/FBConnect/FBC_XDReceiver.php +++ b/plugins/FBConnect/FBC_XDReceiver.php @@ -1,6 +1,6 @@ . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/plugins/FBConnect/FBConnectPlugin.php b/plugins/FBConnect/FBConnectPlugin.php index fb50cc4c9e..593b49b4ed 100644 --- a/plugins/FBConnect/FBConnectPlugin.php +++ b/plugins/FBConnect/FBConnectPlugin.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/plugins/FBConnect/FBConnectSettings.php b/plugins/FBConnect/FBConnectSettings.php index fbb4199809..911c567873 100644 --- a/plugins/FBConnect/FBConnectSettings.php +++ b/plugins/FBConnect/FBConnectSettings.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/plugins/InfiniteScroll/InfiniteScrollPlugin.php b/plugins/InfiniteScroll/InfiniteScrollPlugin.php index 59422e5d93..c955298cb9 100644 --- a/plugins/InfiniteScroll/InfiniteScrollPlugin.php +++ b/plugins/InfiniteScroll/InfiniteScrollPlugin.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/plugins/Meteor/MeteorPlugin.php b/plugins/Meteor/MeteorPlugin.php index 4cb05693b6..5b345d7c2f 100644 --- a/plugins/Meteor/MeteorPlugin.php +++ b/plugins/Meteor/MeteorPlugin.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/plugins/Realtime/RealtimePlugin.php b/plugins/Realtime/RealtimePlugin.php index 9ecf70030d..82eca3d08c 100644 --- a/plugins/Realtime/RealtimePlugin.php +++ b/plugins/Realtime/RealtimePlugin.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/plugins/recaptcha/recaptcha.php b/plugins/recaptcha/recaptcha.php index 9767f95d26..94cf0ccd17 100644 --- a/plugins/recaptcha/recaptcha.php +++ b/plugins/recaptcha/recaptcha.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } diff --git a/scripts/fixup_hashtags.php b/scripts/fixup_hashtags.php index eba527b8d6..5cfebd8ee8 100755 --- a/scripts/fixup_hashtags.php +++ b/scripts/fixup_hashtags.php @@ -26,6 +26,7 @@ if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) { define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); define('STATUSNET', true); +define('LACONICA', true); // compatibility require_once(INSTALLDIR . '/lib/common.php'); diff --git a/scripts/fixup_inboxes.php b/scripts/fixup_inboxes.php index 0640fcc4f4..d55a538853 100755 --- a/scripts/fixup_inboxes.php +++ b/scripts/fixup_inboxes.php @@ -31,6 +31,7 @@ mb_internal_encoding('UTF-8'); define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); define('STATUSNET', true); +define('LACONICA', true); // compatibility require_once(INSTALLDIR . '/lib/common.php'); diff --git a/scripts/fixup_notices_rendered.php b/scripts/fixup_notices_rendered.php index 2ccb7ce80d..359cd6cce4 100755 --- a/scripts/fixup_notices_rendered.php +++ b/scripts/fixup_notices_rendered.php @@ -26,6 +26,7 @@ if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) { define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); define('STATUSNET', true); +define('LACONICA', true); // compatibility require_once(INSTALLDIR . '/lib/common.php'); diff --git a/scripts/fixup_replies.php b/scripts/fixup_replies.php index 63dd6b35a4..7328635d3c 100755 --- a/scripts/fixup_replies.php +++ b/scripts/fixup_replies.php @@ -26,6 +26,7 @@ if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) { define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); define('STATUSNET', true); +define('LACONICA', true); // compatibility require_once(INSTALLDIR . '/lib/common.php'); diff --git a/scripts/update_translations.php b/scripts/update_translations.php index 4f02b55ec7..f145c1f0b6 100755 --- a/scripts/update_translations.php +++ b/scripts/update_translations.php @@ -26,6 +26,7 @@ if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) { define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); define('STATUSNET', true); +define('LACONICA', true); // compatibility require_once(INSTALLDIR . '/lib/common.php'); From 6d0a26a407253cc4a2bfefaca56163e5071117fc Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 26 Aug 2009 10:43:44 -0400 Subject: [PATCH 065/134] define LACONICA_VERSION for backwards compatibility --- lib/common.php | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/common.php b/lib/common.php index 030d560aa8..3ad1377ee1 100644 --- a/lib/common.php +++ b/lib/common.php @@ -20,6 +20,7 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } define('STATUSNET_VERSION', '0.8.1pre1'); +define('LACONICA_VERSION', STATUSNET_VERSION); // compatibility define('AVATAR_PROFILE_SIZE', 96); define('AVATAR_STREAM_SIZE', 48); From b04bc29c3a369006fdf024677c8f8fbb11088030 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 26 Aug 2009 10:51:44 -0400 Subject: [PATCH 066/134] change hidden label for site content license link --- lib/action.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/action.php b/lib/action.php index 4033b6578b..fafb2c6fc4 100644 --- a/lib/action.php +++ b/lib/action.php @@ -781,7 +781,7 @@ class Action extends HTMLOutputter // lawsuit */ function showContentLicense() { - $this->element('dt', array('id' => 'site_content_license'), _('StatusNet 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', From a0b5eb7c0391c0b48a5f87042ff2da6b14c9e10a Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 26 Aug 2009 11:31:44 -0400 Subject: [PATCH 067/134] statusize config.php.sample --- config.php.sample | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/config.php.sample b/config.php.sample index e73489990e..bd3776a47f 100644 --- a/config.php.sample +++ b/config.php.sample @@ -1,7 +1,7 @@ Date: Wed, 26 Aug 2009 14:53:52 -0400 Subject: [PATCH 068/134] Save the mimetype for oEmbed linked url --- classes/File_oembed.php | 21 ++++++++++++++++++++- classes/laconica.ini | 1 + db/08to09.sql | 2 ++ db/laconica.sql | 1 + db/laconica_pg.sql | 1 + 5 files changed, 25 insertions(+), 1 deletion(-) diff --git a/classes/File_oembed.php b/classes/File_oembed.php index bbf112729b..94de8e117e 100644 --- a/classes/File_oembed.php +++ b/classes/File_oembed.php @@ -20,6 +20,7 @@ if (!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/laconica.ini b/classes/laconica.ini index 7edeeebe4f..f58c30f549 100755 --- a/classes/laconica.ini +++ b/classes/laconica.ini @@ -98,6 +98,7 @@ id = N file_id = 129 version = 2 type = 2 +mimetype = 2 provider = 2 provider_url = 2 width = 1 diff --git a/db/08to09.sql b/db/08to09.sql index 4d1830611a..223a99fa37 100644 --- a/db/08to09.sql +++ b/db/08to09.sql @@ -10,3 +10,5 @@ alter table profile alter table user_group modify column description text comment 'group description'; +alter table file_oembed + add column mimetype varchar(50) comment 'mime type of resource'; diff --git a/db/laconica.sql b/db/laconica.sql index 1662ef7a8b..fe93f26ac2 100644 --- a/db/laconica.sql +++ b/db/laconica.sql @@ -450,6 +450,7 @@ create table file_oembed ( file_id integer primary key comment 'oEmbed for that URL/file' references file (id), version varchar(20) comment 'oEmbed spec. version', type varchar(20) comment 'oEmbed type: photo, video, link, rich', + mimetype varchar(50) comment 'mime type of resource', provider varchar(50) comment 'name of this oEmbed provider', provider_url varchar(255) comment 'URL of this oEmbed provider', width integer comment 'width of oEmbed resource when available', diff --git a/db/laconica_pg.sql b/db/laconica_pg.sql index b5626d3f4a..5b4d0485af 100644 --- a/db/laconica_pg.sql +++ b/db/laconica_pg.sql @@ -465,6 +465,7 @@ create table file_oembed ( file_id bigint default nextval('file_oembed_seq') primary key /* comment 'unique identifier' */, version varchar(20), type varchar(20), + mimetype varchar(50), provider varchar(50), provider_url varchar(255), width integer, From 6d60d74093005992701418edda5be4422e46262f Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Wed, 26 Aug 2009 15:40:51 -0400 Subject: [PATCH 069/134] Display linked oembed resources as enclosures if they are of non-html mime types --- classes/File.php | 50 +++++++++++++++++++++++++++++++++++++--------- classes/Notice.php | 9 +++++---- lib/rssaction.php | 23 +++++++++++---------- lib/twitterapi.php | 9 +++++---- 4 files changed, 63 insertions(+), 28 deletions(-) diff --git a/classes/File.php b/classes/File.php index b2c510340d..1c64b4d335 100644 --- a/classes/File.php +++ b/classes/File.php @@ -195,17 +195,49 @@ class File extends Memcached_DataObject return 'http://'.$server.$path.$filename; } - function isEnclosure(){ + 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)){ - return true; + return $enclosure; + }else{ + $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)){ + $ombed = File_oembed::staticGet('file_id',$this->id); + if($oembed){ + $mimetype = strtolower($ombed->mimetype); + $semicolon = strpos($mimetype,';'); + if($semicolon){ + $mimetype = substr($mimetype,0,$semicolon); + } + if(in_array($mimetype,$notEnclosureMimeTypes)){ + return false; + }else{ + if($ombed->mimetype) $enclosure->mimetype=$ombed->mimetype; + if($ombed->url) $enclosure->url=$ombed->url; + if($ombed->title) $enclosure->title=$ombed->title; + if($ombed->modified) $enclosure->modified=$ombed->modified; + unset($ombed->size); + } + }else{ + return $enclosure; + } + }else{ + return $enclosure; + } } - $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)); } } diff --git a/classes/Notice.php b/classes/Notice.php index 48d4a09402..c4f163c31a 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -1199,10 +1199,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/lib/rssaction.php b/lib/rssaction.php index 0aca965664..7e317010d1 100644 --- a/lib/rssaction.php +++ b/lib/rssaction.php @@ -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); } diff --git a/lib/twitterapi.php b/lib/twitterapi.php index 5830072086..e0087e689c 100644 --- a/lib/twitterapi.php +++ b/lib/twitterapi.php @@ -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; } } From 0b884ed9151127778cdd8d68f52294cee5f053a6 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Wed, 26 Aug 2009 19:08:30 -0400 Subject: [PATCH 070/134] Add library checking page --- install.php | 255 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 250 insertions(+), 5 deletions(-) diff --git a/install.php b/install.php index c13f70272d..6f0af32c2f 100644 --- a/install.php +++ b/install.php @@ -19,20 +19,201 @@ define('INSTALLDIR', dirname(__FILE__)); +$external_libraries=array( + array( + 'name'=>'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; @@ -94,6 +275,69 @@ function checkExtension($name) 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.

      From 504c42aa7d4ff5cccd722bceb3231a5a8f46a27b Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Wed, 26 Aug 2009 21:51:54 -0400 Subject: [PATCH 071/134] Fix some stupid bugs, such as a mispelling of oembed --- classes/File.php | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/classes/File.php b/classes/File.php index 1c64b4d335..58fe912373 100644 --- a/classes/File.php +++ b/classes/File.php @@ -204,10 +204,8 @@ class File extends Memcached_DataObject $enclosure->modified=$this->modified; $enclosure->size=$this->size; $enclosure->mimetype=$this->mimetype; - - if(isset($this->filename)){ - return $enclosure; - }else{ + + if(! isset($this->filename)){ $notEnclosureMimeTypes = array('text/html','application/xhtml+xml'); $mimetype = strtolower($this->mimetype); $semicolon = strpos($mimetype,';'); @@ -215,9 +213,9 @@ class File extends Memcached_DataObject $mimetype = substr($mimetype,0,$semicolon); } if(in_array($mimetype,$notEnclosureMimeTypes)){ - $ombed = File_oembed::staticGet('file_id',$this->id); + $oembed = File_oembed::staticGet('file_id',$this->id); if($oembed){ - $mimetype = strtolower($ombed->mimetype); + $mimetype = strtolower($oembed->mimetype); $semicolon = strpos($mimetype,';'); if($semicolon){ $mimetype = substr($mimetype,0,$semicolon); @@ -225,19 +223,16 @@ class File extends Memcached_DataObject if(in_array($mimetype,$notEnclosureMimeTypes)){ return false; }else{ - if($ombed->mimetype) $enclosure->mimetype=$ombed->mimetype; - if($ombed->url) $enclosure->url=$ombed->url; - if($ombed->title) $enclosure->title=$ombed->title; - if($ombed->modified) $enclosure->modified=$ombed->modified; - unset($ombed->size); + 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); } - }else{ - return $enclosure; } - }else{ - return $enclosure; } } + return $enclosure; } } From b7beac36c2dbebfa27982b2fc6c82cf2ebbaae8d Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Wed, 26 Aug 2009 21:54:57 -0400 Subject: [PATCH 072/134] Support multiple attachments per facebook update --- lib/facebookutil.php | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/lib/facebookutil.php b/lib/facebookutil.php index e31a71f5eb..67c6ecbdf1 100644 --- a/lib/facebookutil.php +++ b/lib/facebookutil.php @@ -178,20 +178,38 @@ function format_attachments($attachments) $fbattachment = array(); $fbattachment['media'] = array(); - // Facebook only supports one attachment per item + foreach($attachments as $attachment) + { + $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 +218,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) From eb667d09d9c6ef5a1465a5f8d824661a9387a4da Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Wed, 26 Aug 2009 22:09:46 -0400 Subject: [PATCH 073/134] allow oEmbed resources to be facebook attachments --- lib/facebookutil.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/facebookutil.php b/lib/facebookutil.php index 67c6ecbdf1..fc68f2b294 100644 --- a/lib/facebookutil.php +++ b/lib/facebookutil.php @@ -109,7 +109,6 @@ function facebookBroadcastNotice($notice) $can_update = $facebook->api_client->users_hasAppPermission('status_update', $fbuid); - if (!empty($attachments) && $can_publish == 1) { $fbattachment = format_attachments($attachments); $facebook->api_client->stream_publish($status, $fbattachment, @@ -180,7 +179,11 @@ function format_attachments($attachments) foreach($attachments as $attachment) { - $fbmedia = get_fbmedia_for_attachment($attachment); + if($enclosure = $attachment->getEnclosure()){ + $fbmedia = get_fbmedia_for_attachment($enclosure); + }else{ + $fbmedia = get_fbmedia_for_attachment($attachment); + } if($fbmedia){ $fbattachment['media'][]=$fbmedia; }else{ From dffeb0b3b6b8c999157b567dc57eb04fca219fac Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Thu, 27 Aug 2009 08:00:47 -0700 Subject: [PATCH 074/134] Update version number in README Update version number and add release code name ("Second Guessing"). --- README | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README b/README index f10c8e10ed..ca317b4ed6 100644 --- a/README +++ b/README @@ -2,8 +2,8 @@ README ------ -StatusNet 0.8.0 ("Shiny Happy People") -15 July 2009 +StatusNet 0.8.1 ("Second Guessing") +26 Aug 2009 This is the README file for StatusNet, the Open Source microblogging platform. It includes installation instructions, descriptions of From 089148d286e9ffcc7a597242c1757385983e9084 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Thu, 27 Aug 2009 08:02:41 -0700 Subject: [PATCH 075/134] update version in, and add codename to, lib/common --- lib/common.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/common.php b/lib/common.php index 3ad1377ee1..39d4ffc9b9 100644 --- a/lib/common.php +++ b/lib/common.php @@ -19,9 +19,11 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } -define('STATUSNET_VERSION', '0.8.1pre1'); +define('STATUSNET_VERSION', '0.8.1'); define('LACONICA_VERSION', STATUSNET_VERSION); // compatibility +define('STATUSNET_CODENAME', 'Second Guessing'); + define('AVATAR_PROFILE_SIZE', 96); define('AVATAR_STREAM_SIZE', 48); define('AVATAR_MINI_SIZE', 24); From 03e0f730020a5454680278f816b6c8434503a765 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Thu, 27 Aug 2009 08:39:14 -0700 Subject: [PATCH 076/134] add changelog to README --- README | 115 +++++++++++++++++++++++++-------------------------------- 1 file changed, 51 insertions(+), 64 deletions(-) diff --git a/README b/README index ca317b4ed6..1b02072bbd 100644 --- a/README +++ b/README @@ -5,21 +5,21 @@ README StatusNet 0.8.1 ("Second Guessing") 26 Aug 2009 -This is the README file for StatusNet, 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 +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 ===== -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 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 @@ -71,62 +71,49 @@ for additional terms. New this version ================ -This is a major feature release since version 0.7.4, released May 31 +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 StatusNet's theming system. -- Statistics. Public sites will periodically send usage statistics, - configuration options, and dependency information to StatusNet 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 StatusNet 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 ============= From 2371fe90922bec9ac212112e3a837f07edc61d5d Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Thu, 27 Aug 2009 08:45:53 -0700 Subject: [PATCH 077/134] don't show a warning when dl() disabled --- install.php | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/install.php b/install.php index d278bcc178..24e85fe842 100644 --- a/install.php +++ b/install.php @@ -87,7 +87,7 @@ function checkPrereqs() function checkExtension($name) { if (!extension_loaded($name)) { - if (!dl($name.'.so')) { + if (!@dl($name.'.so')) { return false; } } @@ -129,7 +129,7 @@ function showForm()

      Database hostname

    • - + MySQL
      PostgreSQL
      @@ -181,7 +181,7 @@ function handlePost() $fancy = !empty($_POST['fancy']); $server = $_SERVER['HTTP_HOST']; $path = substr(dirname($_SERVER['PHP_SELF']), 1); - + ?>
      Page notice
      @@ -219,7 +219,7 @@ function handlePost() showForm(); return; } - + switch($dbtype) { case 'mysql': $db = mysql_db_installer($host, $database, $username, $password); @@ -229,26 +229,26 @@ 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("StatusNet has been installed at $link"); updateStatus("You can visit your new StatusNet site."); ?> @@ -266,7 +266,7 @@ function pgsql_db_installer($host, $database, $username, $password) { updateStatus("Starting installation..."); updateStatus("Checking database..."); $conn = pg_connect($connstring); - + if ($conn ===false) { updateStatus("Failed to connect to database: $connstring"); showForm(); @@ -285,7 +285,7 @@ function pgsql_db_installer($host, $database, $username, $password) { //wrap in transaction; pg_query($conn, 'BEGIN'); $res = runDbScript(INSTALLDIR.'/db/statusnet_pg.sql', $conn, 'pgsql'); - + if ($res === false) { updateStatus("Can't run database script.", true); showForm(); @@ -311,9 +311,9 @@ function pgsql_db_installer($host, $database, $username, $password) { else { $sqlUrl = "pgsql://$username:$password@$host/$database"; } - + $db = array('type' => 'pgsql', 'database' => $sqlUrl); - + return $db; } @@ -353,7 +353,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,22 +364,22 @@ 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); From dcda2e1f7272c61c7c000285df9ace208e622e97 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Thu, 27 Aug 2009 08:58:03 -0700 Subject: [PATCH 078/134] show SQL errors in the output --- install.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/install.php b/install.php index 24e85fe842..42d848911b 100644 --- a/install.php +++ b/install.php @@ -220,6 +220,8 @@ function handlePost() return; } + // FIXME: use PEAR::DB or PDO instead of our own switch + switch($dbtype) { case 'mysql': $db = mysql_db_installer($host, $database, $username, $password); @@ -396,18 +398,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; } } From a21ca17f6895e9e090dc0c74018507c8b74108a4 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Thu, 27 Aug 2009 09:04:40 -0700 Subject: [PATCH 079/134] change default logo from laconica to status.net --- theme/default/logo.png | Bin 1691 -> 6389 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/theme/default/logo.png b/theme/default/logo.png index 322cbe903404e4348bc4473758f457b6e9703f5c..550d373fef4005342c4e1daa7cb2c115db54f46c 100644 GIT binary patch literal 6389 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 From 2dd5a5f86d5242362499c381c8d9519f40a8925b Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Thu, 27 Aug 2009 12:06:45 -0400 Subject: [PATCH 080/134] Do not used named capturing groups I'm not sure all php 5.2's are compiled with a PCRE library that supported named captures. --- lib/util.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/util.php b/lib/util.php index 7c1e219138..1e78340579 100644 --- a/lib/util.php +++ b/lib/util.php @@ -413,7 +413,7 @@ function common_replace_urls_callback($text, $callback, $notice_id = null) { // Start off with a regex $regex = '#'. '(?:^|[\s\(\)\[\]\{\}\\\'\\\";]+)(?![\@\!\#])'. - '(?P'. + '('. '(?:'. '(?:'. //Known protocols '(?:'. @@ -454,7 +454,7 @@ function common_replace_urls_callback($text, $callback, $notice_id = null) { } function callback_helper($matches, $callback, $notice_id) { - $url=$matches['url']; + $url=$matches[1]; $left = strpos($matches[0],$url); $right = $left+strlen($url); From a84c4e3518bb26a3cb39c9e998ecbd717fbf0d85 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Thu, 27 Aug 2009 09:34:32 -0700 Subject: [PATCH 081/134] add api/laconica for backwards compatibility --- lib/router.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/router.php b/lib/router.php index b25b1705f5..00e728f557 100644 --- a/lib/router.php +++ b/lib/router.php @@ -401,16 +401,22 @@ class Router array('action' => 'api', 'apiaction' => 'statusnet')); - $m->connect('api/statusnet/:method', + // For older methods, we provide "laconica" base action + + $m->connect('api/laconica/:method', array('action' => 'api', 'apiaction' => 'statusnet')); + // 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/statusnet/groups/list/:argument', array('action' => 'api', 'method' => 'list_groups', 'apiaction' => 'groups')); + foreach (array('xml', 'json', 'rss', 'atom') as $e) { $m->connect('api/statusnet/groups/list.' . $e, array('action' => 'api', From 82b0927f5838f3c12816e03712df9460a9f77b72 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Thu, 27 Aug 2009 10:00:45 -0700 Subject: [PATCH 082/134] update version in README, add note about status.net --- README | 54 ++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 38 insertions(+), 16 deletions(-) diff --git a/README b/README index 1b02072bbd..bfc84662b3 100644 --- a/README +++ b/README @@ -37,6 +37,12 @@ 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 ======= @@ -71,8 +77,8 @@ for additional terms. New this version ================ -This is a minor feature and bugfix release since version 0.8.0, released Jul 15 -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: - Laconica has been renamed StatusNet. With a few minor compatibility exceptions, all references to "Laconica" in code, documentation @@ -218,9 +224,9 @@ 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 statusnet-0.8.0.tar.gz + tar zxf statusnet-0.8.1.tar.gz - ...which will make a statusnet-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.) @@ -228,7 +234,7 @@ 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 statusnet-0.8.0 /var/www/mublog + mv statusnet-0.8.1 /var/www/mublog This will make your StatusNet instance available in the mublog path of your server, like "http://example.net/mublog". "microblog" or @@ -535,7 +541,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 ( @@ -761,7 +767,7 @@ with this situation. 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 StatusNet 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 StatusNet and set up all the prerequisites as if you were @@ -782,13 +788,16 @@ instructions; read to the end first before trying them. 5. Once all writing processes to your site are turned off, make a final backup of the Web directory and database. 6. Move your StatusNet directory to a backup spot, like "mublog.bak". -7. Unpack your StatusNet 0.8.0 tarball and move it to "mublog" or +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! @@ -821,7 +830,7 @@ 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 +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. @@ -858,6 +867,9 @@ 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 StatusNet. It's time to switch now! @@ -1549,9 +1561,9 @@ 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 StatusNet 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 ===== @@ -1582,7 +1594,15 @@ If you're adventurous or impatient, you may want to install the development version of StatusNet. To get it, use the git version control tool like so: - git clone http://status.net/software/statusnet.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! @@ -1594,7 +1614,9 @@ There are several ways to get more information about StatusNet. * 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/trac/ +* The StatusNet wiki, http://status.net/wiki/ +* The StatusNet blog, http://status.net/blog/ +* The StatusNet status update, (!) Feedback ======== @@ -1602,7 +1624,7 @@ Feedback * Microblogging messages to http://identi.ca/evan are very welcome. * 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@identi.ca will usually be read and responded to very +* e-mail to evan@status.net will usually be read and responded to very quickly, unless the question is really hard. Credits From 9f097913a65751c3c19a62d3754eaf2ec67d10a9 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Thu, 27 Aug 2009 11:18:10 -0700 Subject: [PATCH 083/134] add table for user roles --- db/statusnet.sql | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/db/statusnet.sql b/db/statusnet.sql index 1662ef7a8b..deebe72c68 100644 --- a/db/statusnet.sql +++ b/db/statusnet.sql @@ -557,3 +557,13 @@ create table config ( constraint primary key (section, setting) ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin; + +create table user_role ( + + user_id integer not null comment 'user having the role' references user (id), + role varchar(32) not null comment 'string representing the role', + created datetime not null comment 'date the role was granted', + + constraint primary key (user_id, role) + +) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin; From f8afad03ad54f257b4eac042727897e6029e1dc2 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Thu, 27 Aug 2009 11:21:57 -0700 Subject: [PATCH 084/134] add data object class for user_role --- classes/User_role.php | 43 +++++++++++++++++++++++++++++++++++++++++++ classes/statusnet.ini | 9 +++++++++ 2 files changed, 52 insertions(+) create mode 100755 classes/User_role.php diff --git a/classes/User_role.php b/classes/User_role.php new file mode 100755 index 0000000000..658c920007 --- /dev/null +++ b/classes/User_role.php @@ -0,0 +1,43 @@ +. + */ + +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 +} diff --git a/classes/statusnet.ini b/classes/statusnet.ini index 7edeeebe4f..099330a59e 100755 --- a/classes/statusnet.ini +++ b/classes/statusnet.ini @@ -518,3 +518,12 @@ 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 From 41ee56f770c2bb6fc4540e6452bd47d3241b4acf Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Thu, 27 Aug 2009 11:22:24 -0700 Subject: [PATCH 085/134] flip executable bit on User_role.php --- classes/User_role.php | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 classes/User_role.php diff --git a/classes/User_role.php b/classes/User_role.php old mode 100755 new mode 100644 From 522008dee570aafcc844bf123d25203c7d9c3ebc Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Thu, 27 Aug 2009 11:38:31 -0700 Subject: [PATCH 086/134] methods on User to grant, check, and revoke roles --- classes/User.php | 44 +++++++++++++++++++++++++++++++++++++++++++ classes/User_role.php | 5 +++++ 2 files changed, 49 insertions(+) diff --git a/classes/User.php b/classes/User.php index aa366a5f34..58f9a6874e 100644 --- a/classes/User.php +++ b/classes/User.php @@ -674,4 +674,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 index 658c920007..85ecfb422d 100644 --- a/classes/User_role.php +++ b/classes/User_role.php @@ -40,4 +40,9 @@ class User_role extends Memcached_DataObject /* the code above is auto generated do not remove the tag below */ ###END_AUTOCODE + + function &pkeyGet($kv) + { + return Memcached_DataObject::pkeyGet('User_role', $kv); + } } From 35a78de93b3c804490c604cc124b88edb5ef440e Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Thu, 27 Aug 2009 14:53:16 -0700 Subject: [PATCH 087/134] changes to File --- classes/statusnet.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classes/statusnet.ini b/classes/statusnet.ini index 099330a59e..453981cd64 100755 --- a/classes/statusnet.ini +++ b/classes/statusnet.ini @@ -1,4 +1,3 @@ - [avatar] profile_id = 129 original = 17 @@ -98,6 +97,7 @@ id = N file_id = 129 version = 2 type = 2 +mimetype = 2 provider = 2 provider_url = 2 width = 1 From 6ff00c9404cb2b2dddcd12d63c497c85d9d087d8 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Thu, 27 Aug 2009 22:55:32 -0400 Subject: [PATCH 088/134] Implement the is_member and membership group api's --- actions/api.php | 2 + actions/twitapigroups.php | 95 ++++++++++++++++++++++++++++++++++++++- lib/twitterapi.php | 46 +++++++++++++++++++ 3 files changed, 142 insertions(+), 1 deletion(-) diff --git a/actions/api.php b/actions/api.php index 93e33085f9..f425a8dcd7 100644 --- a/actions/api.php +++ b/actions/api.php @@ -133,6 +133,8 @@ class ApiAction extends Action 'groups/show', 'groups/timeline', 'groups/list_all', + 'groups/membership', + 'groups/is_member', 'groups/timeline'); static $bareauth = array('statuses/user_timeline', diff --git a/actions/twitapigroups.php b/actions/twitapigroups.php index 214fa8214f..1740a33b50 100644 --- a/actions/twitapigroups.php +++ b/actions/twitapigroups.php @@ -21,7 +21,7 @@ * * @category Twitter * @package StatusNet - * @author Craig Andrews + * @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 @@ -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/lib/twitterapi.php b/lib/twitterapi.php index c8099978fa..638efba241 100644 --- a/lib/twitterapi.php +++ b/lib/twitterapi.php @@ -791,6 +791,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'); From 70fc32c5b93a6cd71cf33212ac792c38632bbdb3 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Thu, 27 Aug 2009 22:56:54 -0400 Subject: [PATCH 089/134] added my email address next to my name at the top of the files --- actions/twitapigroups.php | 2 +- actions/twitapitags.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/actions/twitapigroups.php b/actions/twitapigroups.php index 1740a33b50..4deb1b764a 100644 --- a/actions/twitapigroups.php +++ b/actions/twitapigroups.php @@ -41,7 +41,7 @@ require_once INSTALLDIR.'/lib/twitterapi.php'; * * @category Twitter * @package StatusNet - * @author Craig Andrews + * @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 diff --git a/actions/twitapitags.php b/actions/twitapitags.php index 2bb7ee01ab..0bcc55d378 100644 --- a/actions/twitapitags.php +++ b/actions/twitapitags.php @@ -21,7 +21,7 @@ * * @category Twitter * @package StatusNet - * @author Craig Andrews + * @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 @@ -41,7 +41,7 @@ require_once INSTALLDIR.'/lib/twitterapi.php'; * * @category Twitter * @package StatusNet - * @author Craig Andrews + * @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 From 0056b635c661c4aaf6bce08795af925388e35f5c Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Thu, 27 Aug 2009 20:06:03 -0700 Subject: [PATCH 090/134] reformat curry() to make my editor happy --- lib/util.php | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/lib/util.php b/lib/util.php index cedb708739..79a219fd6d 100644 --- a/lib/util.php +++ b/lib/util.php @@ -457,7 +457,7 @@ function callback_helper($matches, $callback, $notice_id) { $url=$matches[1]; $left = strpos($matches[0],$url); $right = $left+strlen($url); - + $groupSymbolSets=array( array( 'left'=>'(', @@ -491,9 +491,7 @@ function callback_helper($matches, $callback, $notice_id) { $url=substr($url,0,-1); } }while($original_url!=$url); - - - + if(empty($notice_id)){ $result = call_user_func_array($callback,$url); }else{ @@ -508,16 +506,13 @@ function curry($fn) { 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])); - '); + 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) { From 34ce75c71d37754fa941233c805c042a47910184 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Thu, 27 Aug 2009 20:09:07 -0700 Subject: [PATCH 091/134] remove duplicate save of Notice and streamline attachment detection --- classes/Notice.php | 13 +------------ lib/util.php | 39 +++++++++++---------------------------- 2 files changed, 12 insertions(+), 40 deletions(-) diff --git a/classes/Notice.php b/classes/Notice.php index e597128641..28d5b8ddf9 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -58,7 +58,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; @@ -248,17 +248,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)); diff --git a/lib/util.php b/lib/util.php index 79a219fd6d..070b4232c5 100644 --- a/lib/util.php +++ b/lib/util.php @@ -542,8 +542,7 @@ 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); @@ -551,33 +550,17 @@ function common_linkify($url) { if (isset($localfile->filename)) { $is_attachment = true; $attachment_id = $localfile->id; - } - } + } else { // if it has OEmbed info, it's an attachment, too + $foe = File_oembed::staticGet('file_id', $localfile->id); + if (!empty($foe)) { + $is_attachment = true; + $attachment_id = $localfile->id; - // 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. - - $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', $localfile->id); + if (!empty($thumb)) { + $has_thumb = true; + } + } } } From c0d03fc2799c7b0c57d05166b404a3d13427f497 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Thu, 27 Aug 2009 20:23:31 -0700 Subject: [PATCH 092/134] make URL analyzer save new info on URLs --- classes/File.php | 8 +++++--- lib/util.php | 21 +++++++++++++-------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/classes/File.php b/classes/File.php index 0cebfc55e3..f4d0a3a488 100644 --- a/classes/File.php +++ b/classes/File.php @@ -85,7 +85,7 @@ class File extends Memcached_DataObject 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; } diff --git a/lib/util.php b/lib/util.php index 070b4232c5..8a56be55d5 100644 --- a/lib/util.php +++ b/lib/util.php @@ -520,7 +520,7 @@ function common_linkify($url) { // functions $url = htmlspecialchars_decode($url); - if(strpos($url, '@')!==false && strpos($url, ':')===false){ + 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); } @@ -544,19 +544,24 @@ function common_linkify($url) { // 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)) { + if (empty($f)) { + // XXX: this writes to the database. :< + $f = File::processNew($longurl); + } + + if (!empty($f)) { + if (isset($f->filename)) { $is_attachment = true; - $attachment_id = $localfile->id; + $attachment_id = $f->id; } else { // if it has OEmbed info, it's an attachment, too - $foe = File_oembed::staticGet('file_id', $localfile->id); + $foe = File_oembed::staticGet('file_id', $f->id); if (!empty($foe)) { $is_attachment = true; - $attachment_id = $localfile->id; + $attachment_id = $f->id; - $thumb = File_thumbnail::staticGet('file_id', $localfile->id); + $thumb = File_thumbnail::staticGet('file_id', $f->id); if (!empty($thumb)) { $has_thumb = true; } From 51adf00bd80253322b473ab199e5b97dd4951d5c Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Fri, 28 Aug 2009 04:36:47 +0000 Subject: [PATCH 093/134] Renable basic auth posting to Twitter for users who already have a bridge setup --- lib/twitter.php | 200 ++++++++++++++++++++++++++----------- lib/twitteroauthclient.php | 9 ++ 2 files changed, 153 insertions(+), 56 deletions(-) diff --git a/lib/twitter.php b/lib/twitter.php index 7546ffa98a..d63384fc93 100644 --- a/lib/twitter.php +++ b/lib/twitter.php @@ -154,80 +154,168 @@ 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)) { +function broadcast_oauth($notice, $flink) { - // This could represent a failure posting, - // or the Twitter API might just be behaving flakey. + $user = $flink->getUser(); + $statustxt = format_status($notice); + $token = TwitterOAuthClient::unpackToken($flink->credentials); + $client = new TwitterOAuthClient($token->key, $token->secret); + $status = null; - $errmsg = sprint('No data returned by Twitter API when ' . - 'trying to send update for %1$s (user id %2$s).', - $user->nickname, $user->id); + 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; } - - // Notice crossed the great divide - - $msg = sprintf('Twitter bridge posted notice %s to Twitter.', - $notice->id); - common_log(LOG_INFO, $msg); } + if (empty($status)) { + + // This could represent a failure posting, + // or the Twitter API might just be behaving flakey. + + $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; + } + + // 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_basicauth($notice, $flink) +{ + $user = $flink->getUser(); + $fuser = $flink->getForeignUser(); + $twitter_user = $fuser->nickname; + $twitter_password = $flink->credentials; + $uri = 'http://www.twitter.com/statuses/update.json'; + $statustxt = format_status($notice); + + $options = array(CURLOPT_USERPWD => "$twitter_user:$twitter_password", + CURLOPT_POST => true, + CURLOPT_POSTFIELDS => + array( + 'status' => $statustxt, + 'source' => common_config('integration', 'source') + ), + CURLOPT_RETURNTRANSFER => true, + CURLOPT_FAILONERROR => true, + CURLOPT_HEADER => false, + CURLOPT_FOLLOWLOCATION => true, + CURLOPT_USERAGENT => "StatusNet", + CURLOPT_CONNECTTIMEOUT => 120, + CURLOPT_TIMEOUT => 120, + + # Twitter is strict about accepting invalid "Expect" headers + CURLOPT_HTTPHEADER => array('Expect:')); + + $ch = curl_init($uri); + curl_setopt_array($ch, $options); + $data = curl_exec($ch); + $errmsg = curl_error($ch); + + if ($errmsg == 'The requested URL returned error: 401') { + + $errmsg = sprintf('User %1$s (user id: %2$s) has an invalid ' . + 'Twitter basic auth username/password.', + $user->nickname, $user->id); + common_log(LOG_WARNING, $errmsg); + + // Bad credentials. We need to delete the foreign_link + // to Twitter and inform the user. + + remove_twitter_link($flink); + return true; + + } elseif (!empty($errmsg)) { + + $code = curl_errno($ch); + + $msg = "cURL error: $code, '$errmsg' - trying to send notice $notice->id " . + "to Twitter using basic auth."; + + common_log(LOG_WARNING, $msg); + + return false; + } + + curl_close($ch); + + $status = json_decode($data); + + if (empty($status)) { + + $errmsg = sprintf('No data returned by Twitter API when ' . + 'trying to send update for %1$s (user id %2$s) ' . + 'using basic auth.', + $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 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(); diff --git a/lib/twitteroauthclient.php b/lib/twitteroauthclient.php index 3da522fc51..9821a491e5 100644 --- a/lib/twitteroauthclient.php +++ b/lib/twitteroauthclient.php @@ -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 * From 36b6ef8d05bf6e4290894f9677cc9618a9bfd486 Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Fri, 28 Aug 2009 06:00:30 +0000 Subject: [PATCH 094/134] Abstract the Twitter basic auth stuff into its own client class --- lib/twitter.php | 77 ++++------- lib/twitterbasicauthclient.php | 236 +++++++++++++++++++++++++++++++++ 2 files changed, 262 insertions(+), 51 deletions(-) create mode 100644 lib/twitterbasicauthclient.php diff --git a/lib/twitter.php b/lib/twitter.php index d63384fc93..b734d22d8e 100644 --- a/lib/twitter.php +++ b/lib/twitter.php @@ -218,7 +218,7 @@ function broadcast_oauth($notice, $flink) { // Notice crossed the great divide - $msg = sprintf('Twitter bridge posted notice %s to Twitter.', + $msg = sprintf('Twitter bridge posted notice %s to Twitter using OAuth.', $notice->id); common_log(LOG_INFO, $msg); @@ -228,70 +228,44 @@ function broadcast_oauth($notice, $flink) { function broadcast_basicauth($notice, $flink) { $user = $flink->getUser(); - $fuser = $flink->getForeignUser(); - $twitter_user = $fuser->nickname; - $twitter_password = $flink->credentials; - $uri = 'http://www.twitter.com/statuses/update.json'; + $statustxt = format_status($notice); - $options = array(CURLOPT_USERPWD => "$twitter_user:$twitter_password", - CURLOPT_POST => true, - CURLOPT_POSTFIELDS => - array( - 'status' => $statustxt, - 'source' => common_config('integration', 'source') - ), - CURLOPT_RETURNTRANSFER => true, - CURLOPT_FAILONERROR => true, - CURLOPT_HEADER => false, - CURLOPT_FOLLOWLOCATION => true, - CURLOPT_USERAGENT => "StatusNet", - CURLOPT_CONNECTTIMEOUT => 120, - CURLOPT_TIMEOUT => 120, + $client = new TwitterBasicAuthClient($flink); + $status = null; - # Twitter is strict about accepting invalid "Expect" headers - CURLOPT_HTTPHEADER => array('Expect:')); + try { + $status = $client->statusesUpdate($statustxt); + } catch (BasicAuthCurlException $e) { - $ch = curl_init($uri); - curl_setopt_array($ch, $options); - $data = curl_exec($ch); - $errmsg = curl_error($ch); + if ($e->getMessage() == 'The requested URL returned error: 401') { - if ($errmsg == 'The requested URL returned error: 401') { + $errmsg = sprintf('User %1$s (user id: %2$s) has an invalid ' . + 'Twitter screen_name/password combo.', + $user->nickname, $user->id); + common_log(LOG_WARNING, $errmsg); - $errmsg = sprintf('User %1$s (user id: %2$s) has an invalid ' . - 'Twitter basic auth username/password.', - $user->nickname, $user->id); - common_log(LOG_WARNING, $errmsg); + remove_twitter_link($flink); + return true; - // Bad credentials. We need to delete the foreign_link - // to Twitter and inform the user. + } else { - remove_twitter_link($flink); - return true; + $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); - } elseif (!empty($errmsg)) { - - $code = curl_errno($ch); - - $msg = "cURL error: $code, '$errmsg' - trying to send notice $notice->id " . - "to Twitter using basic auth."; - - common_log(LOG_WARNING, $msg); - - return false; + return false; + } } - curl_close($ch); - - $status = json_decode($data); - if (empty($status)) { $errmsg = sprintf('No data returned by Twitter API when ' . - 'trying to send update for %1$s (user id %2$s) ' . - 'using basic auth.', - $user->nickname, $user->id); + 'trying to send update for %1$s (user id %2$s).', + $user->nickname, $user->id); common_log(LOG_WARNING, $errmsg); return false; @@ -302,6 +276,7 @@ function broadcast_basicauth($notice, $flink) common_log(LOG_INFO, $msg); return true; + } function format_status($notice) diff --git a/lib/twitterbasicauthclient.php b/lib/twitterbasicauthclient.php new file mode 100644 index 0000000000..82359d93d1 --- /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 /stutuses/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, true); + $status = json_decode($response); + return $status; + } + + /** + * Calls Twitter's /stutuses/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, null, true); + $statuses = json_decode($response); + return $statuses; + } + + /** + * Calls Twitter's /stutuses/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 /stutuses/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 = false) + { + $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; + } + +} From 36c104fb34d7128a0372dd3f77504c0b2f76ba80 Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Fri, 28 Aug 2009 07:02:27 +0000 Subject: [PATCH 095/134] Make SyncTwitterFriends and TwitterStatusFetcher daemons use both HTTP Basic Auth as well as OAuth --- lib/oauthclient.php | 2 +- lib/twitterbasicauthclient.php | 6 +++--- lib/twitteroauthclient.php | 2 +- scripts/synctwitterfriends.php | 17 +++++++++++++---- scripts/twitterqueuehandler.php | 2 ++ scripts/twitterstatusfetcher.php | 21 +++++++++++++++------ 6 files changed, 35 insertions(+), 15 deletions(-) diff --git a/lib/oauthclient.php b/lib/oauthclient.php index cc10cea8f9..f1827726e7 100644 --- a/lib/oauthclient.php +++ b/lib/oauthclient.php @@ -22,7 +22,7 @@ * @category Action * @package StatusNet * @author Zach Copley - * @copyright 2008 StatusNet, Inc. + * @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/ */ diff --git a/lib/twitterbasicauthclient.php b/lib/twitterbasicauthclient.php index 82359d93d1..66bb01e539 100644 --- a/lib/twitterbasicauthclient.php +++ b/lib/twitterbasicauthclient.php @@ -88,7 +88,7 @@ class TwitterBasicAuthClient $params = array('status' => $status, 'source' => common_config('integration', 'source'), 'in_reply_to_status_id' => $in_reply_to_status_id); - $response = $this->httpRequest($url, $params, true); + $response = $this->httpRequest($url, $params); $status = json_decode($response); return $status; } @@ -117,7 +117,7 @@ class TwitterBasicAuthClient $url .= "?$qry"; } - $response = $this->httpRequest($url, null, true); + $response = $this->httpRequest($url); $statuses = json_decode($response); return $statuses; } @@ -190,7 +190,7 @@ class TwitterBasicAuthClient * * @return mixed the request */ - function httpRequest($url, $params = null, $auth = false) + function httpRequest($url, $params = null, $auth = true) { $options = array( CURLOPT_RETURNTRANSFER => true, diff --git a/lib/twitteroauthclient.php b/lib/twitteroauthclient.php index 9821a491e5..e37fa05f0a 100644 --- a/lib/twitteroauthclient.php +++ b/lib/twitteroauthclient.php @@ -22,7 +22,7 @@ * @category Integration * @package StatusNet * @author Zach Copley - * @copyright 2008 StatusNet, Inc. + * @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/ */ diff --git a/scripts/synctwitterfriends.php b/scripts/synctwitterfriends.php index 545cb23b3c..2cb7525eaf 100755 --- a/scripts/synctwitterfriends.php +++ b/scripts/synctwitterfriends.php @@ -19,6 +19,8 @@ */ define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); +define('STATUSNET', true); +define('LACONICA', true); // compatibility $shortoptions = 'di::'; $longoptions = array('id::', 'debug'); @@ -142,13 +144,20 @@ class SyncTwitterFriendsDaemon extends ParallelizingDaemon { $friends = array(); - $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 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()); @@ -177,7 +186,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/scripts/twitterqueuehandler.php b/scripts/twitterqueuehandler.php index ce4d824d0d..992141f9de 100755 --- a/scripts/twitterqueuehandler.php +++ b/scripts/twitterqueuehandler.php @@ -19,6 +19,8 @@ */ define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); +define('STATUSNET', true); +define('LACONICA', true); // compatibility $shortoptions = 'i::'; $longoptions = array('id::'); diff --git a/scripts/twitterstatusfetcher.php b/scripts/twitterstatusfetcher.php index 68f7e9bf75..6dca6f75b8 100755 --- a/scripts/twitterstatusfetcher.php +++ b/scripts/twitterstatusfetcher.php @@ -19,6 +19,8 @@ */ define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); +define('STATUSNET', true); +define('LACONICA', true); // compatibility // Tune number of processes and how often to poll Twitter // XXX: Should these things be in config.php? @@ -148,9 +150,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; } @@ -161,17 +163,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()); } From e277c856d65885a487b4d7f090a10cf817da836a Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Fri, 28 Aug 2009 20:00:55 +1200 Subject: [PATCH 096/134] fix for SQL error: ERROR: syntax error at or near ")" at character 45 http://laconi.ca/trac/ticket/1735 --- classes/Notice.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/classes/Notice.php b/classes/Notice.php index 28d5b8ddf9..89afe9d1dc 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -732,6 +732,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'); From 06514aa001f8c567918a5e5533b3d4a24f427439 Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Fri, 28 Aug 2009 20:00:55 +1200 Subject: [PATCH 097/134] fix for SQL error: ERROR: syntax error at or near ")" at character 45 http://laconi.ca/trac/ticket/1735 --- classes/Notice.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/classes/Notice.php b/classes/Notice.php index e569d8305a..c3c8d13c85 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -755,6 +755,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'); From a0e41693e48be87feb0baa378c74e8309146c9c5 Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Fri, 28 Aug 2009 20:33:49 +1200 Subject: [PATCH 098/134] added config table --- db/statusnet_pg.sql | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/db/statusnet_pg.sql b/db/statusnet_pg.sql index 5b4d0485af..dbfd500985 100644 --- a/db/statusnet_pg.sql +++ b/db/statusnet_pg.sql @@ -549,3 +549,13 @@ create index noticecontent_idx on notice using gist(to_tsvector('english',conten create trigger textsearchupdate before insert or update on profile for each row execute procedure tsvector_update_trigger(textsearch, 'pg_catalog.english', nickname, fullname, location, bio, homepage); + +create table config ( + + section varchar(32) /* comment 'configuration section'*/, + setting varchar(32) /* comment 'configuration setting'*/, + value varchar(255) /* comment 'configuration value'*/, + + primary key (section, setting) + +); From f4117119ffca76b0d7ff14bd1f99b607f248151b Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Fri, 28 Aug 2009 20:35:35 +1200 Subject: [PATCH 099/134] added the user_role table --- db/statusnet_pg.sql | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/db/statusnet_pg.sql b/db/statusnet_pg.sql index dbfd500985..672877ddf0 100644 --- a/db/statusnet_pg.sql +++ b/db/statusnet_pg.sql @@ -559,3 +559,13 @@ create table config ( primary key (section, setting) ); + +create table user_role ( + + user_id integer not null /* comment 'user having the role'*/ references "user" (id), + role varchar(32) not null /* comment 'string representing the role'*/, + created timestamp /* not null comment 'date the role was granted'*/, + + primary key (user_id, role) + +); From b833b725a8b1da1ddbe3ff8f05dd1ccd660955a1 Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Fri, 28 Aug 2009 20:42:13 +1200 Subject: [PATCH 100/134] make use of common_database_tablename() --- classes/User.php | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/classes/User.php b/classes/User.php index 58f9a6874e..618e2d6aac 100644 --- a/classes/User.php +++ b/classes/User.php @@ -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(); From b9ea2bf1bc96629c91bfb41d665e5a6954fa9b06 Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Fri, 28 Aug 2009 20:44:11 +1200 Subject: [PATCH 101/134] used standard SQL that mysql and pgsql both like --- classes/User.php | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/classes/User.php b/classes/User.php index 618e2d6aac..060cd80056 100644 --- a/classes/User.php +++ b/classes/User.php @@ -627,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(); From 815630fe6377824fd94c93463938603aed5f6ea8 Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Fri, 28 Aug 2009 20:45:12 +1200 Subject: [PATCH 102/134] used standard SQL that mysql and pgsql both like --- classes/User.php | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/classes/User.php b/classes/User.php index 060cd80056..11cb4f08b4 100644 --- a/classes/User.php +++ b/classes/User.php @@ -650,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(); From 53ec4223e4f175d19d158a9e487e7c6d447d76de Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Fri, 28 Aug 2009 21:04:15 +1200 Subject: [PATCH 103/134] fix for postgres - was using a non-existent variable to work out if should write quote_identifiers=true --- install.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.php b/install.php index 4c5bc38aee..f4dcef2e85 100644 --- a/install.php +++ b/install.php @@ -624,7 +624,7 @@ function writeConf($sitename, $server, $path, $fancy, $db) // database "\$config['db']['database'] = '{$db['database']}';\n\n". - ($type == 'pgsql' ? "\$config['db']['quote_identifiers'] = true;\n\n":''). + ($db['type'] == 'pgsql' ? "\$config['db']['quote_identifiers'] = true;\n\n":''). "\$config['db']['type'] = '{$db['type']}';\n\n". "?>"; From e04e009ddb51cf8327744a2d642b793a3d9716cd Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Fri, 28 Aug 2009 06:13:47 -0700 Subject: [PATCH 104/134] stutuses -> statuses --- lib/twitterbasicauthclient.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/twitterbasicauthclient.php b/lib/twitterbasicauthclient.php index 66bb01e539..fd331fbdc9 100644 --- a/lib/twitterbasicauthclient.php +++ b/lib/twitterbasicauthclient.php @@ -74,7 +74,7 @@ class TwitterBasicAuthClient } /** - * 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 @@ -94,7 +94,7 @@ class TwitterBasicAuthClient } /** - * 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 @@ -123,7 +123,7 @@ class TwitterBasicAuthClient } /** - * 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 @@ -153,7 +153,7 @@ class TwitterBasicAuthClient } /** - * 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 @@ -163,7 +163,7 @@ class TwitterBasicAuthClient * @return mixed a list of ids, 100 per page */ function friendsIds($id = null, $user_id = null, $screen_name = null, - $page = null) + $page = null) { $url = "https://twitter.com/friends/ids.json"; From b4ca06edb286a4518b0a59e2a59e50e1c4b6ecb1 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Fri, 28 Aug 2009 08:43:28 -0700 Subject: [PATCH 105/134] fix 'callback_helper' --- lib/util.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/util.php b/lib/util.php index 8a56be55d5..87d5800f69 100644 --- a/lib/util.php +++ b/lib/util.php @@ -450,7 +450,7 @@ function common_replace_urls_callback($text, $callback, $notice_id = null) { '#ixu'; preg_match_all($regex,$text,$matches); //print_r($matches); - return preg_replace_callback($regex, curry(callback_helper,$callback,$notice_id) ,$text); + return preg_replace_callback($regex, curry('callback_helper',$callback,$notice_id) ,$text); } function callback_helper($matches, $callback, $notice_id) { From c628029ef124698fe39522a5038af3f3e1a11a26 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Fri, 28 Aug 2009 10:42:34 -0700 Subject: [PATCH 106/134] Status_network had wrong ini file --- classes/Status_network.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classes/Status_network.php b/classes/Status_network.php index d526cb4d61..fe4f0b0c58 100644 --- a/classes/Status_network.php +++ b/classes/Status_network.php @@ -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(); From a0a376bf0eca00cce974de12c2f275006c1281ee Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Fri, 28 Aug 2009 17:55:58 +0000 Subject: [PATCH 107/134] Take out unnecessary defines --- scripts/synctwitterfriends.php | 2 -- scripts/twitterqueuehandler.php | 2 -- scripts/twitterstatusfetcher.php | 2 -- 3 files changed, 6 deletions(-) diff --git a/scripts/synctwitterfriends.php b/scripts/synctwitterfriends.php index 2cb7525eaf..b30e700a1c 100755 --- a/scripts/synctwitterfriends.php +++ b/scripts/synctwitterfriends.php @@ -19,8 +19,6 @@ */ define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); -define('STATUSNET', true); -define('LACONICA', true); // compatibility $shortoptions = 'di::'; $longoptions = array('id::', 'debug'); diff --git a/scripts/twitterqueuehandler.php b/scripts/twitterqueuehandler.php index 992141f9de..ce4d824d0d 100755 --- a/scripts/twitterqueuehandler.php +++ b/scripts/twitterqueuehandler.php @@ -19,8 +19,6 @@ */ define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); -define('STATUSNET', true); -define('LACONICA', true); // compatibility $shortoptions = 'i::'; $longoptions = array('id::'); diff --git a/scripts/twitterstatusfetcher.php b/scripts/twitterstatusfetcher.php index 6dca6f75b8..3cdf1867a1 100755 --- a/scripts/twitterstatusfetcher.php +++ b/scripts/twitterstatusfetcher.php @@ -19,8 +19,6 @@ */ define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); -define('STATUSNET', true); -define('LACONICA', true); // compatibility // Tune number of processes and how often to poll Twitter // XXX: Should these things be in config.php? From 6e570a8440108ac0d16253d35543be19b1c2a713 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Fri, 28 Aug 2009 14:42:51 -0400 Subject: [PATCH 108/134] Added 2 new events: StartApiRss and StartApiAtom --- EVENTS.txt | 7 +++++++ lib/twitterapi.php | 10 +++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/EVENTS.txt b/EVENTS.txt index 05d1725855..121ae175d0 100644 --- a/EVENTS.txt +++ b/EVENTS.txt @@ -247,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/lib/twitterapi.php b/lib/twitterapi.php index 9055d8b982..4612f74e9f 100644 --- a/lib/twitterapi.php +++ b/lib/twitterapi.php @@ -595,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)) { @@ -621,7 +620,6 @@ class TwitterapiAction extends Action } } - $this->elementEnd('channel'); $this->end_twitter_rss(); } @@ -668,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); @@ -687,7 +684,6 @@ class TwitterapiAction extends Action } } - $this->elementEnd('channel'); $this->end_twitter_rss(); } @@ -944,11 +940,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(); } @@ -960,6 +959,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() From 72a60d63814188c7e282d678e281070070be5df2 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Fri, 28 Aug 2009 14:43:31 -0400 Subject: [PATCH 109/134] Added a PubSubHubBub plugin --- plugins/PubSubHubBub/PubSubHubBubPlugin.php | 122 ++++++++++++++++++++ plugins/PubSubHubBub/publisher.php | 86 ++++++++++++++ 2 files changed, 208 insertions(+) create mode 100644 plugins/PubSubHubBub/PubSubHubBubPlugin.php create mode 100644 plugins/PubSubHubBub/publisher.php 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 From 3368452ebf3c738933b05e902c277296684e280b Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Fri, 28 Aug 2009 16:18:05 -0400 Subject: [PATCH 110/134] Add % and ~ as valid characters in the path, querystring, and fragment parts of URLs --- lib/util.php | 10 +++++----- tests/URLDetectionTest.php | 4 ++++ 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/util.php b/lib/util.php index 8a56be55d5..edc08d4c12 100644 --- a/lib/util.php +++ b/lib/util.php @@ -421,7 +421,7 @@ function common_replace_urls_callback($text, $callback, $notice_id = null) { '|'. '(?:(?:mailto|aim|tel|xmpp):)'. ')'. - '(?:[\pN\pL\-\_\+]+(?::[\pN\pL\-\_\+]+)?\@)?'. //user:pass@ + '(?:[\pN\pL\-\_\+\%\~]+(?::[\pN\pL\-\_\+\%\~]+)?\@)?'. //user:pass@ '(?:'. '(?:'. '\[[\pN\pL\-\_\:\.]+(?127.0.0.1:99'), array('127.0.0.1/test.php', '127.0.0.1/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', From b562ff1f2c6bca7e200034dac78b6debdcc0b214 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Fri, 28 Aug 2009 13:35:28 -0700 Subject: [PATCH 111/134] change version to 0.8.2dev --- lib/common.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/common.php b/lib/common.php index 39d4ffc9b9..88d77732f4 100644 --- a/lib/common.php +++ b/lib/common.php @@ -19,7 +19,7 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } -define('STATUSNET_VERSION', '0.8.1'); +define('STATUSNET_VERSION', '0.8.2dev'); define('LACONICA_VERSION', STATUSNET_VERSION); // compatibility define('STATUSNET_CODENAME', 'Second Guessing'); From 8689955e0879d160f3fea31c3abdb97d64bc294f Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Sat, 29 Aug 2009 09:48:30 +1200 Subject: [PATCH 112/134] added missing parts to postgres update, and the config+user_role tables to both upgrade scripts --- db/08to09.sql | 20 ++++++++++++++++++++ db/08to09_pg.sql | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) diff --git a/db/08to09.sql b/db/08to09.sql index 223a99fa37..953e0e5f48 100644 --- a/db/08to09.sql +++ b/db/08to09.sql @@ -12,3 +12,23 @@ alter table user_group alter table file_oembed add column mimetype varchar(50) comment 'mime type of resource'; + +create table config ( + + section varchar(32) comment 'configuration section', + setting varchar(32) comment 'configuration setting', + value varchar(255) comment 'configuration value', + + constraint primary key (section, setting) + +) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin; + +create table user_role ( + + user_id integer not null comment 'user having the role' references user (id), + role varchar(32) not null comment 'string representing the role', + created datetime not null comment 'date the role was granted', + + constraint primary key (user_id, role) + +) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin; diff --git a/db/08to09_pg.sql b/db/08to09_pg.sql index 892df4a39f..492b3ebb91 100644 --- a/db/08to09_pg.sql +++ b/db/08to09_pg.sql @@ -1,2 +1,40 @@ // SQL commands to update an 0.8.x version of Laconica // to 0.9.x. + +--these are just comments +/* +alter table notice + modify column content text comment 'update content'; + +alter table message + modify column content text comment 'message content'; + +alter table profile + modify column bio text comment 'descriptive biography'; + +alter table user_group + modify column description text comment 'group description'; +*/ + +alter table file_oembed + add column mimetype varchar(50) /*comment 'mime type of resource'*/; + +create table config ( + + section varchar(32) /* comment 'configuration section'*/, + setting varchar(32) /* comment 'configuration setting'*/, + value varchar(255) /* comment 'configuration value'*/, + + primary key (section, setting) + +); + +create table user_role ( + + user_id integer not null /* comment 'user having the role'*/ references "user" (id), + role varchar(32) not null /* comment 'string representing the role'*/, + created timestamp /* not null comment 'date the role was granted'*/, + + primary key (user_id, role) + +); \ No newline at end of file From c02e8a46878ba3ba1ea24f746db8ef0039d19612 Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Sat, 29 Aug 2009 06:20:19 +0000 Subject: [PATCH 113/134] Fix error in log msg format specifier --- lib/twitter.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/twitter.php b/lib/twitter.php index b734d22d8e..6555251943 100644 --- a/lib/twitter.php +++ b/lib/twitter.php @@ -194,7 +194,7 @@ function broadcast_oauth($notice, $flink) { $errmsg = sprintf('cURL error trying to send notice to Twitter ' . 'for user %1$s (user id: %2$s) - ' . - 'code: %3$s message: $4$s.', + 'code: %3$s message: %4$s.', $user->nickname, $user->id, $e->getCode(), $e->getMessage()); common_log(LOG_WARNING, $errmsg); @@ -252,7 +252,7 @@ function broadcast_basicauth($notice, $flink) $errmsg = sprintf('cURL error trying to send notice to Twitter ' . 'for user %1$s (user id: %2$s) - ' . - 'code: %3$s message: $4$s.', + 'code: %3$s message: %4$s.', $user->nickname, $user->id, $e->getCode(), $e->getMessage()); common_log(LOG_WARNING, $errmsg); From fb447f713acb48ad81ea7e8005894ff9aa83c342 Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Mon, 31 Aug 2009 11:01:01 +1200 Subject: [PATCH 114/134] fixed up some invalid comment syntax - this is ANSI SQL --- db/08to09_pg.sql | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/db/08to09_pg.sql b/db/08to09_pg.sql index 492b3ebb91..9e37314aa8 100644 --- a/db/08to09_pg.sql +++ b/db/08to09_pg.sql @@ -1,5 +1,5 @@ -// SQL commands to update an 0.8.x version of Laconica -// to 0.9.x. +-- SQL commands to update an 0.8.x version of Laconica +-- to 0.9.x. --these are just comments /* @@ -37,4 +37,4 @@ create table user_role ( primary key (user_id, role) -); \ No newline at end of file +); From b54a25c8951e48b675bc314d9d18d14b1957f56e Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Mon, 31 Aug 2009 10:59:50 +1200 Subject: [PATCH 115/134] some typoes in comments that annoyed me, fixed now --- lib/twitteroauthclient.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/twitteroauthclient.php b/lib/twitteroauthclient.php index 3da522fc51..e4a89c4e9a 100644 --- a/lib/twitteroauthclient.php +++ b/lib/twitteroauthclient.php @@ -109,7 +109,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 +128,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 +158,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 +188,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 From 20423af689fbf4dd139e1254dc49ae3df1db0de2 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Mon, 31 Aug 2009 10:33:37 -0400 Subject: [PATCH 116/134] Allow :'s in the path, query string, and fragment parts of the url (Mediawiki URLs often do this) --- lib/util.php | 6 +++--- tests/URLDetectionTest.php | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/util.php b/lib/util.php index 7228b3fe3e..6e79ffda4f 100644 --- a/lib/util.php +++ b/lib/util.php @@ -442,9 +442,9 @@ function common_replace_urls_callback($text, $callback, $notice_id = null) { ')'. '(?:'. '(?:\:\d+)?'. //:port - '(?:/[\pN\pL$\[\]\,\!\(\)\.\-\_\+\/\=\&\;\%\~]*)?'. // /path - '(?:\?[\pN\pL\$\[\]\,\!\(\)\.\-\_\+\/\=\&\;\%\~\/]*)?'. // ?query string - '(?:\#[\pN\pL$\[\]\,\!\(\)\.\-\_\+\/\=\&\;\%\~\/\?\#]*)?'. // #fragment + '(?:/[\pN\pL$\[\]\,\!\(\)\.\:\-\_\+\/\=\&\;\%\~]*)?'. // /path + '(?:\?[\pN\pL\$\[\]\,\!\(\)\.\:\-\_\+\/\=\&\;\%\~\/]*)?'. // ?query string + '(?:\#[\pN\pL$\[\]\,\!\(\)\.\:\-\_\+\/\=\&\;\%\~\/\?\#]*)?'. // #fragment ')(?127.0.0.1'), array('127.0.0.1:99', '127.0.0.1:99'), - array('127.0.0.1/test.php', - '127.0.0.1/test.php'), + 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', From 9f372da3da4bd445175eda9155fa7fdd13d3c85e Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Mon, 31 Aug 2009 17:52:45 +0000 Subject: [PATCH 117/134] Removed
      structure from MailboxAction::showMessage. Same as committ e0b877b26c5e93809b2a53b6c46326d5e31fa0e8. --- lib/mailbox.php | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/lib/mailbox.php b/lib/mailbox.php index a09bf1060a..e1d384a063 100644 --- a/lib/mailbox.php +++ b/lib/mailbox.php @@ -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; } From 951a787877f450fc7f225cba4331f0763b71dbc2 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Mon, 31 Aug 2009 15:33:23 -0400 Subject: [PATCH 118/134] Fix attachment saving --- lib/util.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/util.php b/lib/util.php index 6e79ffda4f..f4ba3a6c21 100644 --- a/lib/util.php +++ b/lib/util.php @@ -495,7 +495,7 @@ function callback_helper($matches, $callback, $notice_id) { if(empty($notice_id)){ $result = call_user_func_array($callback,$url); }else{ - $result = call_user_func_array($callback, array($url,$notice_id) ); + $result = call_user_func_array($callback, array(array($url,$notice_id)) ); } return substr($matches[0],0,$left) . $result . substr($matches[0],$right); } From 3fd0a9693dc666478b29c85a045be3b084bc37e2 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Mon, 31 Aug 2009 15:49:11 -0400 Subject: [PATCH 119/134] Fix typo in Stomp Thanks Marcel|HSD --- extlib/Stomp.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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; From 00032e11122463a3b69babc464caa26783c7c644 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Mon, 31 Aug 2009 22:16:49 -0400 Subject: [PATCH 120/134] Allow the oEmbed tag to be split across lines --- extlib/Services/oEmbed.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extlib/Services/oEmbed.php b/extlib/Services/oEmbed.php index 7d507b6f62..b05e3a1d14 100644 --- a/extlib/Services/oEmbed.php +++ b/extlib/Services/oEmbed.php @@ -303,7 +303,7 @@ class Services_oEmbed // Find all 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'; + '(application/json|text/xml)\+oembed"([^>]*)>#im'; $m = $ret = array(); if (!preg_match_all($regexp, $body, $m)) { From e0e30552cf069e71453f3c3bcf8dce960cf6b553 Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Tue, 1 Sep 2009 19:00:18 +0000 Subject: [PATCH 121/134] Stop requeuing notices not bound for Twitter. --- lib/twitter.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/twitter.php b/lib/twitter.php index 6555251943..455f7e7ef0 100644 --- a/lib/twitter.php +++ b/lib/twitter.php @@ -160,6 +160,8 @@ function broadcast_twitter($notice) return broadcast_basicauth($notice, $flink); } } + + return true; } function broadcast_oauth($notice, $flink) { From aa7bda4677f1fe7a6168665d4d5e29e8fa2db68c Mon Sep 17 00:00:00 2001 From: Carlos Perilla Date: Tue, 1 Sep 2009 09:19:10 -0500 Subject: [PATCH 122/134] Fixes foaf notices, use Profile for information that's missing in Remote_profile --- actions/foaf.php | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/actions/foaf.php b/actions/foaf.php index 4dae9dfc19..356393304e 100644 --- a/actions/foaf.php +++ b/actions/foaf.php @@ -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); } } From 5668959399dc953bb59b28e46690e51066d6ab3d Mon Sep 17 00:00:00 2001 From: Carlos Perilla Date: Tue, 11 Aug 2009 19:09:51 -0500 Subject: [PATCH 123/134] Let users join and drop group membership from xmpp --- lib/command.php | 105 ++++++++++++++++++++++++++++++++++++- lib/commandinterpreter.php | 20 +++++++ 2 files changed, 124 insertions(+), 1 deletion(-) diff --git a/lib/command.php b/lib/command.php index 91a20b8109..01b14f83e7 100644 --- a/lib/command.php +++ b/lib/command.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 @@ -392,6 +493,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 ac6bf73c8e..6e4340e5dc 100644 --- a/lib/commandinterpreter.php +++ b/lib/commandinterpreter.php @@ -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) { From 4c812bf8a983f18da99b558d7159ccb58e27422e Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Sun, 30 Aug 2009 18:35:44 -0300 Subject: [PATCH 124/134] Convert !group tags to #hash tags when bridging outgoing notices to Twitter http://status.net/trac/ticket/1672 --- lib/twitter.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/twitter.php b/lib/twitter.php index 7546ffa98a..4fff58fd20 100644 --- a/lib/twitter.php +++ b/lib/twitter.php @@ -160,6 +160,9 @@ function broadcast_twitter($notice) // XXX: Hack to get around PHP cURL's use of @ being a a meta character $statustxt = preg_replace('/^@/', ' @', $notice->content); + // 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); From f949c2c9d9afa63496f26b33d0309f8d06f77520 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Sun, 30 Aug 2009 18:22:43 -0300 Subject: [PATCH 125/134] Typo fix in error case: we probably wanted to call sprintf() not sprint() --- lib/twitter.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/twitter.php b/lib/twitter.php index 4fff58fd20..2d2b08f730 100644 --- a/lib/twitter.php +++ b/lib/twitter.php @@ -207,7 +207,7 @@ function broadcast_twitter($notice) // This could represent a failure posting, // or the Twitter API might just be behaving flakey. - $errmsg = sprint('No data returned by Twitter API when ' . + $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); From e929bdc2ba156c615a1cac9bcff087e7a34132cb Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Tue, 1 Sep 2009 19:43:56 -0300 Subject: [PATCH 126/134] fix some double-escaped %s leading to broken links right smack on the main page --- actions/public.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/actions/public.php b/actions/public.php index 86b0d6f56b..73fad182a3 100644 --- a/actions/public.php +++ b/actions/public.php @@ -225,10 +225,10 @@ 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 ' . + $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%%%%))'); + '[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 [StatusNet](http://status.net/) tool.'); From 8b040eba4062bcb464f49e3e04d7a172a1d55c1e Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Wed, 2 Sep 2009 00:24:30 +0000 Subject: [PATCH 127/134] Fixed bug in which you cannot turn off importing friends timelines flag --- actions/twittersettings.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/actions/twittersettings.php b/actions/twittersettings.php index 563d867a49..89169941eb 100644 --- a/actions/twittersettings.php +++ b/actions/twittersettings.php @@ -165,7 +165,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)) { From f86fed357c07f1c1d2c633e8c2c730f205187e1a Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Wed, 2 Sep 2009 00:50:41 +0000 Subject: [PATCH 128/134] Better error handling --- lib/twitter.php | 100 ++++++++++++++++++++---------------------------- 1 file changed, 42 insertions(+), 58 deletions(-) diff --git a/lib/twitter.php b/lib/twitter.php index 455f7e7ef0..676c9b20a2 100644 --- a/lib/twitter.php +++ b/lib/twitter.php @@ -175,34 +175,7 @@ function broadcast_oauth($notice, $flink) { 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; - } + return process_error($e, $flink); } if (empty($status)) { @@ -210,9 +183,9 @@ function broadcast_oauth($notice, $flink) { // This could represent a failure posting, // or the Twitter API might just be behaving flakey. - $errmsg = sprintf('No data returned by Twitter API when ' . - 'trying to send update for %1$s (user id %2$s).', - $user->nickname, $user->id); + $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; @@ -220,7 +193,7 @@ function broadcast_oauth($notice, $flink) { // Notice crossed the great divide - $msg = sprintf('Twitter bridge posted notice %s to Twitter using OAuth.', + $msg = sprintf('Twitter bridge - posted notice %s to Twitter using OAuth.', $notice->id); common_log(LOG_INFO, $msg); @@ -239,46 +212,57 @@ function broadcast_basicauth($notice, $flink) try { $status = $client->statusesUpdate($statustxt); } catch (BasicAuthCurlException $e) { - - if ($e->getMessage() == 'The requested URL returned error: 401') { - - $errmsg = sprintf('User %1$s (user id: %2$s) has an invalid ' . - 'Twitter screen_name/password combo.', - $user->nickname, $user->id); - common_log(LOG_WARNING, $errmsg); - - remove_twitter_link($flink); - return true; - - } else { - - $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; - } + return process_error($e, $flink); } if (empty($status)) { - $errmsg = sprintf('No data returned by Twitter API when ' . - 'trying to send update for %1$s (user id %2$s).', - $user->nickname, $user->id); + $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; } - $msg = sprintf('Twitter bridge posted notice %s to Twitter using basic auth.', + $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) From efcfd209ef737f4dbe99401df282e7a341176ea7 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Tue, 1 Sep 2009 23:02:03 -0400 Subject: [PATCH 129/134] Check "Files" of type 'application/xhtml+xml' for oEmbed in addition to just text/html --- classes/File.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classes/File.php b/classes/File.php index f4d0a3a488..96a4de6e8e 100644 --- a/classes/File.php +++ b/classes/File.php @@ -78,7 +78,7 @@ 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); } From 29d0dd740c329c2674de58bec172419148a1b495 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Tue, 1 Sep 2009 23:17:45 -0400 Subject: [PATCH 130/134] Allow whitespace before and after the = and require space before the href in html --- extlib/Services/oEmbed.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/extlib/Services/oEmbed.php b/extlib/Services/oEmbed.php index b05e3a1d14..0dc8f01b2f 100644 --- a/extlib/Services/oEmbed.php +++ b/extlib/Services/oEmbed.php @@ -256,7 +256,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); } curl_close($ch); @@ -302,7 +302,7 @@ class Services_oEmbed // Find all tags that have a valid oembed type set. We then // extract the href attribute for each type. - $regexp = '#]*)type="' . + $regexp = '#]*)type[\s\n]*=[\s\n]*"' . '(application/json|text/xml)\+oembed"([^>]*)>#im'; $m = $ret = array(); @@ -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; From 637182e7546e1721a1a5746088cc96b1e1611536 Mon Sep 17 00:00:00 2001 From: Christopher Vollick Date: Thu, 3 Sep 2009 17:57:08 -0400 Subject: [PATCH 131/134] Updated Location of Bug Tracker in Contact Page. --- doc-src/contact | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc-src/contact b/doc-src/contact index 31f3a4d2b3..c63fcd01ad 100644 --- a/doc-src/contact +++ b/doc-src/contact @@ -13,7 +13,7 @@ Bugs ---- If you think you've found a bug in the [StatusNet](http://status.net/) software, -or if there's a new feature you'd like to see, add it into the [StatusNet bug database](http://status.net/PITS/HomePage). Don't forget to check the list of +or if there's a new feature you'd like to see, add it into the [StatusNet bug database](http://status.net/bugs/). Don't forget to check the list of existing bugs to make sure it hasn't already been reported! Email From 0ae4c7a80ce4869faac102386ed33f97a401ca0f Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Wed, 2 Sep 2009 13:33:54 -0400 Subject: [PATCH 132/134] The 'tidy' extension is a requirement Fixes http://status.net/trac/ticket/1844 --- install.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.php b/install.php index a59b9469de..c49043e5c6 100644 --- a/install.php +++ b/install.php @@ -230,7 +230,7 @@ function checkPrereqs() } $reqs = array('gd', 'curl', - 'xmlwriter', 'mbstring'); + 'xmlwriter', 'mbstring','tidy'); foreach ($reqs as $req) { if (!checkExtension($req)) { From 0c95734a6874608ea5ed44608cabeda7c3a1b4ea Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Wed, 2 Sep 2009 13:39:05 -0400 Subject: [PATCH 133/134] Add Tidy requirement to the README --- README | 1 + 1 file changed, 1 insertion(+) diff --git a/README b/README index 3dd365e1f8..7562199811 100644 --- a/README +++ b/README @@ -146,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: From beae3db41375879e725af053edf8041bbd76ac8c Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Thu, 3 Sep 2009 14:58:50 -0400 Subject: [PATCH 134/134] Pluginize the URL shorteners --- actions/othersettings.php | 27 ++++----- lib/Shorturl_api.php | 66 +--------------------- lib/plugin.php | 14 +++++ lib/util.php | 56 +++---------------- plugins/LilUrl/LilUrlPlugin.php | 64 ++++++++++++++++++++++ plugins/PtitUrl/PtitUrlPlugin.php | 62 +++++++++++++++++++++ plugins/SimpleUrl/SimpleUrlPlugin.php | 79 +++++++++++++++++++++++++++ plugins/TightUrl/TightUrlPlugin.php | 62 +++++++++++++++++++++ 8 files changed, 305 insertions(+), 125 deletions(-) create mode 100644 plugins/LilUrl/LilUrlPlugin.php create mode 100644 plugins/PtitUrl/PtitUrlPlugin.php create mode 100644 plugins/SimpleUrl/SimpleUrlPlugin.php create mode 100644 plugins/TightUrl/TightUrlPlugin.php diff --git a/actions/othersettings.php b/actions/othersettings.php index 8b674161a8..4ccef84125 100644 --- a/actions/othersettings.php +++ b/actions/othersettings.php @@ -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/lib/Shorturl_api.php b/lib/Shorturl_api.php index 6402dbc099..18ae7719b2 100644 --- a/lib/Shorturl_api.php +++ b/lib/Shorturl_api.php @@ -19,7 +19,7 @@ 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/plugin.php b/lib/plugin.php index 87d7be5a75..59bf3ba9d6 100644 --- a/lib/plugin.php +++ b/lib/plugin.php @@ -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/util.php b/lib/util.php index 9cf4625150..0a25907c47 100644 --- a/lib/util.php +++ b/lib/util.php @@ -1373,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, 'StatusNet'); - 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/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/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/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/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; + } +}