aboutsummaryrefslogtreecommitdiffstats
path: root/mod
diff options
context:
space:
mode:
authorThomas Willingham <founder@kakste.com>2012-04-24 02:18:51 +0100
committerThomas Willingham <founder@kakste.com>2012-04-24 02:18:51 +0100
commit8a80ea24d1d8039be6dc532c9db23c60e71eb467 (patch)
tree7f94f8d1e2336bbb7e69a327a003b6880f0610c0 /mod
parentc4f4715a541ad89dfd348f14c4e25a83006e74e7 (diff)
parentaf7abcea2715824cbd6460a7323c8bb64bd5b829 (diff)
downloadvolse-hubzilla-8a80ea24d1d8039be6dc532c9db23c60e71eb467.tar.gz
volse-hubzilla-8a80ea24d1d8039be6dc532c9db23c60e71eb467.tar.bz2
volse-hubzilla-8a80ea24d1d8039be6dc532c9db23c60e71eb467.zip
Merge remote-tracking branch 'upstream/master'
Merge upstream
Diffstat (limited to 'mod')
-rw-r--r--[-rwxr-xr-x]mod/acl.php0
-rw-r--r--[-rwxr-xr-x]mod/admin.php215
-rw-r--r--[-rwxr-xr-x]mod/allfriends.php0
-rw-r--r--[-rwxr-xr-x]mod/amcd.php0
-rw-r--r--[-rwxr-xr-x]mod/api.php0
-rw-r--r--[-rwxr-xr-x]mod/apps.php0
-rw-r--r--[-rwxr-xr-x]mod/attach.php0
-rw-r--r--[-rwxr-xr-x]mod/cb.php0
-rw-r--r--[-rwxr-xr-x]mod/common.php0
-rw-r--r--[-rwxr-xr-x]mod/community.php8
-rw-r--r--[-rwxr-xr-x]mod/contactgroup.php0
-rw-r--r--[-rwxr-xr-x]mod/contacts.php12
-rw-r--r--[-rwxr-xr-x]mod/crepair.php0
-rw-r--r--[-rwxr-xr-x]mod/dfrn_notify.php59
-rw-r--r--[-rwxr-xr-x]mod/dfrn_poll.php8
-rw-r--r--[-rwxr-xr-x]mod/dfrn_request.php113
-rw-r--r--[-rwxr-xr-x]mod/directory.php2
-rw-r--r--[-rwxr-xr-x]mod/dirfind.php0
-rw-r--r--[-rwxr-xr-x]mod/display.php0
-rw-r--r--[-rwxr-xr-x]mod/editpost.php2
-rw-r--r--[-rwxr-xr-x]mod/events.php8
-rw-r--r--mod/fbrowser.php99
-rw-r--r--[-rwxr-xr-x]mod/filer.php3
-rw-r--r--[-rwxr-xr-x]mod/follow.php0
-rw-r--r--[-rwxr-xr-x]mod/friendica.php0
-rw-r--r--[-rwxr-xr-x]mod/friendika.php0
-rw-r--r--[-rwxr-xr-x]mod/fsuggest.php0
-rw-r--r--[-rwxr-xr-x]mod/group.php0
-rw-r--r--[-rwxr-xr-x]mod/hcard.php0
-rw-r--r--[-rwxr-xr-x]mod/help.php0
-rw-r--r--[-rwxr-xr-x]mod/home.php0
-rw-r--r--[-rwxr-xr-x]mod/hostxrd.php0
-rw-r--r--[-rwxr-xr-x]mod/install.php11
-rw-r--r--[-rwxr-xr-x]mod/invite.php0
-rw-r--r--[-rwxr-xr-x]mod/item.php39
-rw-r--r--[-rwxr-xr-x]mod/like.php0
-rw-r--r--[-rwxr-xr-x]mod/localtime.php0
-rw-r--r--[-rwxr-xr-x]mod/lockview.php0
-rw-r--r--[-rwxr-xr-x]mod/login.php0
-rw-r--r--[-rwxr-xr-x]mod/lostpass.php0
-rw-r--r--[-rwxr-xr-x]mod/manage.php0
-rw-r--r--[-rwxr-xr-x]mod/match.php0
-rw-r--r--[-rwxr-xr-x]mod/message.php3
-rw-r--r--[-rwxr-xr-x]mod/modexp.php0
-rw-r--r--[-rwxr-xr-x]mod/msearch.php0
-rw-r--r--[-rwxr-xr-x]mod/network.php8
-rw-r--r--[-rwxr-xr-x]mod/newmember.php4
-rw-r--r--mod/nogroup.php65
-rw-r--r--[-rwxr-xr-x]mod/notes.php0
-rw-r--r--[-rwxr-xr-x]mod/notice.php0
-rw-r--r--[-rwxr-xr-x]mod/notifications.php4
-rw-r--r--[-rwxr-xr-x]mod/oembed.php0
-rw-r--r--[-rwxr-xr-x]mod/oexchange.php0
-rw-r--r--[-rwxr-xr-x]mod/openid.php0
-rw-r--r--[-rwxr-xr-x]mod/opensearch.php0
-rw-r--r--[-rwxr-xr-x]mod/parse_url.php0
-rw-r--r--[-rwxr-xr-x]mod/photo.php29
-rw-r--r--[-rwxr-xr-x]mod/photos.php1
-rw-r--r--mod/ping.php2
-rw-r--r--[-rwxr-xr-x]mod/poco.php2
-rw-r--r--[-rwxr-xr-x]mod/post.php0
-rw-r--r--[-rwxr-xr-x]mod/probe.php0
-rw-r--r--[-rwxr-xr-x]mod/profile.php25
-rw-r--r--[-rwxr-xr-x]mod/profile_photo.php0
-rw-r--r--[-rwxr-xr-x]mod/profiles.php140
-rw-r--r--[-rwxr-xr-x]mod/profperm.php0
-rw-r--r--[-rwxr-xr-x]mod/pubsub.php0
-rw-r--r--[-rwxr-xr-x]mod/qsearch.php0
-rw-r--r--mod/randprof.php10
-rw-r--r--[-rwxr-xr-x]mod/receive.php7
-rw-r--r--[-rwxr-xr-x]mod/redir.php0
-rw-r--r--[-rwxr-xr-x]mod/register.php16
-rw-r--r--[-rwxr-xr-x]mod/regmod.php0
-rw-r--r--[-rwxr-xr-x]mod/removeme.php0
-rw-r--r--[-rwxr-xr-x]mod/rsd_xml.php0
-rw-r--r--[-rwxr-xr-x]mod/salmon.php0
-rw-r--r--[-rwxr-xr-x]mod/search.php14
-rw-r--r--[-rwxr-xr-x]mod/session.php0
-rw-r--r--[-rwxr-xr-x]mod/settings.php114
-rw-r--r--[-rwxr-xr-x]mod/share.php16
-rw-r--r--[-rwxr-xr-x]mod/smilies.php0
-rw-r--r--[-rwxr-xr-x]mod/starred.php0
-rw-r--r--[-rwxr-xr-x]mod/suggest.php0
-rw-r--r--[-rwxr-xr-x]mod/tagger.php0
-rw-r--r--[-rwxr-xr-x]mod/tagrm.php0
-rw-r--r--[-rwxr-xr-x]mod/uexport.php0
-rw-r--r--[-rwxr-xr-x]mod/update_community.php0
-rw-r--r--[-rwxr-xr-x]mod/update_network.php0
-rw-r--r--[-rwxr-xr-x]mod/update_notes.php0
-rw-r--r--[-rwxr-xr-x]mod/update_profile.php0
-rw-r--r--[-rwxr-xr-x]mod/viewcontacts.php0
-rw-r--r--[-rwxr-xr-x]mod/viewsrc.php0
-rw-r--r--[-rwxr-xr-x]mod/wall_attach.php12
-rw-r--r--[-rwxr-xr-x]mod/wall_upload.php42
-rw-r--r--[-rwxr-xr-x]mod/webfinger.php0
-rw-r--r--[-rwxr-xr-x]mod/xrd.php0
96 files changed, 837 insertions, 256 deletions
diff --git a/mod/acl.php b/mod/acl.php
index fe353d1eb..fe353d1eb 100755..100644
--- a/mod/acl.php
+++ b/mod/acl.php
diff --git a/mod/admin.php b/mod/admin.php
index 53b5ee354..cdc45c8e3 100755..100644
--- a/mod/admin.php
+++ b/mod/admin.php
@@ -4,7 +4,11 @@
* Friendica admin
*/
require_once("include/remoteupdate.php");
-
+
+
+/**
+ * @param App $a
+ */
function admin_post(&$a){
@@ -40,6 +44,20 @@ function admin_post(&$a){
goaway($a->get_baseurl(true) . '/admin/plugins/' . $a->argv[2] );
return; // NOTREACHED
break;
+ case 'themes':
+ $theme = $a->argv[2];
+ if (is_file("view/theme/$theme/config.php")){
+ require_once("view/theme/$theme/config.php");
+ if (function_exists("theme_admin_post")){
+ theme_admin_post($a);
+ }
+ }
+ info(t('Theme settings updated.'));
+ if(is_ajax()) return;
+
+ goaway($a->get_baseurl(true) . '/admin/themes/' . $theme );
+ return;
+ break;
case 'logs':
admin_page_logs_post($a);
break;
@@ -53,6 +71,10 @@ function admin_post(&$a){
return; // NOTREACHED
}
+/**
+ * @param App $a
+ * @return string
+ */
function admin_content(&$a) {
if(!is_site_admin()) {
@@ -60,7 +82,7 @@ function admin_content(&$a) {
}
if(x($_SESSION,'submanage') && intval($_SESSION['submanage']))
- return;
+ return "";
/**
* Side bar links
@@ -129,12 +151,21 @@ function admin_content(&$a) {
} else {
$o = admin_page_summary($a);
}
- return $o;
+
+ if(is_ajax()) {
+ echo $o;
+ killme();
+ return '';
+ } else {
+ return $o;
+ }
}
/**
* Admin Summary Page
+ * @param App $a
+ * @return string
*/
function admin_page_summary(&$a) {
$r = q("SELECT `page-flags`, COUNT(uid) as `count` FROM `user` GROUP BY `page-flags`");
@@ -168,13 +199,15 @@ function admin_page_summary(&$a) {
/**
* Admin Site Page
+ * @param App $a
*/
function admin_page_site_post(&$a){
if (!x($_POST,"page_site")){
return;
}
-
+ check_form_security_token_redirectOnErr('/admin/site', 'admin_site');
+
$sitename = ((x($_POST,'sitename')) ? notags(trim($_POST['sitename'])) : '');
$banner = ((x($_POST,'banner')) ? trim($_POST['banner']) : false);
$language = ((x($_POST,'language')) ? notags(trim($_POST['language'])) : '');
@@ -194,7 +227,6 @@ function admin_page_site_post(&$a){
$global_directory = ((x($_POST,'directory_submit_url')) ? notags(trim($_POST['directory_submit_url'])) : '');
$no_multi_reg = ((x($_POST,'no_multi_reg')) ? True : False);
$no_openid = !((x($_POST,'no_openid')) ? True : False);
- $no_gravatar = !((x($_POST,'no_gravatar')) ? True : False);
$no_regfullname = !((x($_POST,'no_regfullname')) ? True : False);
$no_utf = !((x($_POST,'no_utf')) ? True : False);
$no_community_page = !((x($_POST,'no_community_page')) ? True : False);
@@ -204,10 +236,52 @@ function admin_page_site_post(&$a){
$proxy = ((x($_POST,'proxy')) ? notags(trim($_POST['proxy'])) : '');
$timeout = ((x($_POST,'timeout')) ? intval(trim($_POST['timeout'])) : 60);
$dfrn_only = ((x($_POST,'dfrn_only')) ? True : False);
- $ostatus_disabled = !((x($_POST,'ostatus_disabled')) ? True : False);
+ $ostatus_disabled = !((x($_POST,'ostatus_disabled')) ? True : False);
$diaspora_enabled = ((x($_POST,'diaspora_enabled')) ? True : False);
$ssl_policy = ((x($_POST,'ssl_policy')) ? intval($_POST['ssl_policy']) : 0);
+ if($ssl_policy != intval(get_config('system','ssl_policy'))) {
+ if($ssl_policy == SSL_POLICY_FULL) {
+ q("update `contact` set
+ `url` = replace(`url` , 'http:' , 'https:'),
+ `photo` = replace(`photo` , 'http:' , 'https:'),
+ `thumb` = replace(`thumb` , 'http:' , 'https:'),
+ `micro` = replace(`micro` , 'http:' , 'https:'),
+ `request` = replace(`request`, 'http:' , 'https:'),
+ `notify` = replace(`notify` , 'http:' , 'https:'),
+ `poll` = replace(`poll` , 'http:' , 'https:'),
+ `confirm` = replace(`confirm`, 'http:' , 'https:'),
+ `poco` = replace(`poco` , 'http:' , 'https:')
+ where `self` = 1"
+ );
+ q("update `profile` set
+ `photo` = replace(`photo` , 'http:' , 'https:'),
+ `thumb` = replace(`thumb` , 'http:' , 'https:')
+ where 1 "
+ );
+ }
+ elseif($ssl_policy == SSL_POLICY_SELFSIGN) {
+ q("update `contact` set
+ `url` = replace(`url` , 'https:' , 'http:'),
+ `photo` = replace(`photo` , 'https:' , 'http:'),
+ `thumb` = replace(`thumb` , 'https:' , 'http:'),
+ `micro` = replace(`micro` , 'https:' , 'http:'),
+ `request` = replace(`request`, 'https:' , 'http:'),
+ `notify` = replace(`notify` , 'https:' , 'http:'),
+ `poll` = replace(`poll` , 'https:' , 'http:'),
+ `confirm` = replace(`confirm`, 'https:' , 'http:'),
+ `poco` = replace(`poco` , 'https:' , 'http:')
+ where `self` = 1"
+ );
+ q("update `profile` set
+ `photo` = replace(`photo` , 'https:' , 'http:'),
+ `thumb` = replace(`thumb` , 'https:' , 'http:')
+ where 1 "
+ );
+ }
+ }
+ set_config('system','ssl_policy',$ssl_policy);
+
set_config('config','sitename',$sitename);
if ($banner==""){
// don't know why, but del_config doesn't work...
@@ -218,7 +292,6 @@ function admin_page_site_post(&$a){
} else {
set_config('system','banner', $banner);
}
- set_config('system','ssl_policy',$ssl_policy);
set_config('system','language', $language);
set_config('system','theme', $theme);
set_config('system','maximagesize', $maximagesize);
@@ -239,10 +312,9 @@ function admin_page_site_post(&$a){
} else {
set_config('system','directory_submit_url', $global_directory);
}
- set_config('system','directory_search_url', $global_search_url);
+
set_config('system','block_extended_register', $no_multi_reg);
set_config('system','no_openid', $no_openid);
- set_config('system','no_gravatar', $no_gravatar);
set_config('system','no_regfullname', $no_regfullname);
set_config('system','no_community_page', $no_community_page);
set_config('system','no_utf', $no_utf);
@@ -259,7 +331,11 @@ function admin_page_site_post(&$a){
return; // NOTREACHED
}
-
+
+/**
+ * @param App $a
+ * @return string
+ */
function admin_page_site(&$a) {
/* Installed langs */
@@ -324,7 +400,7 @@ function admin_page_site(&$a) {
'$sitename' => array('sitename', t("Site name"), htmlentities($a->config['sitename'], ENT_QUOTES), ""),
'$banner' => array('banner', t("Banner/Logo"), $banner, ""),
'$language' => array('language', t("System language"), get_config('system','language'), "", $lang_choices),
- '$theme' => array('theme', t("System theme"), get_config('system','theme'), t("Default system theme - may be over-ridden by user profiles"), $theme_choices),
+ '$theme' => array('theme', t("System theme"), get_config('system','theme'), t("Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"), $theme_choices),
'$ssl_policy' => array('ssl_policy', t("SSL link policy"), (string) intval(get_config('system','ssl_policy')), t("Determines whether generated links should be forced to use SSL"), $ssl_choices),
'$maximagesize' => array('maximagesize', t("Maximum image size"), get_config('system','maximagesize'), t("Maximum size in bytes of uploaded images. Default is 0, which means no limits.")),
@@ -339,7 +415,6 @@ function admin_page_site(&$a) {
'$no_multi_reg' => array('no_multi_reg', t("Block multiple registrations"), get_config('system','block_extended_register'), t("Disallow users to register additional accounts for use as pages.")),
'$no_openid' => array('no_openid', t("OpenID support"), !get_config('system','no_openid'), t("OpenID support for registration and logins.")),
- '$no_gravatar' => array('no_gravatar', t("Gravatar support"), !get_config('system','no_gravatar'), t("Search new user's photo on Gravatar.")),
'$no_regfullname' => array('no_regfullname', t("Fullname check"), !get_config('system','no_regfullname'), t("Force users to register with a space between firstname and lastname in Full name, as an antispam measure")),
'$no_utf' => array('no_utf', t("UTF-8 Regular expressions"), !get_config('system','no_utf'), t("Use PHP UTF8 regular expressions")),
'$no_community_page' => array('no_community_page', t("Show Community Page"), !get_config('system','no_community_page'), t("Display a Community page showing all recent public postings on this site.")),
@@ -351,6 +426,7 @@ function admin_page_site(&$a) {
'$proxy' => array('proxy', t("Proxy URL"), get_config('system','proxy'), ""),
'$timeout' => array('timeout', t("Network timeout"), (x(get_config('system','curl_timeout'))?get_config('system','curl_timeout'):60), t("Value is in seconds. Set to 0 for unlimited (not recommended).")),
+ '$form_security_token' => get_form_security_token("admin_site"),
));
@@ -359,11 +435,15 @@ function admin_page_site(&$a) {
/**
* Users admin page
+ *
+ * @param App $a
*/
function admin_page_users_post(&$a){
$pending = ( x($_POST, 'pending') ? $_POST['pending'] : Array() );
$users = ( x($_POST, 'user') ? $_POST['user'] : Array() );
-
+
+ check_form_security_token_redirectOnErr('/admin/users', 'admin_users');
+
if (x($_POST,'page_users_block')){
foreach($users as $uid){
q("UPDATE `user` SET `blocked`=1-`blocked` WHERE `uid`=%s",
@@ -395,7 +475,11 @@ function admin_page_users_post(&$a){
goaway($a->get_baseurl(true) . '/admin/users' );
return; // NOTREACHED
}
-
+
+/**
+ * @param App $a
+ * @return string
+ */
function admin_page_users(&$a){
if ($a->argc>2) {
$uid = $a->argv[3];
@@ -403,10 +487,11 @@ function admin_page_users(&$a){
if (count($user)==0){
notice( 'User not found' . EOL);
goaway($a->get_baseurl(true) . '/admin/users' );
- return; // NOTREACHED
+ return ''; // NOTREACHED
}
switch($a->argv[2]){
case "delete":{
+ check_form_security_token_redirectOnErr('/admin/users', 'admin_users', 't');
// delete user
require_once("include/Contact.php");
user_remove($uid);
@@ -414,6 +499,7 @@ function admin_page_users(&$a){
notice( sprintf(t("User '%s' deleted"), $user[0]['username']) . EOL);
}; break;
case "block":{
+ check_form_security_token_redirectOnErr('/admin/users', 'admin_users', 't');
q("UPDATE `user` SET `blocked`=%d WHERE `uid`=%s",
intval( 1-$user[0]['blocked'] ),
intval( $uid )
@@ -422,7 +508,7 @@ function admin_page_users(&$a){
}; break;
}
goaway($a->get_baseurl(true) . '/admin/users' );
- return; // NOTREACHED
+ return ''; // NOTREACHED
}
@@ -498,6 +584,7 @@ function admin_page_users(&$a){
'$confirm_delete_multi' => t('Selected users will be deleted!\n\nEverything these users had posted on this site will be permanently deleted!\n\nAre you sure?'),
'$confirm_delete' => t('The user {0} will be deleted!\n\nEverything this user has posted on this site will be permanently deleted!\n\nAre you sure?'),
+ '$form_security_token' => get_form_security_token("admin_users"),
// values //
'$baseurl' => $a->get_baseurl(true),
@@ -510,10 +597,12 @@ function admin_page_users(&$a){
}
-/*
+/**
* Plugins admin page
+ *
+ * @param App $a
+ * @return string
*/
-
function admin_page_plugins(&$a){
/**
@@ -523,10 +612,12 @@ function admin_page_plugins(&$a){
$plugin = $a->argv[2];
if (!is_file("addon/$plugin/$plugin.php")){
notice( t("Item not found.") );
- return;
+ return '';
}
if (x($_GET,"a") && $_GET['a']=="t"){
+ check_form_security_token_redirectOnErr('/admin/plugins', 'admin_themes', 't');
+
// Toggle plugin status
$idx = array_search($plugin, $a->plugins);
if ($idx !== false){
@@ -540,7 +631,7 @@ function admin_page_plugins(&$a){
}
set_config("system","addon", implode(", ",$a->plugins));
goaway($a->get_baseurl(true) . '/admin/plugins' );
- return; // NOTREACHED
+ return ''; // NOTREACHED
}
// display plugin details
require_once('library/markdown.php');
@@ -584,7 +675,9 @@ function admin_page_plugins(&$a){
'$admin_form' => $admin_form,
'$function' => 'plugins',
'$screenshot' => '',
- '$readme' => $readme
+ '$readme' => $readme,
+
+ '$form_security_token' => get_form_security_token("admin_themes"),
));
}
@@ -613,10 +706,16 @@ function admin_page_plugins(&$a){
'$submit' => t('Submit'),
'$baseurl' => $a->get_baseurl(true),
'$function' => 'plugins',
- '$plugins' => $plugins
+ '$plugins' => $plugins,
+ '$form_security_token' => get_form_security_token("admin_themes"),
));
}
+/**
+ * @param array $themes
+ * @param string $th
+ * @param int $result
+ */
function toggle_theme(&$themes,$th,&$result) {
for($x = 0; $x < count($themes); $x ++) {
if($themes[$x]['name'] === $th) {
@@ -632,6 +731,11 @@ function toggle_theme(&$themes,$th,&$result) {
}
}
+/**
+ * @param array $themes
+ * @param string $th
+ * @return int
+ */
function theme_status($themes,$th) {
for($x = 0; $x < count($themes); $x ++) {
if($themes[$x]['name'] === $th) {
@@ -645,9 +749,12 @@ function theme_status($themes,$th) {
}
return 0;
}
-
+/**
+ * @param array $themes
+ * @return string
+ */
function rebuild_theme_table($themes) {
$o = '';
if(count($themes)) {
@@ -663,10 +770,12 @@ function rebuild_theme_table($themes) {
}
-/*
+/**
* Themes admin page
+ *
+ * @param App $a
+ * @return string
*/
-
function admin_page_themes(&$a){
$allowed_themes_str = get_config('system','allowed_themes');
@@ -683,7 +792,7 @@ function admin_page_themes(&$a){
foreach($files as $file) {
$f = basename($file);
$is_experimental = intval(file_exists($file . '/experimental'));
- $is_unsupported = 1-(intval(file_exists($file . '/unsupported')));
+ $is_supported = 1-(intval(file_exists($file . '/unsupported'))); // Is not used yet
$is_allowed = intval(in_array($f,$allowed_themes));
$themes[] = array('name' => $f, 'experimental' => $is_experimental, 'supported' => $is_supported, 'allowed' => $is_allowed);
}
@@ -691,7 +800,7 @@ function admin_page_themes(&$a){
if(! count($themes)) {
notice( t('No themes found.'));
- return;
+ return '';
}
/**
@@ -702,10 +811,11 @@ function admin_page_themes(&$a){
$theme = $a->argv[2];
if(! is_dir("view/theme/$theme")){
notice( t("Item not found.") );
- return;
+ return '';
}
if (x($_GET,"a") && $_GET['a']=="t"){
+ check_form_security_token_redirectOnErr('/admin/themes', 'admin_themes', 't');
// Toggle theme status
@@ -718,7 +828,7 @@ function admin_page_themes(&$a){
set_config('system','allowed_themes',$s);
goaway($a->get_baseurl(true) . '/admin/themes' );
- return; // NOTREACHED
+ return ''; // NOTREACHED
}
// display theme details
@@ -731,14 +841,22 @@ function admin_page_themes(&$a){
}
$readme=Null;
- if (is_file("view/$theme/README.md")){
- $readme = file_get_contents("view/$theme/README.md");
+ if (is_file("view/theme/$theme/README.md")){
+ $readme = file_get_contents("view/theme/$theme/README.md");
$readme = Markdown($readme);
- } else if (is_file("view/$theme/README")){
- $readme = "<pre>". file_get_contents("view/$theme/README") ."</pre>";
+ } else if (is_file("view/theme/$theme/README")){
+ $readme = "<pre>". file_get_contents("view/theme/$theme/README") ."</pre>";
}
$admin_form="";
+ if (is_file("view/theme/$theme/config.php")){
+ require_once("view/theme/$theme/config.php");
+ if(function_exists("theme_admin")){
+ $admin_form = theme_admin($a);
+ }
+
+ }
+
$screenshot = array( get_theme_screenshot($theme), t('Screenshot'));
if(! stristr($screenshot[0],$theme))
@@ -756,19 +874,21 @@ function admin_page_themes(&$a){
'$status' => $status,
'$action' => $action,
'$info' => get_theme_info($theme),
- '$function' => 'themes',
+ '$function' => 'themes',
'$admin_form' => $admin_form,
'$str_author' => t('Author: '),
- '$str_maintainer' => t('Maintainer: '),
+ '$str_maintainer' => t('Maintainer: '),
'$screenshot' => $screenshot,
- '$readme' => $readme
+ '$readme' => $readme,
+
+ '$form_security_token' => get_form_security_token("admin_themes"),
));
}
/**
- * List plugins
+ * List themes
*/
$xthemes = array();
@@ -787,17 +907,21 @@ function admin_page_themes(&$a){
'$function' => 'themes',
'$plugins' => $xthemes,
'$experimental' => t('[Experimental]'),
- '$unsupported' => t('[Unsupported]')
+ '$unsupported' => t('[Unsupported]'),
+ '$form_security_token' => get_form_security_token("admin_themes"),
));
}
/**
* Logs admin page
+ *
+ * @param App $a
*/
function admin_page_logs_post(&$a) {
if (x($_POST,"page_logs")) {
+ check_form_security_token_redirectOnErr('/admin/logs', 'admin_logs');
$logfile = ((x($_POST,'logfile')) ? notags(trim($_POST['logfile'])) : '');
$debugging = ((x($_POST,'debugging')) ? true : false);
@@ -814,7 +938,11 @@ function admin_page_logs_post(&$a) {
goaway($a->get_baseurl(true) . '/admin/logs' );
return; // NOTREACHED
}
-
+
+/**
+ * @param App $a
+ * @return string
+ */
function admin_page_logs(&$a){
$log_choices = Array(
@@ -872,9 +1000,14 @@ readable.");
'$debugging' => array('debugging', t("Debugging"),get_config('system','debugging'), ""),
'$logfile' => array('logfile', t("Log file"), get_config('system','logfile'), t("Must be writable by web server. Relative to your Friendica top-level directory.")),
'$loglevel' => array('loglevel', t("Log level"), get_config('system','loglevel'), "", $log_choices),
+
+ '$form_security_token' => get_form_security_token("admin_logs"),
));
}
+/**
+ * @param App $a
+ */
function admin_page_remoteupdate_post(&$a) {
// this function should be called via ajax post
if(!is_site_admin()) {
@@ -893,6 +1026,10 @@ function admin_page_remoteupdate_post(&$a) {
killme();
}
+/**
+ * @param App $a
+ * @return string
+ */
function admin_page_remoteupdate(&$a) {
if(!is_site_admin()) {
return login(false);
diff --git a/mod/allfriends.php b/mod/allfriends.php
index f675b8e29..f675b8e29 100755..100644
--- a/mod/allfriends.php
+++ b/mod/allfriends.php
diff --git a/mod/amcd.php b/mod/amcd.php
index a2a1327e6..a2a1327e6 100755..100644
--- a/mod/amcd.php
+++ b/mod/amcd.php
diff --git a/mod/api.php b/mod/api.php
index ad75e6620..ad75e6620 100755..100644
--- a/mod/api.php
+++ b/mod/api.php
diff --git a/mod/apps.php b/mod/apps.php
index 8049b45fb..8049b45fb 100755..100644
--- a/mod/apps.php
+++ b/mod/apps.php
diff --git a/mod/attach.php b/mod/attach.php
index ae6540201..ae6540201 100755..100644
--- a/mod/attach.php
+++ b/mod/attach.php
diff --git a/mod/cb.php b/mod/cb.php
index 6375d2398..6375d2398 100755..100644
--- a/mod/cb.php
+++ b/mod/cb.php
diff --git a/mod/common.php b/mod/common.php
index 852388c14..852388c14 100755..100644
--- a/mod/common.php
+++ b/mod/common.php
diff --git a/mod/community.php b/mod/community.php
index f8cc3305b..bfe5a3089 100755..100644
--- a/mod/community.php
+++ b/mod/community.php
@@ -45,13 +45,13 @@ function community_content(&$a, $update = 0) {
// OR your own posts if you are a logged in member
- $r = q("SELECT COUNT(*) AS `total`
+ $r = q("SELECT distinct(`item`.`uri`) AS `total`
FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id` LEFT JOIN `user` ON `user`.`uid` = `item`.`uid`
WHERE `item`.`visible` = 1 AND `item`.`deleted` = 0 and `item`.`moderated` = 0
AND `item`.`allow_cid` = '' AND `item`.`allow_gid` = ''
AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = ''
AND `item`.`private` = 0 AND `item`.`wall` = 1 AND `user`.`hidewall` = 0
- AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0 "
+ AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0 group by `item`.`uri` "
);
if(count($r))
@@ -62,7 +62,7 @@ function community_content(&$a, $update = 0) {
return $o;
}
- $r = q("SELECT `item`.*, `item`.`id` AS `item_id`,
+ $r = q("SELECT distinct(`item`.`uri`), `item`.*, `item`.`id` AS `item_id`,
`contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`,
`contact`.`network`, `contact`.`thumb`, `contact`.`self`, `contact`.`writable`,
`contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`,
@@ -73,7 +73,7 @@ function community_content(&$a, $update = 0) {
AND `item`.`allow_cid` = '' AND `item`.`allow_gid` = ''
AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = ''
AND `item`.`private` = 0 AND `item`.`wall` = 1 AND `user`.`hidewall` = 0
- AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
+ AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0 group by `item`.`uri`
ORDER BY `received` DESC LIMIT %d, %d ",
intval($a->pager['start']),
intval($a->pager['itemspage'])
diff --git a/mod/contactgroup.php b/mod/contactgroup.php
index bf81afe07..bf81afe07 100755..100644
--- a/mod/contactgroup.php
+++ b/mod/contactgroup.php
diff --git a/mod/contacts.php b/mod/contacts.php
index 8aa51d00a..9d29d4bd1 100755..100644
--- a/mod/contacts.php
+++ b/mod/contacts.php
@@ -85,7 +85,7 @@ function contacts_post(&$a) {
if($priority > 5 || $priority < 0)
$priority = 0;
- $info = escape_tags(trim($_POST['info']));
+ $info = fix_mce_lf(escape_tags(trim($_POST['info'])));
$r = q("UPDATE `contact` SET `profile-id` = %d, `priority` = %d , `info` = '%s',
`hidden` = %d WHERE `id` = %d AND `uid` = %d LIMIT 1",
@@ -232,8 +232,14 @@ function contacts_content(&$a) {
$contact_id = $a->data['contact']['id'];
$contact = $a->data['contact'];
- $tpl = get_markup_template('contact_head.tpl');
- $a->page['htmlhead'] .= replace_macros($tpl, array('$baseurl' => $a->get_baseurl(true)));
+ $editselect = 'exact';
+ if(intval(get_pconfig(local_user(),'system','plaintext')))
+ $editselect = 'none';
+
+ $a->page['htmlhead'] .= replace_macros(get_markup_template('contact_head.tpl'), array(
+ '$baseurl' => $a->get_baseurl(true),
+ '$editselect' => $editselect,
+ ));
require_once('include/contact_selectors.php');
diff --git a/mod/crepair.php b/mod/crepair.php
index ec963b105..ec963b105 100755..100644
--- a/mod/crepair.php
+++ b/mod/crepair.php
diff --git a/mod/dfrn_notify.php b/mod/dfrn_notify.php
index 8e4ce0671..65d39d5fe 100755..100644
--- a/mod/dfrn_notify.php
+++ b/mod/dfrn_notify.php
@@ -99,65 +99,10 @@ function dfrn_notify_post(&$a) {
$importer['forum'] = $page;
}
- // if contact's ssl policy changed, update our links
-
- $ssl_changed = false;
-
- if($ssl_policy == 'self' && strstr($importer['url'],'https:')) {
- $ssl_changed = true;
- $importer['url'] = str_replace('https:','http:',$importer['url']);
- $importer['nurl'] = normalise_link($importer['url']);
- $importer['photo'] = str_replace('https:','http:',$importer['photo']);
- $importer['thumb'] = str_replace('https:','http:',$importer['thumb']);
- $importer['micro'] = str_replace('https:','http:',$importer['micro']);
- $importer['request'] = str_replace('https:','http:',$importer['request']);
- $importer['notify'] = str_replace('https:','http:',$importer['notify']);
- $importer['poll'] = str_replace('https:','http:',$importer['poll']);
- $importer['confirm'] = str_replace('https:','http:',$importer['confirm']);
- $importer['poco'] = str_replace('https:','http:',$importer['poco']);
- }
- if($ssl_policy == 'full' && strstr($importer['url'],'http:')) {
- $ssl_changed = true;
- $importer['url'] = str_replace('http:','https:',$importer['url']);
- $importer['nurl'] = normalise_link($importer['url']);
- $importer['photo'] = str_replace('http:','https:',$importer['photo']);
- $importer['thumb'] = str_replace('http:','https:',$importer['thumb']);
- $importer['micro'] = str_replace('http:','https:',$importer['micro']);
- $importer['request'] = str_replace('http:','https:',$importer['request']);
- $importer['notify'] = str_replace('http:','https:',$importer['notify']);
- $importer['poll'] = str_replace('http:','https:',$importer['poll']);
- $importer['confirm'] = str_replace('http:','https:',$importer['confirm']);
- $importer['poco'] = str_replace('http:','https:',$importer['poco']);
- }
+ // if contact's ssl policy changed, update our links
- if($ssl_changed) {
- q("update contact set
- url = '%s',
- nurl = '%s',
- photo = '%s',
- thumb = '%s',
- micro = '%s',
- request = '%s',
- notify = '%s',
- poll = '%s',
- confirm = '%s',
- poco = '%s'
- where id = %d limit 1",
- dbesc($importer['url']),
- dbesc($importer['nurl']),
- dbesc($importer['photo']),
- dbesc($importer['thumb']),
- dbesc($importer['micro']),
- dbesc($importer['request']),
- dbesc($importer['notify']),
- dbesc($importer['poll']),
- dbesc($importer['confirm']),
- dbesc($importer['poco']),
- intval($importer['id'])
- );
- }
-
+ fix_contact_ssl_policy($importer,$ssl_policy);
logger('dfrn_notify: received notify from ' . $importer['name'] . ' for ' . $importer['username']);
logger('dfrn_notify: data: ' . $data, LOGGER_DATA);
diff --git a/mod/dfrn_poll.php b/mod/dfrn_poll.php
index 6030587ce..436727a78 100755..100644
--- a/mod/dfrn_poll.php
+++ b/mod/dfrn_poll.php
@@ -33,7 +33,7 @@ function dfrn_poll_init(&$a) {
$user = '';
if($a->argc > 1) {
- $r = q("SELECT `hidewall` FROM `user` WHERE `user`.`nickname` = '%s' LIMIT 1",
+ $r = q("SELECT `hidewall`,`nickname` FROM `user` WHERE `user`.`nickname` = '%s' LIMIT 1",
dbesc($a->argv[1])
);
if((! count($r)) || (count($r) && $r[0]['hidewall']))
@@ -428,11 +428,13 @@ function dfrn_poll_content(&$a) {
break; // NOTREACHED
}
+ $nickname = $a->argv[1];
+
$r = q("SELECT `contact`.*, `user`.`username`, `user`.`nickname`
FROM `contact` LEFT JOIN `user` ON `contact`.`uid` = `user`.`uid`
WHERE `contact`.`blocked` = 0 AND `contact`.`pending` = 0
AND `user`.`nickname` = '%s' $sql_extra LIMIT 1",
- dbesc($a->argv[1])
+ dbesc($nickname)
);
if(count($r)) {
@@ -482,7 +484,7 @@ function dfrn_poll_content(&$a) {
));
}
- $profile = $r[0]['nickname'];
+ $profile = ((count($r) && $r[0]['nickname']) ? $r[0]['nickname'] : $nickname);
switch($destination_url) {
case 'profile':
diff --git a/mod/dfrn_request.php b/mod/dfrn_request.php
index 5881b7b51..74d25adbf 100755..100644
--- a/mod/dfrn_request.php
+++ b/mod/dfrn_request.php
@@ -180,7 +180,7 @@ function dfrn_request_post(&$a) {
// (ignore reply, nothing we can do it failed)
- goaway($dfrn_url);
+ goaway(zrl($dfrn_url));
return; // NOTREACHED
}
@@ -261,7 +261,7 @@ function dfrn_request_post(&$a) {
WHERE `intro`.`blocked` = 1 AND `contact`.`self` = 0
AND `contact`.`network` != '%s'
AND `intro`.`datetime` < UTC_TIMESTAMP() - INTERVAL 30 MINUTE ",
- dbesc(NETWORK_MAIL)
+ dbesc(NETWORK_MAIL2)
);
if(count($r)) {
foreach($r as $rr) {
@@ -286,7 +286,7 @@ function dfrn_request_post(&$a) {
WHERE `intro`.`blocked` = 1 AND `contact`.`self` = 0
AND `contact`.`network` = '%s'
AND `intro`.`datetime` < UTC_TIMESTAMP() - INTERVAL 3 DAY ",
- dbesc(NETWORK_MAIL)
+ dbesc(NETWORK_MAIL2)
);
if(count($r)) {
foreach($r as $rr) {
@@ -301,6 +301,8 @@ function dfrn_request_post(&$a) {
}
}
+ $email_follow = (x($_POST,'email_follow') ? intval($_POST['email_follow']) : 0);
+ $real_name = (x($_POST,'realname') ? notags(trim($_POST['realname'])) : '');
$url = trim($_POST['dfrn_url']);
if(! strlen($url)) {
@@ -308,17 +310,108 @@ function dfrn_request_post(&$a) {
return;
}
- // Canonicalise email-style profile locator
-
$hcard = '';
- $url = webfinger_dfrn($url,$hcard);
- if(substr($url,0,5) === 'stat:') {
- $network = NETWORK_OSTATUS;
- $url = substr($url,5);
+ if($email_follow) {
+
+ if(! validate_email($url)) {
+ notice( t('Invalid email address.') . EOL);
+ return;
+ }
+
+ $addr = $url;
+ $name = ($realname) ? $realname : $addr;
+ $nick = substr($addr,0,strpos($addr,'@'));
+ $url = 'http://' . substr($addr,strpos($addr,'@') + 1);
+ $nurl = normalise_url($host);
+ $poll = 'email ' . random_string();
+ $notify = 'smtp ' . random_string();
+ $blocked = 1;
+ $pending = 1;
+ $network = NETWORK_MAIL2;
+ $rel = CONTACT_IS_FOLLOWER;
+
+ $mail_disabled = ((function_exists('imap_open') && (! get_config('system','imap_disabled'))) ? 0 : 1);
+ if(get_config('system','dfrn_only'))
+ $mail_disabled = 1;
+
+ if(! $mail_disabled) {
+ $failed = false;
+ $r = q("SELECT * FROM `mailacct` WHERE `uid` = %d LIMIT 1",
+ intval($uid)
+ );
+ if(! count($r)) {
+ notice( t('This account has not been configured for email. Request failed.') . EOL);
+ return;
+ }
+ }
+
+ $r = q("insert into contact ( uid, created, addr, name, nick, url, nurl, poll, notify, blocked, pending, network, rel )
+ values( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', %d ) ",
+ intval($uid),
+ dbesc(datetime_convert()),
+ dbesc($addr),
+ dbesc($name),
+ dbesc($nick),
+ dbesc($url),
+ dbesc($nurl),
+ dbesc($poll),
+ dbesc($notify),
+ intval($blocked),
+ intval($pending),
+ dbesc($network),
+ intval($rel)
+ );
+
+ $r = q("select id from contact where poll = '%s' and uid = %d limit 1",
+ dbesc($poll),
+ intval($uid)
+ );
+ if(count($r)) {
+ $contact_id = $r[0]['id'];
+
+ $photo = avatar_img($addr);
+
+ $r = q("UPDATE `contact` SET
+ `photo` = '%s',
+ `thumb` = '%s',
+ `micro` = '%s',
+ `name-date` = '%s',
+ `uri-date` = '%s',
+ `avatar-date` = '%s',
+ `hidden` = 0,
+ WHERE `id` = %d LIMIT 1
+ ",
+ dbesc($photos[0]),
+ dbesc($photos[1]),
+ dbesc($photos[2]),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
+ intval($contact_id)
+ );
+ }
+
+ // contact is created. Now send an email verify form to the requestor.
+ //
+
+
+
}
+
else {
- $network = NETWORK_DFRN;
+
+ // Canonicalise email-style profile locator
+
+ $url = webfinger_dfrn($url,$hcard);
+
+ if(substr($url,0,5) === 'stat:') {
+ $network = NETWORK_OSTATUS;
+ $url = substr($url,5);
+ }
+ else {
+ $network = NETWORK_DFRN;
+ }
}
logger('dfrn_request: url: ' . $url);
diff --git a/mod/directory.php b/mod/directory.php
index 7f18bd026..367438845 100755..100644
--- a/mod/directory.php
+++ b/mod/directory.php
@@ -44,7 +44,7 @@ function directory_content(&$a) {
$gdirpath = dirname(get_config('system','directory_submit_url'));
if(strlen($gdirpath)) {
$globaldir = '<ul><li><div id="global-directory-link"><a href="'
- . $gdirpath . '">' . t('Global Directory') . '</a></div></li></ul>';
+ . zrl($gdirpath,true) . '">' . t('Global Directory') . '</a></div></li></ul>';
}
$admin = '';
diff --git a/mod/dirfind.php b/mod/dirfind.php
index 34c54dd91..34c54dd91 100755..100644
--- a/mod/dirfind.php
+++ b/mod/dirfind.php
diff --git a/mod/display.php b/mod/display.php
index 81ed174ac..81ed174ac 100755..100644
--- a/mod/display.php
+++ b/mod/display.php
diff --git a/mod/editpost.php b/mod/editpost.php
index 2ddba36aa..4c00201ca 100755..100644
--- a/mod/editpost.php
+++ b/mod/editpost.php
@@ -115,6 +115,8 @@ function editpost_content(&$a) {
'$jotnets' => $jotnets,
'$title' => $itm[0]['title'],
'$placeholdertitle' => t('Set title'),
+ '$category' => file_tag_file_to_list($itm[0]['file'], 'category'),
+ '$placeholdercategory' => t('Categories (comma-separated list)'),
'$emtitle' => t('Example: bob@example.com, mary@example.com'),
'$lockstate' => $lockstate,
'$acl' => '', // populate_acl((($group) ? $group_acl : $a->user), $celeb),
diff --git a/mod/events.php b/mod/events.php
index 0906d16c2..e66a2dc44 100755..100644
--- a/mod/events.php
+++ b/mod/events.php
@@ -284,11 +284,11 @@ function events_content(&$a) {
if (x($_GET,'id')){
$tpl = get_markup_template("event.tpl");
} else {
- if (get_config('experimentals','new_calendar')==1){
+// if (get_config('experimentals','new_calendar')==1){
$tpl = get_markup_template("events-js.tpl");
- } else {
- $tpl = get_markup_template("events.tpl");
- }
+// } else {
+// $tpl = get_markup_template("events.tpl");
+// }
}
$o = replace_macros($tpl, array(
'$baseurl' => $a->get_baseurl(),
diff --git a/mod/fbrowser.php b/mod/fbrowser.php
new file mode 100644
index 000000000..66ff9252e
--- /dev/null
+++ b/mod/fbrowser.php
@@ -0,0 +1,99 @@
+<?php
+/**
+ * @package Friendica\modules
+ * @subpackage FileBrowser
+ * @author Fabio Comuni <fabrixxm@kirgroup.com>
+ */
+
+/**
+ * @param App $a
+ */
+function fbrowser_content($a){
+
+ if (!local_user())
+ killme();
+
+ if ($a->argc==1)
+ killme();
+
+ //echo "<pre>"; var_dump($a->argv); killme();
+
+ switch($a->argv[1]){
+ case "image":
+ $path = array( array($a->get_baseurl()."/fbrowser/image/", t("Photos")));
+ $albums = false;
+ $sql_extra = "";
+ $sql_extra2 = " ORDER BY created DESC LIMIT 0, 10";
+
+ if ($a->argc==2){
+ $albums = q("SELECT distinct(`album`) AS `album` FROM `photo` WHERE `uid` = %d ",
+ intval(local_user())
+ );
+ // anon functions only from 5.3.0... meglio tardi che mai..
+ function folder1($el){return array(bin2hex($el['album']),$el['album']);}
+ $albums = array_map( "folder1" , $albums);
+
+ }
+
+ $album = "";
+ if ($a->argc==3){
+ $album = hex2bin($a->argv[2]);
+ $sql_extra = sprintf("AND `album` = '%s' ",dbesc($album));
+ $sql_extra2 = "";
+ $path[]=array($a->get_baseurl()."/fbrowser/image/".$a->argv[2]."/", $album);
+ }
+
+ $r = q("SELECT `resource-id`, `id`, `filename`, min(`scale`) AS `hiq`,max(`scale`) AS `loq`, `desc`
+ FROM `photo` WHERE `uid` = %d $sql_extra
+ GROUP BY `resource-id` $sql_extra2",
+ intval(local_user())
+ );
+
+
+ function files1($rr){ global $a; return array( $a->get_baseurl() . '/photo/' . $rr['resource-id'] . '-' . $rr['hiq'] . '.jpg', template_escape($rr['filename']), $a->get_baseurl() . '/photo/' . $rr['resource-id'] . '-' . $rr['loq'] . '.jpg'); }
+ $files = array_map("files1", $r);
+
+ $tpl = get_markup_template("filebrowser.tpl");
+ echo replace_macros($tpl, array(
+ '$type' => 'image',
+ '$baseurl' => $a->get_baseurl(),
+ '$path' => $path,
+ '$folders' => $albums,
+ '$files' =>$files,
+ ));
+
+
+ break;
+ case "file":
+ if ($a->argc==2){
+ $files = q("SELECT id, filename, filetype FROM `attach` WHERE `uid` = %d ",
+ intval(local_user())
+ );
+
+ function files2($rr){ global $a;
+ list($m1,$m2) = explode("/",$rr['filetype']);
+ $filetype = ( (file_exists("images/icons/$m1.png"))?$m1:"zip");
+ return array( $a->get_baseurl() . '/attach/' . $rr['id'], template_escape($rr['filename']), $a->get_baseurl() . '/images/icons/16/' . $filetype . '.png');
+ }
+ $files = array_map("files2", $files);
+ //echo "<pre>"; var_dump($files); killme();
+
+
+ $tpl = get_markup_template("filebrowser.tpl");
+ echo replace_macros($tpl, array(
+ '$type' => 'file',
+ '$baseurl' => $a->get_baseurl(),
+ '$path' => array( array($a->get_baseurl()."/fbrowser/image/", t("Files")) ),
+ '$folders' => false,
+ '$files' =>$files,
+ ));
+
+ }
+
+ break;
+ }
+
+
+ killme();
+
+}
diff --git a/mod/filer.php b/mod/filer.php
index 3cd1bfe22..c0cca9e6d 100755..100644
--- a/mod/filer.php
+++ b/mod/filer.php
@@ -22,7 +22,8 @@ function filer_content(&$a) {
} else {
// return filer dialog
$filetags = get_pconfig(local_user(),'system','filetags');
- $filetags = explode("][", trim($filetags,"[]"));
+ $filetags = file_tag_file_to_list($filetags,'file');
+ $filetags = explode(",", $filetags);
$tpl = get_markup_template("filer_dialog.tpl");
$o = replace_macros($tpl, array(
'$field' => array('term', t("Save to Folder:"), '', '', $filetags, t('- select -')),
diff --git a/mod/follow.php b/mod/follow.php
index ae8cb200c..ae8cb200c 100755..100644
--- a/mod/follow.php
+++ b/mod/follow.php
diff --git a/mod/friendica.php b/mod/friendica.php
index 52a064224..52a064224 100755..100644
--- a/mod/friendica.php
+++ b/mod/friendica.php
diff --git a/mod/friendika.php b/mod/friendika.php
index 1f3df565d..1f3df565d 100755..100644
--- a/mod/friendika.php
+++ b/mod/friendika.php
diff --git a/mod/fsuggest.php b/mod/fsuggest.php
index 9ef8f4c55..9ef8f4c55 100755..100644
--- a/mod/fsuggest.php
+++ b/mod/fsuggest.php
diff --git a/mod/group.php b/mod/group.php
index a282dbccf..a282dbccf 100755..100644
--- a/mod/group.php
+++ b/mod/group.php
diff --git a/mod/hcard.php b/mod/hcard.php
index 6d2d9e2eb..6d2d9e2eb 100755..100644
--- a/mod/hcard.php
+++ b/mod/hcard.php
diff --git a/mod/help.php b/mod/help.php
index af05bd47c..af05bd47c 100755..100644
--- a/mod/help.php
+++ b/mod/help.php
diff --git a/mod/home.php b/mod/home.php
index 0320c1b39..0320c1b39 100755..100644
--- a/mod/home.php
+++ b/mod/home.php
diff --git a/mod/hostxrd.php b/mod/hostxrd.php
index fe61a874c..fe61a874c 100755..100644
--- a/mod/hostxrd.php
+++ b/mod/hostxrd.php
diff --git a/mod/install.php b/mod/install.php
index 003d81c6a..6f5552076 100755..100644
--- a/mod/install.php
+++ b/mod/install.php
@@ -340,7 +340,7 @@ function check_php(&$phpath, &$checks) {
$help .= t('The command line version of PHP on your system does not have "register_argc_argv" enabled.'). EOL;
$help .= t('This is required for message delivery to work.');
}
- check_add($checks, t('PHP "register_argc_argv"'), $passed, true, $help);
+ check_add($checks, t('PHP register_argc_argv'), $passed, true, $help);
}
@@ -380,9 +380,9 @@ function check_funcs(&$checks) {
if(function_exists('apache_get_modules')){
if (! in_array('mod_rewrite',apache_get_modules())) {
- check_add($ck_funcs, t('Apace mod_rewrite module'), false, true, t('Error: Apache webserver mod-rewrite module is required but not installed.'));
+ check_add($ck_funcs, t('Apache mod_rewrite module'), false, true, t('Error: Apache webserver mod-rewrite module is required but not installed.'));
} else {
- check_add($ck_funcs, t('Apace mod_rewrite module'), true, true, "");
+ check_add($ck_funcs, t('Apache mod_rewrite module'), true, true, "");
}
}
if(! function_exists('curl_init')){
@@ -451,7 +451,7 @@ function load_database_rem($v, $i){
function load_database($db) {
$str = file_get_contents('database.sql');
- $str = array_reduce(explode("\n", $str),"load_database_rem","");
+// $str = array_reduce(explode("\n", $str),"load_database_rem","");
$arr = explode(';',$str);
$errors = false;
foreach($arr as $a) {
@@ -464,3 +464,6 @@ function load_database($db) {
}
return $errors;
}
+
+
+
diff --git a/mod/invite.php b/mod/invite.php
index 2dbf93c59..2dbf93c59 100755..100644
--- a/mod/invite.php
+++ b/mod/invite.php
diff --git a/mod/item.php b/mod/item.php
index 24730f53e..642a6758a 100755..100644
--- a/mod/item.php
+++ b/mod/item.php
@@ -216,8 +216,6 @@ function item_post(&$a) {
$emailcc = notags(trim($_REQUEST['emailcc']));
$body = escape_tags(trim($_REQUEST['body']));
- // $categories = TODO
-
$private = ((strlen($str_group_allow) || strlen($str_contact_allow) || strlen($str_group_deny) || strlen($str_contact_deny)) ? 1 : 0);
if(($parent_item) &&
@@ -255,14 +253,26 @@ function item_post(&$a) {
}
}
+ if(strlen($categories)) {
+ // get the "fileas" tags for this post
+ $filedas = file_tag_file_to_list($categories, 'file');
+ }
+ // save old and new categories, so we can determine what needs to be deleted from pconfig
+ $categories_old = $categories;
+ $categories = file_tag_list_to_file(trim($_REQUEST['category']), 'category');
+ $categories_new = $categories;
+ if(strlen($filedas)) {
+ // append the fileas stuff to the new categories list
+ $categories .= file_tag_list_to_file($filedas, 'file');
+ }
+
// Work around doubled linefeeds in Tinymce 3.5b2
// First figure out if it's a status post that would've been
// created using tinymce. Otherwise leave it alone.
$plaintext = (local_user() ? intval(get_pconfig(local_user(),'system','plaintext')) : 0);
if((! $parent) && (! $api_source) && (! $plaintext)) {
- $body = str_replace("\r\n","\n",$body);
- $body = str_replace("\n\n","\n",$body);
+ $body = fix_mce_lf($body);
}
@@ -340,7 +350,7 @@ function item_post(&$a) {
$image_uri = substr($image_uri,0, strpos($image_uri,'-'));
if(! strlen($image_uri))
continue;
- $srch = '<' . intval($profile_uid) . '>';
+ $srch = '<' . intval($contact_record['id']) . '>';
$r = q("SELECT `id` FROM `photo` WHERE `allow_cid` = '%s' AND `allow_gid` = '' AND `deny_cid` = '' AND `deny_gid` = ''
AND `resource-id` = '%s' AND `uid` = %d LIMIT 1",
dbesc($srch),
@@ -436,7 +446,7 @@ function item_post(&$a) {
if(count($tags)) {
foreach($tags as $tag) {
- handle_tag($a, $body, $inform, $str_tags, $profile_uid, $tag);
+ handle_tag($a, $body, $inform, $str_tags, (local_user()) ? local_user() : $profile_uid , $tag);
}
}
@@ -572,6 +582,9 @@ function item_post(&$a) {
intval($profile_uid)
);
+ // update filetags in pconfig
+ file_tag_update_pconfig($uid,$categories_old,$categories_new,'category');
+
proc_run('php', "include/notifier.php", 'edit_post', "$post_id");
if((x($_REQUEST,'return')) && strlen($return_path)) {
logger('return: ' . $return_path);
@@ -585,8 +598,8 @@ function item_post(&$a) {
$r = q("INSERT INTO `item` (`guid`, `uid`,`type`,`wall`,`gravity`,`contact-id`,`owner-name`,`owner-link`,`owner-avatar`,
`author-name`, `author-link`, `author-avatar`, `created`, `edited`, `commented`, `received`, `changed`, `uri`, `thr-parent`, `title`, `body`, `app`, `location`, `coord`,
- `tag`, `inform`, `verb`, `postopts`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid`, `private`, `pubmail`, `attach`, `bookmark`,`origin`, `moderated` )
- VALUES( '%s', %d, '%s', %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', %d, %d, %d )",
+ `tag`, `inform`, `verb`, `postopts`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid`, `private`, `pubmail`, `attach`, `bookmark`,`origin`, `moderated`, `file` )
+ VALUES( '%s', %d, '%s', %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', %d, %d, %d, '%s' )",
dbesc($datarray['guid']),
intval($datarray['uid']),
dbesc($datarray['type']),
@@ -624,8 +637,9 @@ function item_post(&$a) {
dbesc($datarray['attach']),
intval($datarray['bookmark']),
intval($datarray['origin']),
- intval($datarray['moderated'])
- );
+ intval($datarray['moderated']),
+ dbesc($datarray['file'])
+ );
$r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' LIMIT 1",
dbesc($datarray['uri']));
@@ -633,6 +647,9 @@ function item_post(&$a) {
$post_id = $r[0]['id'];
logger('mod_item: saved item ' . $post_id);
+ // update filetags in pconfig
+ file_tag_update_pconfig($uid,$categories_old,$categories_new,'category');
+
if($parent) {
// This item is the last leaf and gets the comment box, clear any ancestors
@@ -742,7 +759,7 @@ function item_post(&$a) {
}
else {
logger('mod_item: unable to retrieve post that was just stored.');
- notify( t('System error. Post not saved.'));
+ notice( t('System error. Post not saved.') . EOL);
goaway($a->get_baseurl() . "/" . $return_path );
// NOTREACHED
}
diff --git a/mod/like.php b/mod/like.php
index 6b97fafb5..6b97fafb5 100755..100644
--- a/mod/like.php
+++ b/mod/like.php
diff --git a/mod/localtime.php b/mod/localtime.php
index c03eae1b0..c03eae1b0 100755..100644
--- a/mod/localtime.php
+++ b/mod/localtime.php
diff --git a/mod/lockview.php b/mod/lockview.php
index 9e64e2608..9e64e2608 100755..100644
--- a/mod/lockview.php
+++ b/mod/lockview.php
diff --git a/mod/login.php b/mod/login.php
index 10b4d3001..10b4d3001 100755..100644
--- a/mod/login.php
+++ b/mod/login.php
diff --git a/mod/lostpass.php b/mod/lostpass.php
index 57e6d6965..57e6d6965 100755..100644
--- a/mod/lostpass.php
+++ b/mod/lostpass.php
diff --git a/mod/manage.php b/mod/manage.php
index 84dfa6917..84dfa6917 100755..100644
--- a/mod/manage.php
+++ b/mod/manage.php
diff --git a/mod/match.php b/mod/match.php
index 926df1dff..926df1dff 100755..100644
--- a/mod/match.php
+++ b/mod/match.php
diff --git a/mod/message.php b/mod/message.php
index 1369fde2e..260f4bb14 100755..100644
--- a/mod/message.php
+++ b/mod/message.php
@@ -48,8 +48,7 @@ function message_post(&$a) {
$plaintext = intval(get_pconfig(local_user(),'system','plaintext'));
if(! $plaintext) {
- $body = str_replace("\r\n","\n",$body);
- $body = str_replace("\n\n","\n",$body);
+ $body = fix_mce_lf($body);
}
$ret = send_message($recipient, $body, $subject, $replyto);
diff --git a/mod/modexp.php b/mod/modexp.php
index bba2c2882..bba2c2882 100755..100644
--- a/mod/modexp.php
+++ b/mod/modexp.php
diff --git a/mod/msearch.php b/mod/msearch.php
index 94def7d89..94def7d89 100755..100644
--- a/mod/msearch.php
+++ b/mod/msearch.php
diff --git a/mod/network.php b/mod/network.php
index d27945a86..b12bd16da 100755..100644
--- a/mod/network.php
+++ b/mod/network.php
@@ -206,8 +206,12 @@ function network_content(&$a, $update = 0) {
);
- $tpl = get_markup_template('common_tabs.tpl');
- $o .= replace_macros($tpl, array('$tabs'=>$tabs));
+
+ $arr = array('tabs' => $tabs);
+ call_hooks('network_tabs', $arr);
+
+ $o .= replace_macros(get_markup_template('common_tabs.tpl'), array('$tabs'=> $arr['tabs']));
+
// --- end item filter tabs
diff --git a/mod/newmember.php b/mod/newmember.php
index 683463ecb..a423d11b8 100755..100644
--- a/mod/newmember.php
+++ b/mod/newmember.php
@@ -13,7 +13,7 @@ function newmember_content(&$a) {
$o .= '<ul>';
- $o .= '<li>' . '<a target="newmember" href="/help/guide">' . t('On your <em>Quick Start</em> page - find a brief introduction to your profile and network tabs, connect to Facebook, make some new connections, and find some groups to join.') . '</a></li>' . EOL;
+ $o .= '<li>' . '<a target="newmember" href="help/guide">' . t('On your <em>Quick Start</em> page - find a brief introduction to your profile and network tabs, connect to Facebook, make some new connections, and find some groups to join.') . '</a></li>' . EOL;
$o .= '<li>' . '<a target="newmember" href="settings">' . t('On your <em>Settings</em> page - change your initial password. Also make a note of your Identity Address. This looks just like an email address - and will be useful in making friends on the free social web.') . '</a></li>' . EOL;
@@ -48,4 +48,4 @@ function newmember_content(&$a) {
$o .= '</div>';
return $o;
-} \ No newline at end of file
+}
diff --git a/mod/nogroup.php b/mod/nogroup.php
new file mode 100644
index 000000000..bd1ec82ed
--- /dev/null
+++ b/mod/nogroup.php
@@ -0,0 +1,65 @@
+<?php
+
+require_once('include/Contact.php');
+require_once('include/socgraph.php');
+require_once('include/contact_selectors.php');
+
+function nogroup_init(&$a) {
+
+ if(! local_user())
+ return;
+
+ require_once('include/group.php');
+ require_once('include/contact_widgets.php');
+
+ if(! x($a->page,'aside'))
+ $a->page['aside'] = '';
+
+ $a->page['aside'] .= group_side('contacts','group',false,0,$contact_id);
+}
+
+
+function nogroup_content(&$a) {
+
+ if(! local_user()) {
+ notice( t('Permission denied.') . EOL);
+ return '';
+ }
+
+ require_once('include/Contact.php');
+ $r = contacts_not_grouped(local_user());
+ if(count($r)) {
+ $a->set_pager_total($r[0]['total']);
+ }
+ $r = contacts_not_grouped(local_user(),$a->pager['start'],$a->pager['itemspage']);
+ if(count($r)) {
+ foreach($r as $rr) {
+
+
+ $contacts[] = array(
+ 'img_hover' => sprintf( t('Visit %s\'s profile [%s]'),$rr['name'],$rr['url']),
+ 'edit_hover' => t('Edit contact'),
+ 'photo_menu' => contact_photo_menu($rr),
+ 'id' => $rr['id'],
+ 'alt_text' => $alt_text,
+ 'dir_icon' => $dir_icon,
+ 'thumb' => $rr['thumb'],
+ 'name' => $rr['name'],
+ 'username' => $rr['name'],
+ 'sparkle' => $sparkle,
+ 'itemurl' => $rr['url'],
+ 'url' => $url,
+ 'network' => network_to_name($rr['network']),
+ );
+ }
+ }
+ $tpl = get_markup_template("nogroup-template.tpl");
+ $o .= replace_macros($tpl,array(
+ '$header' => t('Contacts who are not members of a group'),
+ '$contacts' => $contacts,
+ '$paginate' => paginate($a),
+ ));
+
+ return $o;
+
+}
diff --git a/mod/notes.php b/mod/notes.php
index e6e2b44fb..e6e2b44fb 100755..100644
--- a/mod/notes.php
+++ b/mod/notes.php
diff --git a/mod/notice.php b/mod/notice.php
index 19cf53189..19cf53189 100755..100644
--- a/mod/notice.php
+++ b/mod/notice.php
diff --git a/mod/notifications.php b/mod/notifications.php
index 690a99562..b28b1478d 100755..100644
--- a/mod/notifications.php
+++ b/mod/notifications.php
@@ -151,7 +151,7 @@ function notifications_content(&$a) {
'$fullname' => $rr['fname'],
'$url' => zrl($rr['furl']),
'$hidden' => array('hidden', t('Hide this contact from others'), ($rr['hidden'] == 1), ''),
- '$activity' => array('activity', t('Post a new friend activity'), 1, t('if applicable')),
+ '$activity' => array('activity', t('Post a new friend activity'), (intval(get_pconfig(local_user(),'system','post_newfriend')) ? '1' : 0), t('if applicable')),
'$knowyou' => $knowyou,
'$approve' => t('Approve'),
@@ -198,7 +198,7 @@ function notifications_content(&$a) {
'$photo' => ((x($rr,'photo')) ? $rr['photo'] : "images/person-175.jpg"),
'$fullname' => $rr['name'],
'$hidden' => array('hidden', t('Hide this contact from others'), ($rr['hidden'] == 1), ''),
- '$activity' => array('activity', t('Post a new friend activity'), 1, t('if applicable')),
+ '$activity' => array('activity', t('Post a new friend activity'), (intval(get_pconfig(local_user(),'system','post_newfriend')) ? '1' : 0), t('if applicable')),
'$url' => zrl($rr['url']),
'$knowyou' => $knowyou,
'$approve' => t('Approve'),
diff --git a/mod/oembed.php b/mod/oembed.php
index 236625f68..236625f68 100755..100644
--- a/mod/oembed.php
+++ b/mod/oembed.php
diff --git a/mod/oexchange.php b/mod/oexchange.php
index bbb436e70..bbb436e70 100755..100644
--- a/mod/oexchange.php
+++ b/mod/oexchange.php
diff --git a/mod/openid.php b/mod/openid.php
index e2cea7d85..e2cea7d85 100755..100644
--- a/mod/openid.php
+++ b/mod/openid.php
diff --git a/mod/opensearch.php b/mod/opensearch.php
index ff748d1c5..ff748d1c5 100755..100644
--- a/mod/opensearch.php
+++ b/mod/opensearch.php
diff --git a/mod/parse_url.php b/mod/parse_url.php
index 27dac4d5d..27dac4d5d 100755..100644
--- a/mod/parse_url.php
+++ b/mod/parse_url.php
diff --git a/mod/photo.php b/mod/photo.php
index 3a7025120..1d38fe8e4 100755..100644
--- a/mod/photo.php
+++ b/mod/photo.php
@@ -4,6 +4,30 @@ require_once('include/security.php');
function photo_init(&$a) {
+ // To-Do:
+ // - checking with realpath
+ // - checking permissions
+ /*
+ $cache = get_config('system','itemcache');
+ if (($cache != '') and is_dir($cache)) {
+ $cachefile = $cache."/".$a->argc."-".$a->argv[1]."-".$a->argv[2]."-".$a->argv[3];
+ if (file_exists($cachefile)) {
+ $data = file_get_contents($cachefile);
+
+ if(function_exists('header_remove')) {
+ header_remove('Pragma');
+ header_remove('pragma');
+ }
+
+ header("Content-type: image/jpeg");
+ header("Expires: " . gmdate("D, d M Y H:i:s", time() + (3600*24)) . " GMT");
+ header("Cache-Control: max-age=" . (3600*24));
+ echo $data;
+ killme();
+ // NOTREACHED
+ }
+ }*/
+
switch($a->argc) {
case 4:
$person = $a->argv[3];
@@ -27,6 +51,7 @@ function photo_init(&$a) {
if(isset($type)) {
+
/**
* Profile photos
*/
@@ -144,6 +169,10 @@ function photo_init(&$a) {
}
}
+ // Writing in cachefile
+ if (isset($cachefile) && $cachefile != '')
+ file_put_contents($cachefile, $data);
+
if(function_exists('header_remove')) {
header_remove('Pragma');
header_remove('pragma');
diff --git a/mod/photos.php b/mod/photos.php
index 2a808cb41..8da94841e 100755..100644
--- a/mod/photos.php
+++ b/mod/photos.php
@@ -330,7 +330,6 @@ function photos_post(&$a) {
// Create item container
$title = '';
- $basename = basename($filename);
$uri = item_new_uri($a->get_hostname(),$page_owner_uid);
$arr = array();
diff --git a/mod/ping.php b/mod/ping.php
index e911aaf1f..63aaa0f45 100644
--- a/mod/ping.php
+++ b/mod/ping.php
@@ -134,6 +134,8 @@ function ping_init(&$a) {
function xmlize($href, $name, $url, $photo, $date, $seen, $message){
+ $data = array('href' => &$href, 'name' => &$name, 'url'=>&$url, 'photo'=>&$photo, 'date'=>&$date, 'seen'=>&$seen, 'messsage'=>&$message);
+ call_hooks('ping_xmlize', $data);
$notsxml = '<note href="%s" name="%s" url="%s" photo="%s" date="%s" seen="%s" >%s</note>';
return sprintf ( $notsxml,
xmlify($href), xmlify($name), xmlify($url), xmlify($photo), xmlify($date), xmlify($seen), xmlify($message)
diff --git a/mod/poco.php b/mod/poco.php
index 79cf820bc..acfa3ffaa 100755..100644
--- a/mod/poco.php
+++ b/mod/poco.php
@@ -45,6 +45,8 @@ function poco_init(&$a) {
if($justme)
$sql_extra = " and `contact`.`self` = 1 ";
+ else
+ $sql_extra = " and `contact`.`self` = 0 ";
if($cid)
$sql_extra = sprintf(" and `contact`.`id` = %d ",intval($cid));
diff --git a/mod/post.php b/mod/post.php
index 4a7e33b23..4a7e33b23 100755..100644
--- a/mod/post.php
+++ b/mod/post.php
diff --git a/mod/probe.php b/mod/probe.php
index c95db291b..c95db291b 100755..100644
--- a/mod/probe.php
+++ b/mod/probe.php
diff --git a/mod/profile.php b/mod/profile.php
index 782d17d83..de1e27248 100755..100644
--- a/mod/profile.php
+++ b/mod/profile.php
@@ -2,6 +2,11 @@
function profile_init(&$a) {
+ require_once('include/contact_widgets.php');
+
+ if(! x($a->page,'aside'))
+ $a->page['aside'] = '';
+
$blocked = (((get_config('system','block_public')) && (! local_user()) && (! remote_user())) ? true : false);
if($a->argc > 1)
@@ -9,9 +14,10 @@ function profile_init(&$a) {
else {
$r = q("select nickname from user where blocked = 0 and account_expired = 0 and verified = 1 order by rand() limit 1");
if(count($r)) {
- $which = $r[0]['nickname'];
+ goaway($a->get_baseurl() . '/profile/' . $r[0]['nickname']);
}
else {
+ logger('profile error: mod_profile ' . $a->query_string, LOGGER_DEBUG);
notice( t('Requested profile is not available.') . EOL );
$a->error = 404;
return;
@@ -59,6 +65,13 @@ function profile_init(&$a) {
function profile_content(&$a, $update = 0) {
+ if (x($a->category)) {
+ $category = $a->category;
+ }
+ else {
+ $category = ((x($_GET,'category')) ? $_GET['category'] : '');
+ }
+
if(get_config('system','block_public') && (! local_user()) && (! remote_user())) {
return login();
}
@@ -112,8 +125,9 @@ function profile_content(&$a, $update = 0) {
return;
}
-
if(! $update) {
+
+
if(x($_GET,'tab'))
$tab = notags(trim($_GET['tab']));
@@ -135,6 +149,8 @@ function profile_content(&$a, $update = 0) {
$celeb = ((($a->profile['page-flags'] == PAGE_SOAPBOX) || ($a->profile['page-flags'] == PAGE_COMMUNITY)) ? true : false);
+ $a->page['aside'] .= categories_widget($a->get_baseurl(true) . '/profile/' . $a->profile['nickname'],(x($category) ? xmlify($category) : ''));
+
if(can_write_wall($a,$a->profile['profile_uid'])) {
$x = array(
@@ -178,6 +194,10 @@ function profile_content(&$a, $update = 0) {
}
else {
+ if(x($category)) {
+ $sql_extra .= file_tag_file_query('item',$category,'category');
+ }
+
$r = q("SELECT COUNT(*) AS `total`
FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0
@@ -204,6 +224,7 @@ function profile_content(&$a, $update = 0) {
intval($a->profile['profile_uid'])
);
+
}
$parents_arr = array();
diff --git a/mod/profile_photo.php b/mod/profile_photo.php
index ace8dadd4..ace8dadd4 100755..100644
--- a/mod/profile_photo.php
+++ b/mod/profile_photo.php
diff --git a/mod/profiles.php b/mod/profiles.php
index 7b3b6ccc1..7a33a03e4 100755..100644
--- a/mod/profiles.php
+++ b/mod/profiles.php
@@ -51,6 +51,7 @@ function profiles_post(&$a) {
if($orig[0]['name'] != $name)
$namechanged = true;
+
$pdesc = notags(trim($_POST['pdesc']));
$gender = notags(trim($_POST['gender']));
$address = notags(trim($_POST['address']));
@@ -61,15 +62,16 @@ function profiles_post(&$a) {
$pub_keywords = notags(trim($_POST['pub_keywords']));
$prv_keywords = notags(trim($_POST['prv_keywords']));
$marital = notags(trim($_POST['marital']));
- if($marital != $orig[0]['marital'])
- $maritalchanged = true;
$with = ((x($_POST,'with')) ? notags(trim($_POST['with'])) : '');
// linkify the relationship target if applicable
+ $withchanged = false;
+
if(strlen($with)) {
if($with != strip_tags($orig[0]['with'])) {
+ $withchanged = true;
$prf = '';
$lookup = $with;
if(strpos($lookup,'@') === 0)
@@ -121,18 +123,40 @@ function profiles_post(&$a) {
$politic = notags(trim($_POST['politic']));
$religion = notags(trim($_POST['religion']));
- $about = escape_tags(trim($_POST['about']));
- $interest = escape_tags(trim($_POST['interest']));
- $contact = escape_tags(trim($_POST['contact']));
- $music = escape_tags(trim($_POST['music']));
- $book = escape_tags(trim($_POST['book']));
- $tv = escape_tags(trim($_POST['tv']));
- $film = escape_tags(trim($_POST['film']));
- $romance = escape_tags(trim($_POST['romance']));
- $work = escape_tags(trim($_POST['work']));
- $education = escape_tags(trim($_POST['education']));
+ $about = fix_mce_lf(escape_tags(trim($_POST['about'])));
+ $interest = fix_mce_lf(escape_tags(trim($_POST['interest'])));
+ $contact = fix_mce_lf(escape_tags(trim($_POST['contact'])));
+ $music = fix_mce_lf(escape_tags(trim($_POST['music'])));
+ $book = fix_mce_lf(escape_tags(trim($_POST['book'])));
+ $tv = fix_mce_lf(escape_tags(trim($_POST['tv'])));
+ $film = fix_mce_lf(escape_tags(trim($_POST['film'])));
+ $romance = fix_mce_lf(escape_tags(trim($_POST['romance'])));
+ $work = fix_mce_lf(escape_tags(trim($_POST['work'])));
+ $education = fix_mce_lf(escape_tags(trim($_POST['education'])));
+
$hide_friends = (($_POST['hide-friends'] == 1) ? 1: 0);
+
+
+ $changes = array();
+ if($is_default) {
+ if($marital != $orig[0]['marital']) $changes[] = '&hearts; ' . t('Marital Status');
+ if($withchanged) $changes[] = '&hearts; ' . t('Romantic Partner');
+ if($work != $orig[0]['work']) $changes[] = t('Work/Employment');
+ if($religion != $orig[0]['religion']) $changes[] = t('Religion');
+ if($politic != $orig[0]['politic']) $changes[] = t('Political Views');
+ if($gender != $orig[0]['gender']) $changes[] = t('Gender');
+ if($sexual != $orig[0]['sexual']) $changes[] = t('Sexual Preference');
+ if($homepage != $orig[0]['homepage']) $changes[] = t('Homepage');
+ if($interest != $orig[0]['interest']) $changes[] = t('Interests');
+ if($address != $orig[0]['address'] || $locality != $orig[0]['locality'] || $region != $orig[0]['region']
+ || $country_name != $orig[0]['country_name'])
+ $changes[] = t('Location');
+
+ profile_activity($changes);
+
+ }
+
$r = q("UPDATE `profile`
SET `profile-name` = '%s',
`name` = '%s',
@@ -194,7 +218,7 @@ function profiles_post(&$a) {
dbesc($education),
intval($hide_friends),
intval($a->argv[1]),
- intval($_SESSION['uid'])
+ intval(local_user())
);
if($r)
@@ -221,6 +245,79 @@ function profiles_post(&$a) {
}
+function profile_activity($changed) {
+ $a = get_app();
+
+ if(! local_user() || ! is_array($changed) || ! count($changed))
+ return;
+
+ if($a->user['hidewall'] || get_config('system','block_public'))
+ return;
+
+ if(! get_pconfig(local_user(),'system','post_profilechange'))
+ return;
+
+ require_once('include/items.php');
+
+ $self = q("SELECT * FROM `contact` WHERE `self` = 1 AND `uid` = %d LIMIT 1",
+ intval(local_user())
+ );
+
+ if(! count($self))
+ return;
+
+ $arr = array();
+ $arr['uri'] = $arr['parent-uri'] = item_new_uri($a->get_hostname(), local_user());
+ $arr['uid'] = local_user();
+ $arr['contact-id'] = $self[0]['id'];
+ $arr['wall'] = 1;
+ $arr['type'] = 'wall';
+ $arr['gravity'] = 0;
+ $arr['origin'] = 1;
+ $arr['author-name'] = $arr['owner-name'] = $self[0]['name'];
+ $arr['author-link'] = $arr['owner-link'] = $self[0]['url'];
+ $arr['author-avatar'] = $arr['owner-avatar'] = $self[0]['thumb'];
+ $arr['verb'] = ACTIVITY_UPDATE;
+ $arr['object-type'] = ACTIVITY_OBJ_PROFILE;
+
+ $A = '[url=' . $self[0]['url'] . ']' . $self[0]['name'] . '[/url]';
+
+
+ $changes = '';
+ $t = count($changed);
+ $z = 0;
+ foreach($changed as $ch) {
+ if(strlen($changes)) {
+ if ($z == ($t - 1))
+ $changes .= ' and ';
+ else
+ $changes .= ', ';
+ }
+ $z ++;
+ $changes .= $ch;
+ }
+
+ $prof = '[url=' . $self[0]['url'] . '?tab=profile' . ']' . t('public profile') . '[/url]';
+
+ $arr['body'] = sprintf( t('%1$s has an updated %2$s, changing %3$s.'), $A, $prof, $changes);
+
+ $arr['object'] = '<object><type>' . ACTIVITY_OBJ_PROFILE . '</type><title>' . $self[0]['name'] . '</title>'
+ . '<id>' . $self[0]['url'] . '/' . $self[0]['name'] . '</id>';
+ $arr['object'] .= '<link>' . xmlify('<link rel="alternate" type="text/html" href="' . $self[0]['url'] . '?tab=profile' . '" />' . "\n");
+ $arr['object'] .= xmlify('<link rel="photo" type="image/jpeg" href="' . $self[0]['thumb'] . '" />' . "\n");
+ $arr['object'] .= '</link></object>' . "\n";
+ $arr['last-child'] = 1;
+
+ $arr['allow_cid'] = $a->user['allow_cid'];
+ $arr['allow_gid'] = $a->user['allow_gid'];
+ $arr['deny_cid'] = $a->user['deny_cid'];
+ $arr['deny_gid'] = $a->user['deny_gid'];
+
+ $i = item_store($arr);
+ if($i)
+ proc_run('php',"include/notifier.php","activity","$i");
+
+}
function profiles_content(&$a) {
@@ -361,7 +458,16 @@ function profiles_content(&$a) {
require_once('include/profile_selectors.php');
- $tpl = get_markup_template('profed_head.tpl');
+
+ $editselect = 'textareas';
+ if(intval(get_pconfig(local_user(),'system','plaintext')))
+ $editselect = 'none';
+
+ $a->page['htmlhead'] .= replace_macros(get_markup_template('profed_head.tpl'), array(
+ '$baseurl' => $a->get_baseurl(true),
+ '$editselect' => $editselect,
+ ));
+
$opt_tpl = get_markup_template("profile-hide-friends.tpl");
$hide_friends = replace_macros($opt_tpl,array(
@@ -372,10 +478,12 @@ function profiles_content(&$a) {
'$no_selected' => (($r[0]['hide-friends'] == 0) ? " checked=\"checked\" " : "")
));
-
- $a->page['htmlhead'] .= replace_macros($tpl, array('$baseurl' => $a->get_baseurl(true)));
$a->page['htmlhead'] .= "<script type=\"text/javascript\" src=\"js/country.js\" ></script>";
+
+
+
+
$f = get_config('system','birthday_input_format');
if(! $f)
$f = 'ymd';
diff --git a/mod/profperm.php b/mod/profperm.php
index 8d09c429c..8d09c429c 100755..100644
--- a/mod/profperm.php
+++ b/mod/profperm.php
diff --git a/mod/pubsub.php b/mod/pubsub.php
index 93d50ef90..93d50ef90 100755..100644
--- a/mod/pubsub.php
+++ b/mod/pubsub.php
diff --git a/mod/qsearch.php b/mod/qsearch.php
index c35e253b6..c35e253b6 100755..100644
--- a/mod/qsearch.php
+++ b/mod/qsearch.php
diff --git a/mod/randprof.php b/mod/randprof.php
new file mode 100644
index 000000000..6713a81d9
--- /dev/null
+++ b/mod/randprof.php
@@ -0,0 +1,10 @@
+<?php
+
+
+function randprof_init(&$a) {
+ require_once('include/Contact.php');
+ $x = random_profile();
+ if($x)
+ goaway(zrl($x));
+ goaway($a->get_baseurl() . '/profile');
+}
diff --git a/mod/receive.php b/mod/receive.php
index 950bf0bd3..2bd3cc65b 100755..100644
--- a/mod/receive.php
+++ b/mod/receive.php
@@ -12,6 +12,13 @@ require_once('include/diaspora.php');
function receive_post(&$a) {
+
+ $enabled = intval(get_config('system','diaspora_enabled'));
+ if(! $enabled) {
+ logger('mod-diaspora: disabled');
+ http_status_exit(500);
+ }
+
$public = false;
if(($a->argc == 2) && ($a->argv[1] === 'public')) {
diff --git a/mod/redir.php b/mod/redir.php
index 9223e5483..9223e5483 100755..100644
--- a/mod/redir.php
+++ b/mod/redir.php
diff --git a/mod/register.php b/mod/register.php
index 630c0a675..b60707d45 100755..100644
--- a/mod/register.php
+++ b/mod/register.php
@@ -314,17 +314,13 @@ function register_post(&$a) {
}
- $use_gravatar = ((get_config('system','no_gravatar')) ? false : true);
-
- // if we have an openid photo use it.
- // otherwise unless it is disabled, use gravatar
-
- if($use_gravatar || strlen($photo)) {
+ // if we have no OpenID photo try to look up an avatar
+ if(! strlen($photo))
+ $photo = avatar_img($email);
+ // unless there is no avatar-plugin loaded
+ if(strlen($photo)) {
require_once('include/Photo.php');
-
- if(($use_gravatar) && (! strlen($photo)))
- $photo = gravatar_img($email);
$photo_failure = false;
$filename = basename($photo);
@@ -333,7 +329,7 @@ function register_post(&$a) {
if($img->is_valid()) {
$img->scaleImageSquare(175);
-
+
$hash = photo_new_resource();
$r = $img->store($newuid, 0, $hash, $filename, t('Profile Photos'), 4 );
diff --git a/mod/regmod.php b/mod/regmod.php
index 21f41eb01..21f41eb01 100755..100644
--- a/mod/regmod.php
+++ b/mod/regmod.php
diff --git a/mod/removeme.php b/mod/removeme.php
index ee88bd76a..ee88bd76a 100755..100644
--- a/mod/removeme.php
+++ b/mod/removeme.php
diff --git a/mod/rsd_xml.php b/mod/rsd_xml.php
index 5bf4663fd..5bf4663fd 100755..100644
--- a/mod/rsd_xml.php
+++ b/mod/rsd_xml.php
diff --git a/mod/salmon.php b/mod/salmon.php
index 6172d17a1..6172d17a1 100755..100644
--- a/mod/salmon.php
+++ b/mod/salmon.php
diff --git a/mod/search.php b/mod/search.php
index 6495fc8e5..4ca7db9bb 100755..100644
--- a/mod/search.php
+++ b/mod/search.php
@@ -97,27 +97,26 @@ function search_content(&$a) {
// OR your own posts if you are a logged in member
// No items will be shown if the member has a blocked profile wall.
- $r = q("SELECT COUNT(*) AS `total`
+ $r = q("SELECT distinct(`item`.`uri`) as `total`
FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id` LEFT JOIN `user` ON `user`.`uid` = `item`.`uid`
WHERE `item`.`visible` = 1 AND `item`.`deleted` = 0 and `item`.`moderated` = 0
AND (( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = '' AND `item`.`private` = 0 AND `user`.`hidewall` = 0)
OR `item`.`uid` = %d )
AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
- AND ( `item`.`body` REGEXP '%s' OR `item`.`tag` REGEXP '%s' )",
+ AND ( `item`.`body` REGEXP '%s' OR `item`.`tag` REGEXP '%s' ) group by `item`.`uri` ",
intval(local_user()),
dbesc(preg_quote($search)),
dbesc('\\]' . preg_quote($search) . '\\[')
);
if(count($r))
- $a->set_pager_total($r[0]['total']);
-
- if(! $r[0]['total']) {
+ $a->set_pager_total(count($r));
+ if(! count($r)) {
info( t('No results.') . EOL);
return $o;
}
- $r = q("SELECT `item`.*, `item`.`id` AS `item_id`,
+ $r = q("SELECT distinct(`item`.`uri`), `item`.*, `item`.`id` AS `item_id`,
`contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`,
`contact`.`network`, `contact`.`thumb`, `contact`.`self`, `contact`.`writable`,
`contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`,
@@ -128,7 +127,8 @@ function search_content(&$a) {
AND (( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = '' AND `item`.`private` = 0 AND `user`.`hidewall` = 0 )
OR `item`.`uid` = %d )
AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
- AND ( `item`.`body` REGEXP '%s' OR `item`.`tag` REGEXP '%s' )
+ AND ( `item`.`body` REGEXP '%s' OR `item`.`tag` REGEXP '%s' )
+ group by `item`.`uri`
ORDER BY `received` DESC LIMIT %d , %d ",
intval(local_user()),
dbesc(preg_quote($search)),
diff --git a/mod/session.php b/mod/session.php
index 22c855edb..22c855edb 100755..100644
--- a/mod/session.php
+++ b/mod/session.php
diff --git a/mod/settings.php b/mod/settings.php
index 926d1faa5..8c8b3062d 100755..100644
--- a/mod/settings.php
+++ b/mod/settings.php
@@ -15,10 +15,6 @@ function get_theme_config_file($theme){
}
function settings_init(&$a) {
- if(local_user()) {
- profile_load($a,$a->user['nickname']);
- }
-
// These lines provide the javascript needed by the acl selector
$a->page['htmlhead'] .= "<script> var ispublic = '" . t('everybody') . "';" ;
@@ -47,6 +43,47 @@ function settings_init(&$a) {
EOT;
+
+ $tabs = array(
+ array(
+ 'label' => t('Account settings'),
+ 'url' => $a->get_baseurl(true).'/settings',
+ 'selected' => (($a->argc == 1)?'active':''),
+ ),
+ array(
+ 'label' => t('Display settings'),
+ 'url' => $a->get_baseurl(true).'/settings/display',
+ 'selected' => (($a->argc > 1) && ($a->argv[1] === 'display')?'active':''),
+ ),
+
+ array(
+ 'label' => t('Connector settings'),
+ 'url' => $a->get_baseurl(true).'/settings/connectors',
+ 'selected' => (($a->argc > 1) && ($a->argv[1] === 'connectors')?'active':''),
+ ),
+ array(
+ 'label' => t('Plugin settings'),
+ 'url' => $a->get_baseurl(true).'/settings/addon',
+ 'selected' => (($a->argc > 1) && ($a->argv[1] === 'addon')?'active':''),
+ ),
+ array(
+ 'label' => t('Connected apps'),
+ 'url' => $a->get_baseurl(true) . '/settings/oauth',
+ 'selected' => (($a->argc > 1) && ($a->argv[1] === 'oauth')?'active':''),
+ ),
+ array(
+ 'label' => t('Export personal data'),
+ 'url' => $a->get_baseurl(true) . '/uexport',
+ 'selected' => ''
+ )
+ );
+
+ $tabtpl = get_markup_template("generic_links_widget.tpl");
+ $a->page['aside'] = replace_macros($tabtpl, array(
+ '$title' => t('Settings'),
+ '$items' => $tabs,
+ ));
+
}
@@ -229,7 +266,7 @@ function settings_post(&$a) {
if ($theme == $a->user['theme']){
- // call theme_post only if theme has not benn changed
+ // call theme_post only if theme has not been changed
if( ($themeconfigfile = get_theme_config_file($theme)) != null){
require_once($themeconfigfile);
theme_post($a);
@@ -242,6 +279,7 @@ function settings_post(&$a) {
intval(local_user())
);
+ call_hooks('display_settings_post', $_POST);
goaway($a->get_baseurl(true) . '/settings/display' );
return; // NOTREACHED
}
@@ -308,6 +346,8 @@ function settings_post(&$a) {
$suggestme = ((x($_POST,'suggestme')) ? intval($_POST['suggestme']) : 0);
$hide_friends = (($_POST['hide-friends'] == 1) ? 1: 0);
$hidewall = (($_POST['hidewall'] == 1) ? 1: 0);
+ $post_newfriend = (($_POST['post_newfriend'] == 1) ? 1: 0);
+ $post_profilechange = (($_POST['post_profilechange'] == 1) ? 1: 0);
$notify = 0;
@@ -390,6 +430,8 @@ function settings_post(&$a) {
set_pconfig(local_user(),'expire','photos', $expire_photos);
set_pconfig(local_user(),'system','suggestme', $suggestme);
+ set_pconfig(local_user(),'system','post_newfriend', $post_newfriend);
+ set_pconfig(local_user(),'system','post_profilechange', $post_profilechange);
$r = q("UPDATE `user` SET `username` = '%s', `email` = '%s', `openid` = '%s', `timezone` = '%s', `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s', `notify-flags` = %d, `page-flags` = %d, `default-location` = '%s', `allow_location` = %d, `maxreq` = %d, `expire` = %d, `openidserver` = '%s', `blockwall` = %d, `hidewall` = %d, `blocktags` = %d, `unkmail` = %d, `cntunkmail` = %d WHERE `uid` = %d LIMIT 1",
@@ -478,44 +520,7 @@ function settings_content(&$a) {
return;
}
- $tabs = array(
- array(
- 'label' => t('Account settings'),
- 'url' => $a->get_baseurl(true).'/settings',
- 'sel' => (($a->argc == 1)?'active':''),
- ),
- array(
- 'label' => t('Display settings'),
- 'url' => $a->get_baseurl(true).'/settings/display',
- 'sel' => (($a->argc > 1) && ($a->argv[1] === 'display')?'active':''),
- ),
-
- array(
- 'label' => t('Connector settings'),
- 'url' => $a->get_baseurl(true).'/settings/connectors',
- 'sel' => (($a->argc > 1) && ($a->argv[1] === 'connectors')?'active':''),
- ),
- array(
- 'label' => t('Plugin settings'),
- 'url' => $a->get_baseurl(true).'/settings/addon',
- 'sel' => (($a->argc > 1) && ($a->argv[1] === 'addon')?'active':''),
- ),
- array(
- 'label' => t('Connections'),
- 'url' => $a->get_baseurl(true) . '/settings/oauth',
- 'sel' => (($a->argc > 1) && ($a->argv[1] === 'oauth')?'active':''),
- ),
- array(
- 'label' => t('Export personal data'),
- 'url' => $a->get_baseurl(true) . '/uexport',
- 'sel' => ''
- )
- );
-
- $tabtpl = get_markup_template("common_tabs.tpl");
- $tabs = replace_macros($tabtpl, array(
- '$tabs' => $tabs,
- ));
+
if(($a->argc > 1) && ($a->argv[1] === 'oauth')) {
@@ -523,7 +528,6 @@ function settings_content(&$a) {
$tpl = get_markup_template("settings_oauth_edit.tpl");
$o .= replace_macros($tpl, array(
'$form_security_token' => get_form_security_token("settings_oauth"),
- '$tabs' => $tabs,
'$title' => t('Add application'),
'$submit' => t('Submit'),
'$cancel' => t('Cancel'),
@@ -550,7 +554,6 @@ function settings_content(&$a) {
$tpl = get_markup_template("settings_oauth_edit.tpl");
$o .= replace_macros($tpl, array(
'$form_security_token' => get_form_security_token("settings_oauth"),
- '$tabs' => $tabs,
'$title' => t('Add application'),
'$submit' => t('Update'),
'$cancel' => t('Cancel'),
@@ -593,7 +596,6 @@ function settings_content(&$a) {
'$consumerkey' => t('Client key starts with'),
'$noname' => t('No name'),
'$remove' => t('Remove authorization'),
- '$tabs' => $tabs,
'$apps' => $r,
));
return $o;
@@ -613,7 +615,6 @@ function settings_content(&$a) {
$o .= replace_macros($tpl, array(
'$form_security_token' => get_form_security_token("settings_addon"),
'$title' => t('Plugin Settings'),
- '$tabs' => $tabs,
'$settings_addons' => $settings_addons
));
return $o;
@@ -657,7 +658,6 @@ function settings_content(&$a) {
'$form_security_token' => get_form_security_token("settings_connectors"),
'$title' => t('Connector Settings'),
- '$tabs' => $tabs,
'$diasp_enabled' => $diasp_enabled,
'$ostat_enabled' => $ostat_enabled,
@@ -679,6 +679,8 @@ function settings_content(&$a) {
'$settings_connectors' => $settings_connectors
));
+
+ call_hooks('display_settings', $o);
return $o;
}
@@ -694,8 +696,8 @@ function settings_content(&$a) {
$allowed_themes_raw = explode(',',$allowed_themes_str);
$allowed_themes = array();
if(count($allowed_themes_raw))
- foreach($allowed_themes_raw as $x)
- if(strlen(trim($x)))
+ foreach($allowed_themes_raw as $x)
+ if(strlen(trim($x)) && is_dir("view/theme/$x"))
$allowed_themes[] = trim($x);
@@ -732,7 +734,6 @@ function settings_content(&$a) {
$tpl = get_markup_template("settings_display.tpl");
$o = replace_macros($tpl, array(
- '$tabs' => $tabs,
'$ptitle' => t('Display Settings'),
'$form_security_token' => get_form_security_token("settings_display"),
'$submit' => t('Submit'),
@@ -793,6 +794,11 @@ function settings_content(&$a) {
$suggestme = get_pconfig(local_user(), 'system','suggestme');
$suggestme = (($suggestme===false)? '0': $suggestme); // default if not set: 0
+ $post_newfriend = get_pconfig(local_user(), 'system','post_newfriend');
+ $post_newfriend = (($post_newfriend===false)? '0': $post_newfriend); // default if not set: 0
+
+ $post_profilechange = get_pconfig(local_user(), 'system','post_profilechange');
+ $post_profilechange = (($post_profilechange===false)? '0': $post_profilechange); // default if not set: 0
if(! strlen($a->user['timezone']))
@@ -881,6 +887,8 @@ function settings_content(&$a) {
));
+
+
$invisible = (((! $profile['publish']) && (! $profile['net-publish']))
? true : false);
@@ -917,7 +925,6 @@ function settings_content(&$a) {
);
$o .= replace_macros($stpl,array(
- '$tabs' => $tabs,
'$ptitle' => t('Account Settings'),
'$submit' => t('Submit'),
@@ -962,6 +969,9 @@ function settings_content(&$a) {
'$h_not' => t('Notification Settings'),
+ '$activity_options' => t('By default post a status message when:'),
+ '$post_newfriend' => array('post_newfriend', t('accepting a friend request'), $post_newfriend, ''),
+ '$post_profilechange' => array('post_profilechange', t('making an <em>interesting</em> profile change'), $post_profilechange, ''),
'$lbl_not' => t('Send a notification email when:'),
'$notify1' => array('notify1', t('You receive an introduction'), ($notify & NOTIFY_INTRO), NOTIFY_INTRO, ''),
'$notify2' => array('notify2', t('Your introductions are confirmed'), ($notify & NOTIFY_CONFIRM), NOTIFY_CONFIRM, ''),
diff --git a/mod/share.php b/mod/share.php
index 47bb851a4..6c6098c83 100755..100644
--- a/mod/share.php
+++ b/mod/share.php
@@ -16,18 +16,18 @@ function share_init(&$a) {
$o = '';
- if(local_user() && intval(get_pconfig(local_user(),'system','plaintext'))) {
+// if(local_user() && intval(get_pconfig(local_user(),'system','plaintext'))) {
$o .= "\xE2\x99\xb2" . ' [url=' . $r[0]['author-link'] . ']' . $r[0]['author-name'] . '[/url]' . "\n";
if($r[0]['title'])
$o .= '[b]' . $r[0]['title'] . '[/b]' . "\n";
$o .= $r[0]['body'] . "\n";
- }
- else {
- $o .= '&#x2672; <a href="' . $r[0]['author-link'] . '">' . $r[0]['author-name'] . '</a><br />';
- if($r[0]['title'])
- $o .= '<strong>' . $r[0]['title'] . '</strong><br />';
- $o .= bbcode($r[0]['body'], true) . '<br />';
- }
+// }
+// else {
+// $o .= '&#x2672; <a href="' . $r[0]['author-link'] . '">' . $r[0]['author-name'] . '</a><br />';
+// if($r[0]['title'])
+// $o .= '<strong>' . $r[0]['title'] . '</strong><br />';
+// $o .= $r[0]['body'] . "\n";
+// }
echo $o;
killme();
}
diff --git a/mod/smilies.php b/mod/smilies.php
index c47f95da7..c47f95da7 100755..100644
--- a/mod/smilies.php
+++ b/mod/smilies.php
diff --git a/mod/starred.php b/mod/starred.php
index 035b81e76..035b81e76 100755..100644
--- a/mod/starred.php
+++ b/mod/starred.php
diff --git a/mod/suggest.php b/mod/suggest.php
index 7a86d53a1..7a86d53a1 100755..100644
--- a/mod/suggest.php
+++ b/mod/suggest.php
diff --git a/mod/tagger.php b/mod/tagger.php
index 3ff5d57aa..3ff5d57aa 100755..100644
--- a/mod/tagger.php
+++ b/mod/tagger.php
diff --git a/mod/tagrm.php b/mod/tagrm.php
index 5041145cc..5041145cc 100755..100644
--- a/mod/tagrm.php
+++ b/mod/tagrm.php
diff --git a/mod/uexport.php b/mod/uexport.php
index e1fb22855..e1fb22855 100755..100644
--- a/mod/uexport.php
+++ b/mod/uexport.php
diff --git a/mod/update_community.php b/mod/update_community.php
index 3dcbce6b1..3dcbce6b1 100755..100644
--- a/mod/update_community.php
+++ b/mod/update_community.php
diff --git a/mod/update_network.php b/mod/update_network.php
index 36de0722a..36de0722a 100755..100644
--- a/mod/update_network.php
+++ b/mod/update_network.php
diff --git a/mod/update_notes.php b/mod/update_notes.php
index 90cc5bc69..90cc5bc69 100755..100644
--- a/mod/update_notes.php
+++ b/mod/update_notes.php
diff --git a/mod/update_profile.php b/mod/update_profile.php
index c4884b30f..c4884b30f 100755..100644
--- a/mod/update_profile.php
+++ b/mod/update_profile.php
diff --git a/mod/viewcontacts.php b/mod/viewcontacts.php
index e7d26b73e..e7d26b73e 100755..100644
--- a/mod/viewcontacts.php
+++ b/mod/viewcontacts.php
diff --git a/mod/viewsrc.php b/mod/viewsrc.php
index 3fa4eaed5..3fa4eaed5 100755..100644
--- a/mod/viewsrc.php
+++ b/mod/viewsrc.php
diff --git a/mod/wall_attach.php b/mod/wall_attach.php
index ecf475291..03d9f5105 100755..100644
--- a/mod/wall_attach.php
+++ b/mod/wall_attach.php
@@ -7,7 +7,7 @@ function wall_attach_post(&$a) {
if($a->argc > 1) {
$nick = $a->argv[1];
- $r = q("SELECT * FROM `user` WHERE `nickname` = '%s' AND `blocked` = 0 LIMIT 1",
+ $r = q("SELECT `user`.*, `contact`.`id` FROM `user` LEFT JOIN `contact` on `user`.`uid` = `contact`.`uid` WHERE `user`.`nickname` = '%s' AND `user`.`blocked` = 0 and `contact`.`self` = 1 LIMIT 1",
dbesc($nick)
);
if(! count($r))
@@ -21,6 +21,7 @@ function wall_attach_post(&$a) {
$visitor = 0;
$page_owner_uid = $r[0]['uid'];
+ $page_owner_cid = $r[0]['id'];
$page_owner_nick = $r[0]['nickname'];
$community_page = (($r[0]['page-flags'] == PAGE_COMMUNITY) ? true : false);
@@ -73,7 +74,7 @@ function wall_attach_post(&$a) {
dbesc($filedata),
dbesc($created),
dbesc($created),
- dbesc('<' . $page_owner_uid . '>'),
+ dbesc('<' . $page_owner_cid . '>'),
dbesc(''),
dbesc(''),
dbesc('')
@@ -97,8 +98,13 @@ function wall_attach_post(&$a) {
killme();
}
- echo '<br /><br />[attachment]' . $r[0]['id'] . '[/attachment]' . '<br />';
+ $lf = '<br />';
+ if(local_user() && intval(get_pconfig(local_user(),'system','plaintext')))
+ $lf = "\n";
+
+ echo $lf . $lf . '[attachment]' . $r[0]['id'] . '[/attachment]' . $lf;
+
killme();
// NOTREACHED
}
diff --git a/mod/wall_upload.php b/mod/wall_upload.php
index 64f174a78..fa66561e8 100755..100644
--- a/mod/wall_upload.php
+++ b/mod/wall_upload.php
@@ -5,21 +5,31 @@ require_once('Photo.php');
function wall_upload_post(&$a) {
if($a->argc > 1) {
- $nick = $a->argv[1];
- $r = q("SELECT * FROM `user` WHERE `nickname` = '%s' AND `blocked` = 0 LIMIT 1",
- dbesc($nick)
- );
- if(! count($r))
- return;
-
+ if(! x($_FILES,'media')) {
+ $nick = $a->argv[1];
+ $r = q("SELECT `user`.*, `contact`.`id` FROM `user` LEFT JOIN `contact` on `user`.`uid` = `contact`.`uid` WHERE `user`.`nickname` = '%s' AND `user`.`blocked` = 0 and `contact`.`self` = 1 LIMIT 1",
+ dbesc($nick)
+ );
+
+ if(! count($r))
+ return;
+ }
+ else {
+ $user_info = api_get_user($a);
+ $r = q("SELECT `user`.*, `contact`.`id` FROM `user` LEFT JOIN `contact` on `user`.`uid` = `contact`.`uid` WHERE `user`.`nickname` = '%s' AND `user`.`blocked` = 0 and `contact`.`self` = 1 LIMIT 1",
+ dbesc($user_info['screen_name'])
+ );
+ }
}
else
return;
+
$can_post = false;
$visitor = 0;
$page_owner_uid = $r[0]['uid'];
+ $default_cid = $r[0]['id'];
$page_owner_nick = $r[0]['nickname'];
$community_page = (($r[0]['page-flags'] == PAGE_COMMUNITY) ? true : false);
@@ -34,6 +44,7 @@ function wall_upload_post(&$a) {
if(count($r)) {
$can_post = true;
$visitor = remote_user();
+ $default_cid = $visitor;
}
}
}
@@ -43,12 +54,19 @@ function wall_upload_post(&$a) {
killme();
}
- if(! x($_FILES,'userfile'))
+ if(! x($_FILES,'userfile') && ! x($_FILES,'media'))
killme();
- $src = $_FILES['userfile']['tmp_name'];
- $filename = basename($_FILES['userfile']['name']);
- $filesize = intval($_FILES['userfile']['size']);
+ if(x($_FILES,'userfile')) {
+ $src = $_FILES['userfile']['tmp_name'];
+ $filename = basename($_FILES['userfile']['name']);
+ $filesize = intval($_FILES['userfile']['size']);
+ }
+ elseif(x($_FILES,'media')) {
+ $src = $_FILES['media']['tmp_name'];
+ $filename = basename($_FILES['media']['name']);
+ $filesize = intval($_FILES['media']['size']);
+ }
$maximagesize = get_config('system','maximagesize');
@@ -76,7 +94,7 @@ function wall_upload_post(&$a) {
$smallest = 0;
- $defperm = '<' . $page_owner_uid . '>';
+ $defperm = '<' . $default_cid . '>';
$r = $ph->store($page_owner_uid, $visitor, $hash, $filename, t('Wall Photos'), 0, 0, $defperm);
diff --git a/mod/webfinger.php b/mod/webfinger.php
index 74bd2c954..74bd2c954 100755..100644
--- a/mod/webfinger.php
+++ b/mod/webfinger.php
diff --git a/mod/xrd.php b/mod/xrd.php
index 2fa6bcd99..2fa6bcd99 100755..100644
--- a/mod/xrd.php
+++ b/mod/xrd.php