Changeset 1354
- Timestamp:
- 03/02/07 03:02:11 (2 years ago)
- Files:
-
- feedmelinks/_config/crontab.txt (deleted)
- feedmelinks/_config/servers-template.xml (modified) (2 diffs)
- feedmelinks/_mail (added)
- feedmelinks/_mail/.htaccess (added)
- feedmelinks/admin/expire-old-users.php (modified) (3 diffs)
- feedmelinks/aim/bot (added)
- feedmelinks/aim/bot/.htaccess (added)
- feedmelinks/aim/bot/klaus.pl (added)
- feedmelinks/aim/index.php (added)
- feedmelinks/bin/configure.sh (modified) (1 diff)
- feedmelinks/bin/drip-feed-mailer.sh (added)
- feedmelinks/export/index.php (modified) (1 diff)
- feedmelinks/export/stevedore.php (modified) (1 diff)
- feedmelinks/lib/FeedMeLinks/Bot.pm (added)
- feedmelinks/lib/Module (added)
- feedmelinks/lib/Module/Reload (added)
- feedmelinks/lib/Module/Reload.pm (added)
- feedmelinks/lib/Module/Reload/Selective.pm (added)
- feedmelinks/modules/utils.inc.php (modified) (8 diffs)
- feedmelinks/testing/.t (added)
- feedmelinks/testing/validate_users_im_name.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
feedmelinks/_config/servers-template.xml
r1325 r1354 13 13 14 14 <server name="live" 15 domain=" feedmelinks.com"15 domain="your-server-name.com" 16 16 port="" 17 cookie-domain=".feedmelinks.com" 17 cookie-domain=".your-server-name.com" 18 blog-domain="blog.your-server-name.com" 18 19 webserver-root="/path/to/your/webserver/root" 19 database-name="db_name" 20 database-user="db_username" 21 database-password="db_password" 20 database-name="your-db-name" 21 database-user="your-db-user" 22 database-password="your-db-passwd" 23 bot-user="mr_roboto" 24 bot-password="robotstuff" 25 admin-user="you" 26 admin-user-password="OMG_STF_KTHXBAI" 22 27 maintainer-email="you@whatevs.obvs.com" 23 28 spamsafe-email=" @&encoded-somehow.com" … … 37 42 port="8080" 38 43 cookie-domain="" 44 blog-domain="blog.your-server-name.com" 39 45 webserver-root="/home/whatever/your/name/here/www/" 40 database-name="db_name" 41 database-user="db_username" 42 database-password="db_password" 46 database-name="your-db-name" 47 database-user="your-db-user" 48 database-password="your-db-passwd" 49 bot-user="mr_roboto" 50 bot-password="robotstuff" 51 admin-user="you" 52 admin-user-password="OMG_STF_KTHXBAI" 43 53 maintainer-email="your-email@your-domain.com" 44 54 spamsafe-email="somehow-obscured@domain.com" feedmelinks/admin/expire-old-users.php
r1352 r1354 13 13 $q = run_query( $qs ); 14 14 $ttl = get_num_days_allowed_idle(); 15 $warn_ttl = $ttl - 8; 15 16 ?> 16 17 <b><code><?= $qs ?></code></b>18 <p />19 17 20 18 <style type="text/css"> … … 35 33 $last_link = get_time_of_last_action( $user ); 36 34 $delta = round( diff_driver( $now, $last_link )); 37 if( $delta > $ttl ) { 35 36 if( $delta > $warn_ttl ) { 37 ++ $warners; 38 $expired = false; 39 $warned = true; 40 notify_expiring_soon( $user ); 41 } else if( $delta > $ttl ) { 38 42 $expired = true; 43 $warned = false; 39 44 ++ $idlers; 40 45 expire_user( $user ); 41 46 } else { 42 $expired = false;47 $expired = $warned = false; 43 48 } 49 50 if( $warned || $expired ) { 44 51 ?> 45 52 46 53 <tr class="<?= $expired ? "expired" : "" ?>"> 47 <td><?= $expired ? "EXPIRED" : " " ?></td> 54 <td> 55 <?= $expired ? "Expired" : " " ?> 56 <?= $warned ? "Warned" : " " ?> 57 </td> 48 58 <td><?= makeUserLink( $user ) ?></td> 49 59 <td><?= $delta ?> days idle </td> … … 52 62 53 63 <?php 64 } 54 65 } 55 66 ?> 56 67 57 68 </table> 58 <h1><?= $idlers ?> idlers</h1>59 69 70 <h1>disabled <?= $idlers ?> idle users</h1> 71 <h1>warned <?= $warners ?> nearly expired users </h1> 72 feedmelinks/bin/configure.sh
r1325 r1354 46 46 fi 47 47 48 echo 1. Creating serverconfigs for your server \"$s\"48 echo 1. Writing the custom apache and php configs for your server \"$s\" 49 49 xsltproc --$sp server-name $s --$sp mode htaccess $xsl $xml > $root/.htaccess 50 50 feedmelinks/export/index.php
r1352 r1354 32 32 <select name="format"> 33 33 <option value="xml_delicious">XML (del.icio.us compatible)</option> 34 <option value="html">HTML</option> 35 <option value="json">JSON</option> 34 36 <option value="rss">RSS - coming soon</option> 35 37 </select> feedmelinks/export/stevedore.php
r1352 r1354 14 14 15 15 header( "Content-type: " . get_mime_type( $format )); 16 header( "Content-Disposition: attachment; filename= '$u" . (($select == "private" || $select == "public") ? "-$select-" : "-") . "links" . get_extension( $format ) . "'");16 header( "Content-Disposition: attachment; filename=$u" . (($select == "private" || $select == "public") ? "-$select-" : "-") . "links" . get_extension( $format ) ); 17 17 18 18 if( $op == "export" ) { feedmelinks/modules/utils.inc.php
r1352 r1354 33 33 case "rss" : 34 34 return ".rss"; 35 case "json" : 36 return ".json"; 35 37 default: 36 38 return ".txt"; … … 58 60 } 59 61 62 function recent_as_html( $u, $n ) { 63 $n = $n ? $n : 10; 64 return "$u wants $n links"; 65 } 66 60 67 function export_as_xml_delicious( $u, $select ) { 61 68 $now = format_mysql_date_as_DC_date( get_now_db()); … … 78 85 } 79 86 87 function export_as_json( $u, $select ) { 88 return "{'links': {\n 'link': [" . export( $u, "json", $select ) . "]}}"; 89 } 90 80 91 function render_as_html ( $u, $id, $url, $name, $createDate ) { 81 return " <li>not yet implemented</li>\n"; 92 $tags = preg_replace( "/ /", "_", implode( ",", get_tag_names( $id, $u ))); 93 $url = encode_url_for_xml( $url ); 94 return " <li><a href='$url' tags='$tags' date='$createDate'>$name</a></li>\n"; 95 } 96 97 function render_as_json ( $u, $id, $url, $name, $createDate ) { 98 $tags = preg_replace( "/ /", "_", implode( ",", get_tag_names( $id, $u ))); 99 $url = encode_url_for_xml( $url ); 100 return "\n {\n" . " 'url': '$url',\n 'tags': '$tags',\n 'date': '$createDate',\n 'name': '$name'" . "\n },"; 82 101 } 83 102 … … 85 104 if( ! $u ) return; 86 105 87 $qs = "SELECT ID, url, name, createDate, isPrivate FROM links WHERE userid = '" . urlencode( $u ) . "'";106 $qs = "SELECT ID, url, userid, name, createDate, isPrivate FROM links WHERE userid = '" . urlencode( $u ) . "'"; 88 107 if( $select == "private" ) 89 108 $qs .= " AND isPrivate = 1"; … … 91 110 $qs .= " AND isPrivate IS NULL"; 92 111 93 # FIXME: remove limiter!!!! 94 $qs .= " ORDER BY createDate DESC LIMIT 500;"; 112 $qs .= " ORDER BY createDate DESC;"; 95 113 96 114 ob_start(); 97 115 $q = run_query( $qs ); 98 116 export_driver( $u, $select, $format, $q ); 117 118 $data = ob_get_clean(); 119 $data = preg_replace( "/,]/", "]", $data ); # FIXME: braindead why won't this fucking replace the # },]}} comma??????? 120 return $data; 121 $data = force_valid_xml( $data ); 122 } 123 124 # modern list-renderer 125 function export_driver( $u, $scope, $format, $q ) { 99 126 if( $q && mysql_num_rows($q) ) { 100 127 while( $row = mysql_fetch_assoc( $q )) { 101 128 $id = $row["ID"]; 102 129 $url = urldecode( $row["url"] ); 130 $owner = urldecode( $row["userid"] ); 103 131 $name = preg_replace( '/"/', "&quot;", o( urldecode( $row["name"] ))); 104 132 $date = format_mysql_date_as_DC_date( $row["createDate"] ); 105 133 $isPrivate = $row["isPrivate"]; 106 134 107 if( $s elect== "public" && $isPrivate == 1 )135 if( $scope == "public" && $isPrivate == 1 ) 108 136 continue; 109 110 echo call_user_func( "render_as_$format", $u, $id, $url, $name, $createDate ); 137 if( $u != $owner ) 138 continue; 139 140 echo call_user_func( "render_as_$format", $u, $id, $url, $name, $date ); 111 141 } 112 142 } 113 114 $data = force_valid_xml( ob_get_clean());115 return $data;116 143 } 117 144 … … 2847 2874 # judge, jury, and executioner 2848 2875 function isJJE( $u ) { 2849 if( $u == "jm3" || $u == "klaus_kinski")2876 if( $u == "jm3" || $u == get_bot_user() ) 2850 2877 return true; 2851 2878 else … … 2854 2881 2855 2882 function isSuperUser( $u ) { 2856 if( $u == "jm3" || $u == "pheezy" || $u == "klaus_kinski")2883 if( $u == "jm3" || $u == "pheezy" || $u == get_bot_user() ) 2857 2884 return 1; 2858 2885 else … … 3345 3372 3346 3373 # spammers and newbies' links are private 3347 if( get_tag_to_link_ratio( $argSubmitter ) > get_max_ttl_ratio() ) { 3374 if( get_tag_to_link_ratio( $argSubmitter ) > get_max_ttl_ratio() ) { # this could be contraversial 3348 3375 $isPrivate = 1; 3349 3376 log_mesg_to( get_ip() . ": privatizing new link from $argSubmitter due to T:L ratio", "security" ); feedmelinks/testing/validate_users_im_name.php
r1350 r1354 1 1 <?php 2 2 include( "../modules/utils.inc.php" ); 3 validate_users_im_name( "klaus_kinski");3 validate_users_im_name( validate_users_im_name() ); 4 4 ?>