aboutsummaryrefslogtreecommitdiffstats
path: root/mod
diff options
context:
space:
mode:
Diffstat (limited to 'mod')
-rw-r--r--mod/admin.php66
-rw-r--r--mod/dfrn_confirm.php45
-rw-r--r--mod/tagger.php8
3 files changed, 102 insertions, 17 deletions
diff --git a/mod/admin.php b/mod/admin.php
index 3b6d186d5..b07ef851a 100644
--- a/mod/admin.php
+++ b/mod/admin.php
@@ -61,6 +61,9 @@ function admin_post(&$a){
case 'logs':
admin_page_logs_post($a);
break;
+ case 'dbsync':
+ admin_page_dbsync_post($a);
+ break;
case 'update':
admin_page_remoteupdate_post($a);
break;
@@ -94,7 +97,8 @@ function admin_content(&$a) {
'users' => Array($a->get_baseurl(true)."/admin/users/", t("Users") , "users"),
'plugins'=> Array($a->get_baseurl(true)."/admin/plugins/", t("Plugins") , "plugins"),
'themes' => Array($a->get_baseurl(true)."/admin/themes/", t("Themes") , "themes"),
- 'update' => Array($a->get_baseurl(true)."/admin/update/", t("Update") , "update")
+ 'dbsync' => Array($a->get_baseurl(true)."/admin/dbsync/", t('DB updates'), "dbsync"),
+ 'update' => Array($a->get_baseurl(true)."/admin/update/", t("Software Update") , "update")
);
/* get plugins admin page */
@@ -142,6 +146,9 @@ function admin_content(&$a) {
case 'logs':
$o = admin_page_logs($a);
break;
+ case 'dbsync':
+ $o = admin_page_dbsync($a);
+ break;
case 'update':
$o = admin_page_remoteupdate($a);
break;
@@ -435,6 +442,62 @@ function admin_page_site(&$a) {
}
+function admin_page_dbsync(&$a) {
+
+ $o = '';
+
+ if($a->argc > 3 && intval($a->argv[3]) && $a->argv[2] === 'mark') {
+ set_config('database', 'update_' . intval($a->argv[3]), 'success');
+ info( t('Update has been marked successful') . EOL);
+ goaway($a->get_baseurl(true) . '/admin/dbsync');
+ }
+
+ if($a->argc > 2 && intval($a->argv[2])) {
+ require_once('update.php');
+ $func = 'update_' . intval($a->argv[2]);
+ if(function_exists($func)) {
+ $retval = $func();
+ if($retval === UPDATE_FAILED) {
+ $o .= sprintf( t('Executing %s failed. Check system logs.'), $func);
+ }
+ elseif($retval === UPDATE_SUCCESS) {
+ $o .= sprintf( t('Update %s was successfully applied.', $func));
+ set_config('database',$func, 'success');
+ }
+ else
+ $o .= sprintf( t('Update %s did not return a status. Unknown if it succeeded.'), $func);
+ }
+ else
+ $o .= sprintf( t('Update function %s could not be found.'), $func);
+ return $o;
+ }
+
+ $failed = array();
+ $r = q("select * from config where `cat` = 'database' ");
+ if(count($r)) {
+ foreach($r as $rr) {
+ $upd = intval(substr($rr['k'],7));
+ if($upd < 1139 || $rr['v'] === 'success')
+ continue;
+ $failed[] = $upd;
+ }
+ }
+ if(! count($failed))
+ return '<h3>' . t('No failed updates.') . '</h3>';
+
+ $o = replace_macros(get_markup_template('failed_updates.tpl'),array(
+ '$base' => $a->get_baseurl(true),
+ '$banner' => t('Failed Updates'),
+ '$desc' => t('This does not include updates prior to 1139, which did not return a status.'),
+ '$mark' => t('Mark success (if update was manually applied)'),
+ '$apply' => t('Attempt to execute this update step automatically'),
+ '$failed' => $failed
+ ));
+
+ return $o;
+
+}
+
/**
* Users admin page
*
@@ -979,7 +1042,6 @@ readable.");
$size = 5000000;
$seek = fseek($fp,0-$size,SEEK_END);
if($seek === 0) {
- fgets($fp); // throw away the first partial line
$data = escape_tags(fread($fp,$size));
while(! feof($fp))
$data .= escape_tags(fread($fp,4096));
diff --git a/mod/dfrn_confirm.php b/mod/dfrn_confirm.php
index efb5be3a4..6f7b925ac 100644
--- a/mod/dfrn_confirm.php
+++ b/mod/dfrn_confirm.php
@@ -434,9 +434,14 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
else
$contact = null;
- if(isset($new_relation) && $new_relation == CONTACT_IS_FRIEND) {
- if(($contact) && ($contact['network'] === NETWORK_DIASPORA)) {
+ $forum_type = false;
+ if($user['page-flags'] == PAGE_SOAPBOX || $user['page-flags'] == PAGE_COMMUNITY)
+ $forum_type = true;
+
+ if((isset($new_relation) && $new_relation == CONTACT_IS_FRIEND) || ($forum_type)) {
+
+ if(($contact) && ($contact['network'] === NETWORK_DIASPORA) && (! $forum_type)) {
require_once('include/diaspora.php');
$ret = diaspora_share($user[0],$r[0]);
logger('mod_follow: diaspora_share returns: ' . $ret);
@@ -468,19 +473,37 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
$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_FRIEND;
- $arr['object-type'] = ACTIVITY_OBJ_PERSON;
-
+
$A = '[url=' . $self[0]['url'] . ']' . $self[0]['name'] . '[/url]';
+ $APhoto = '[url=' . $self[0]['url'] . ']' . '[img]' . $self[0]['thumb'] . '[/img][/url]';
+
$B = '[url=' . $contact['url'] . ']' . $contact['name'] . '[/url]';
$BPhoto = '[url=' . $contact['url'] . ']' . '[img]' . $contact['thumb'] . '[/img][/url]';
- $arr['body'] = sprintf( t('%1$s is now friends with %2$s'), $A, $B)."\n\n\n".$BPhoto;
- $arr['object'] = '<object><type>' . ACTIVITY_OBJ_PERSON . '</type><title>' . $contact['name'] . '</title>'
- . '<id>' . $contact['url'] . '/' . $contact['name'] . '</id>';
- $arr['object'] .= '<link>' . xmlify('<link rel="alternate" type="text/html" href="' . $contact['url'] . '" />' . "\n");
- $arr['object'] .= xmlify('<link rel="photo" type="image/jpeg" href="' . $contact['thumb'] . '" />' . "\n");
- $arr['object'] .= '</link></object>' . "\n";
+ if($forum_type) {
+ $arr['verb'] = ACTIVITY_JOIN;
+ $arr['object-type'] = ACTIVITY_OBJ_GROUP;
+ $arr['body'] = sprintf( t('%1$s joined %2$s'), $B, $A)."\n\n\n".$APhoto;
+ $arr['object'] = '<object><type>' . ACTIVITY_OBJ_GROUP . '</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'] . '" />' . "\n");
+ $arr['object'] .= xmlify('<link rel="photo" type="image/jpeg" href="' . $self[0]['thumb'] . '" />' . "\n");
+ $arr['object'] .= '</link></object>' . "\n";
+
+ }
+ else {
+ $arr['verb'] = ACTIVITY_FRIEND;
+ $arr['object-type'] = ACTIVITY_OBJ_PERSON;
+ $arr['body'] = sprintf( t('%1$s is now friends with %2$s'), $A, $B)."\n\n\n".$BPhoto;
+
+ $arr['object'] = '<object><type>' . ACTIVITY_OBJ_PERSON . '</type><title>' . $contact['name'] . '</title>'
+ . '<id>' . $contact['url'] . '/' . $contact['name'] . '</id>';
+ $arr['object'] .= '<link>' . xmlify('<link rel="alternate" type="text/html" href="' . $contact['url'] . '" />' . "\n");
+ $arr['object'] .= xmlify('<link rel="photo" type="image/jpeg" href="' . $contact['thumb'] . '" />' . "\n");
+ $arr['object'] .= '</link></object>' . "\n";
+ }
+
+
$arr['last-child'] = 1;
$arr['allow_cid'] = $user[0]['allow_cid'];
diff --git a/mod/tagger.php b/mod/tagger.php
index 8ee499f5f..6212e2b9b 100644
--- a/mod/tagger.php
+++ b/mod/tagger.php
@@ -66,14 +66,14 @@ function tagger_content(&$a) {
}
$uri = item_new_uri($a->get_hostname(),$owner_uid);
-
+ $xterm = xmlify($term);
$post_type = (($item['resource-id']) ? t('photo') : t('status'));
$targettype = (($item['resource-id']) ? ACTIVITY_OBJ_PHOTO : ACTIVITY_OBJ_NOTE );
$link = xmlify('<link rel="alternate" type="text/html" href="'
. $a->get_baseurl() . '/display/' . $owner['nickname'] . '/' . $item['id'] . '" />' . "\n") ;
- $body = $item['body'];
+ $body = xmlify($item['body']);
$target = <<< EOT
<target>
@@ -95,8 +95,8 @@ EOT;
<local>1</local>
<id>$tagid</id>
<link>$tagid</link>
- <title>$term</title>
- <content>$term</content>
+ <title>$xterm</title>
+ <content>$xterm</content>
</object>
EOT;