diff options
-rw-r--r-- | addon/sniper/100x100.gif | bin | 0 -> 6870 bytes | |||
-rw-r--r-- | addon/sniper/100x100.jpg | bin | 0 -> 30484 bytes | |||
-rw-r--r-- | addon/sniper/100x75.jpg | bin | 0 -> 12010 bytes | |||
-rw-r--r-- | addon/sniper/100x80.jpg | bin | 0 -> 12524 bytes | |||
-rw-r--r-- | addon/sniper/120x90hotshotsniper.jpg | bin | 0 -> 16122 bytes | |||
-rw-r--r-- | addon/sniper/125x125.jpg | bin | 0 -> 31696 bytes | |||
-rw-r--r-- | addon/sniper/140x90.jpg | bin | 0 -> 17690 bytes | |||
-rw-r--r-- | addon/sniper/150x150.jpg | bin | 0 -> 43762 bytes | |||
-rw-r--r-- | addon/sniper/160x86.gif | bin | 0 -> 9420 bytes | |||
-rw-r--r-- | addon/sniper/180x135.jpg | bin | 0 -> 10466 bytes | |||
-rw-r--r-- | addon/sniper/250x180.jpg | bin | 0 -> 39574 bytes | |||
-rw-r--r-- | addon/sniper/300x200.jpg | bin | 0 -> 16466 bytes | |||
-rw-r--r-- | addon/sniper/300x300.jpg | bin | 0 -> 19530 bytes | |||
-rw-r--r-- | addon/sniper/32x32.jpg | bin | 0 -> 13904 bytes | |||
-rw-r--r-- | addon/sniper/335x185.jpg | bin | 0 -> 15345 bytes | |||
-rw-r--r-- | addon/sniper/60x60.jpg | bin | 0 -> 19531 bytes | |||
-rw-r--r-- | addon/sniper/64x64.gif | bin | 0 -> 3663 bytes | |||
-rw-r--r-- | addon/sniper/70x45.jpg | bin | 0 -> 15510 bytes | |||
-rw-r--r-- | addon/sniper/70x60.jpg | bin | 0 -> 8167 bytes | |||
-rw-r--r-- | addon/sniper/73x80.jpg | bin | 0 -> 9456 bytes | |||
-rw-r--r-- | addon/sniper/75x57.jpg | bin | 0 -> 8298 bytes | |||
-rw-r--r-- | addon/sniper/80x60.jpg | bin | 0 -> 7889 bytes | |||
-rw-r--r-- | addon/sniper/80x70.jpg | bin | 0 -> 5218 bytes | |||
-rw-r--r-- | addon/sniper/80x80hotshotsniper.jpg | bin | 0 -> 23760 bytes | |||
-rw-r--r-- | addon/sniper/81x67.jpg | bin | 0 -> 9805 bytes | |||
-rw-r--r-- | addon/sniper/description_etc.txt | 11 | ||||
-rw-r--r-- | addon/sniper/hotshotsniper.html | 15 | ||||
-rw-r--r-- | addon/sniper/hotshotsniper.swf | bin | 0 -> 927817 bytes | |||
-rw-r--r-- | addon/sniper/sniper.php | 31 | ||||
-rw-r--r-- | boot.php | 2 | ||||
-rw-r--r-- | images/icons.png | bin | 9382 -> 10126 bytes | |||
-rw-r--r-- | include/event.php | 156 | ||||
-rw-r--r-- | include/items.php | 12 | ||||
-rw-r--r-- | include/nav.php | 4 | ||||
-rw-r--r-- | include/notifier.php | 2 | ||||
-rw-r--r-- | mod/apps.php | 14 | ||||
-rw-r--r-- | mod/dfrn_notify.php | 21 | ||||
-rw-r--r-- | mod/events.php | 147 | ||||
-rw-r--r-- | mod/notes.php | 2 | ||||
-rw-r--r-- | mod/photos.php | 4 | ||||
-rw-r--r-- | mod/profile.php | 4 | ||||
-rw-r--r-- | mod/pubsub.php | 8 | ||||
-rw-r--r-- | view/profile_tabs.tpl | 2 | ||||
-rw-r--r-- | view/theme/duepuntozero/style.css | 18 | ||||
-rw-r--r-- | view/theme/loozah/style.css | 44 |
45 files changed, 363 insertions, 134 deletions
diff --git a/addon/sniper/100x100.gif b/addon/sniper/100x100.gif Binary files differnew file mode 100644 index 000000000..33708302f --- /dev/null +++ b/addon/sniper/100x100.gif diff --git a/addon/sniper/100x100.jpg b/addon/sniper/100x100.jpg Binary files differnew file mode 100644 index 000000000..315bd664b --- /dev/null +++ b/addon/sniper/100x100.jpg diff --git a/addon/sniper/100x75.jpg b/addon/sniper/100x75.jpg Binary files differnew file mode 100644 index 000000000..693e7c9d4 --- /dev/null +++ b/addon/sniper/100x75.jpg diff --git a/addon/sniper/100x80.jpg b/addon/sniper/100x80.jpg Binary files differnew file mode 100644 index 000000000..594391e2c --- /dev/null +++ b/addon/sniper/100x80.jpg diff --git a/addon/sniper/120x90hotshotsniper.jpg b/addon/sniper/120x90hotshotsniper.jpg Binary files differnew file mode 100644 index 000000000..52d0f005d --- /dev/null +++ b/addon/sniper/120x90hotshotsniper.jpg diff --git a/addon/sniper/125x125.jpg b/addon/sniper/125x125.jpg Binary files differnew file mode 100644 index 000000000..047a505fd --- /dev/null +++ b/addon/sniper/125x125.jpg diff --git a/addon/sniper/140x90.jpg b/addon/sniper/140x90.jpg Binary files differnew file mode 100644 index 000000000..e98df44e2 --- /dev/null +++ b/addon/sniper/140x90.jpg diff --git a/addon/sniper/150x150.jpg b/addon/sniper/150x150.jpg Binary files differnew file mode 100644 index 000000000..225d1e9c1 --- /dev/null +++ b/addon/sniper/150x150.jpg diff --git a/addon/sniper/160x86.gif b/addon/sniper/160x86.gif Binary files differnew file mode 100644 index 000000000..da72f3e92 --- /dev/null +++ b/addon/sniper/160x86.gif diff --git a/addon/sniper/180x135.jpg b/addon/sniper/180x135.jpg Binary files differnew file mode 100644 index 000000000..6fdfaf320 --- /dev/null +++ b/addon/sniper/180x135.jpg diff --git a/addon/sniper/250x180.jpg b/addon/sniper/250x180.jpg Binary files differnew file mode 100644 index 000000000..41fbe9f6e --- /dev/null +++ b/addon/sniper/250x180.jpg diff --git a/addon/sniper/300x200.jpg b/addon/sniper/300x200.jpg Binary files differnew file mode 100644 index 000000000..0aeef9a7d --- /dev/null +++ b/addon/sniper/300x200.jpg diff --git a/addon/sniper/300x300.jpg b/addon/sniper/300x300.jpg Binary files differnew file mode 100644 index 000000000..d4d4f2748 --- /dev/null +++ b/addon/sniper/300x300.jpg diff --git a/addon/sniper/32x32.jpg b/addon/sniper/32x32.jpg Binary files differnew file mode 100644 index 000000000..8b4c20934 --- /dev/null +++ b/addon/sniper/32x32.jpg diff --git a/addon/sniper/335x185.jpg b/addon/sniper/335x185.jpg Binary files differnew file mode 100644 index 000000000..9bb38c1a5 --- /dev/null +++ b/addon/sniper/335x185.jpg diff --git a/addon/sniper/60x60.jpg b/addon/sniper/60x60.jpg Binary files differnew file mode 100644 index 000000000..4ad725772 --- /dev/null +++ b/addon/sniper/60x60.jpg diff --git a/addon/sniper/64x64.gif b/addon/sniper/64x64.gif Binary files differnew file mode 100644 index 000000000..cbb89e661 --- /dev/null +++ b/addon/sniper/64x64.gif diff --git a/addon/sniper/70x45.jpg b/addon/sniper/70x45.jpg Binary files differnew file mode 100644 index 000000000..b722a5a0a --- /dev/null +++ b/addon/sniper/70x45.jpg diff --git a/addon/sniper/70x60.jpg b/addon/sniper/70x60.jpg Binary files differnew file mode 100644 index 000000000..581521985 --- /dev/null +++ b/addon/sniper/70x60.jpg diff --git a/addon/sniper/73x80.jpg b/addon/sniper/73x80.jpg Binary files differnew file mode 100644 index 000000000..9f6753ec1 --- /dev/null +++ b/addon/sniper/73x80.jpg diff --git a/addon/sniper/75x57.jpg b/addon/sniper/75x57.jpg Binary files differnew file mode 100644 index 000000000..54753f1e5 --- /dev/null +++ b/addon/sniper/75x57.jpg diff --git a/addon/sniper/80x60.jpg b/addon/sniper/80x60.jpg Binary files differnew file mode 100644 index 000000000..dfd0b371e --- /dev/null +++ b/addon/sniper/80x60.jpg diff --git a/addon/sniper/80x70.jpg b/addon/sniper/80x70.jpg Binary files differnew file mode 100644 index 000000000..2f416fa67 --- /dev/null +++ b/addon/sniper/80x70.jpg diff --git a/addon/sniper/80x80hotshotsniper.jpg b/addon/sniper/80x80hotshotsniper.jpg Binary files differnew file mode 100644 index 000000000..db26ff6a7 --- /dev/null +++ b/addon/sniper/80x80hotshotsniper.jpg diff --git a/addon/sniper/81x67.jpg b/addon/sniper/81x67.jpg Binary files differnew file mode 100644 index 000000000..0a4d7fdc3 --- /dev/null +++ b/addon/sniper/81x67.jpg diff --git a/addon/sniper/description_etc.txt b/addon/sniper/description_etc.txt new file mode 100644 index 000000000..bda05ff56 --- /dev/null +++ b/addon/sniper/description_etc.txt @@ -0,0 +1,11 @@ +Description:
+
+Shoot the targets with your sniper rifle!
+
+Instructions:
+
+Use your mouse to aim and shoot. Press R or Shift to Reload Press Space to use your Scope.
+
+Dimensions:
+
+620x480
\ No newline at end of file diff --git a/addon/sniper/hotshotsniper.html b/addon/sniper/hotshotsniper.html new file mode 100644 index 000000000..8a39b0b0e --- /dev/null +++ b/addon/sniper/hotshotsniper.html @@ -0,0 +1,15 @@ +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+<title>hotshotsniper</title>
+</head>
+<body bgcolor="#000000">
+<!--url's used in the movie-->
+<!--text used in the movie-->
+<!-- saved from url=(0013)about:internet -->
+<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="620" height="480" id="hotshotsniper" align="middle">
+<param name="allowScriptAccess" value="sameDomain" />
+<param name="movie" value="hotshotsniper.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#000000" /><embed src="hotshotsniper.swf" quality="high" bgcolor="#000000" width="620" height="480" name="hotshotsniper" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
+</object>
+</body>
+</html>
diff --git a/addon/sniper/hotshotsniper.swf b/addon/sniper/hotshotsniper.swf Binary files differnew file mode 100644 index 000000000..b03284a69 --- /dev/null +++ b/addon/sniper/hotshotsniper.swf diff --git a/addon/sniper/sniper.php b/addon/sniper/sniper.php new file mode 100644 index 000000000..79d7daad2 --- /dev/null +++ b/addon/sniper/sniper.php @@ -0,0 +1,31 @@ +<?php + +function sniper_install() { + register_hook('app_menu', 'addon/sniper/sniper.php', 'sniper_app_menu'); +} + +function sniper_uninstall() { + unregister_hook('app_menu', 'addon/sniper/sniper.php', 'sniper_app_menu'); + +} + +function sniper_app_menu($a,&$b) { + $b['app_menu'] .= '<div class="app-title"><a href="sniper">Hot Shot Sniper</a></div>'; +} + + +function sniper_module() {} + +function sniper_content(&$a) { + +$baseurl = $a->get_baseurl() . '/addon/sniper'; + +$o .= <<< EOT +<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="620" height="480" id="hotshotsniper" align="middle"> +<param name="allowScriptAccess" value="sameDomain" /> +<param name="movie" value="$baseurl/hotshotsniper.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#000000" /><embed src="$baseurl/hotshotsniper.swf" quality="high" bgcolor="#000000" width="620" height="480" name="hotshotsniper" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /> +</object> +EOT; + +return $o; +}
\ No newline at end of file @@ -4,7 +4,7 @@ set_time_limit(0); ini_set('pcre.backtrack_limit', 250000); -define ( 'FRIENDIKA_VERSION', '2.2.1007' ); +define ( 'FRIENDIKA_VERSION', '2.2.1010' ); define ( 'DFRN_PROTOCOL_VERSION', '2.21' ); define ( 'DB_UPDATE_VERSION', 1063 ); diff --git a/images/icons.png b/images/icons.png Binary files differindex 9bf6cf627..4c4c00b8a 100644 --- a/images/icons.png +++ b/images/icons.png diff --git a/include/event.php b/include/event.php index 86a822080..2cfc52408 100644 --- a/include/event.php +++ b/include/event.php @@ -177,4 +177,158 @@ function ev_compare($a,$b) { $date_b = (($b['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$b['start']) : $b['start']); return strcmp($date_a,$date_b); -}
\ No newline at end of file +} + + + +function event_store($arr) { + + require_once('include/datetime.php'); + require_once('include/items.php'); + require_once('include/bbcode.php'); + + $a = get_app(); + + $arr['created'] = (($arr['created']) ? $arr['created'] : datetime_convert()); + $arr['edited'] = (($arr['edited']) ? $arr['edited'] : datetime_convert()); + $arr['type'] = (($arr['type']) ? $arr['type'] : 'event' ); + $arr['cid'] = ((intval($arr['cid'])) ? intval($arr['cid']) : 0); + $arr['uri'] = (x($arr,'uri') ? $arr['uri'] : item_new_uri($a->get_hostname(),$arr['uid'])); + + if($arr['cid']) + $c = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1", + intval($arr['cid']), + intval($arr['uid']) + ); + else + $c = q("SELECT * FROM `contact` WHERE `self` = 1 AND `uid` = %d LIMIT 1", + intval($arr['uid']) + ); + + if(count($c)) + $contact = $c[0]; + + + if($arr['id']) { + $r = q("UPDATE `event` SET + `edited` = '%s', + `start` = '%s', + `finish` = '%s', + `desc` = '%s', + `location` = '%s', + `type` = '%s', + `adjust` = %d, + `nofinish` = %d, + `allow_cid` = '%s', + `allow_gid` = '%s', + `deny_cid` = '%s', + `deny_gid` = '%s' + WHERE `id` = %d AND `uid` = %d LIMIT 1", + + dbesc($arr['edited']), + dbesc($arr['start']), + dbesc($arr['finish']), + dbesc($arr['desc']), + dbesc($arr['location']), + dbesc($arr['type']), + intval($arr['adjust']), + intval($arr['nofinish']), + dbesc($arr['allow_cid']), + dbesc($arr['allow_gid']), + dbesc($arr['deny_cid']), + dbesc($arr['deny_gid']), + intval($arr['id']), + intval($arr['uid']) + ); + $r = q("SELECT * FROM `item` WHERE `event-id` = %d AND `uid` = %d LIMIT 1", + intval($arr['id']), + intval($arr['uid']) + ); + if(count($r)) + return $r[0]['id']; + else + return 0; + } + else { + + $r = q("INSERT INTO `event` ( `uid`,`cid`,`uri`,`created`,`edited`,`start`,`finish`,`desc`,`location`,`type`, + `adjust`,`nofinish`,`allow_cid`,`allow_gid`,`deny_cid`,`deny_gid`) + VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', '%s', '%s', '%s' ) ", + intval($arr['uid']), + intval($arr['cid']), + dbesc($arr['uri']), + dbesc($arr['created']), + dbesc($arr['edited']), + dbesc($arr['start']), + dbesc($arr['finish']), + dbesc($arr['desc']), + dbesc($arr['location']), + dbesc($arr['type']), + intval($arr['adjust']), + intval($arr['nofinish']), + dbesc($arr['allow_cid']), + dbesc($arr['allow_gid']), + dbesc($arr['deny_cid']), + dbesc($arr['deny_gid']) + + ); + + $r = q("SELECT * FROM `event` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1", + dbesc($uri), + intval($arr['uid']) + ); + if(count($r)) + $event = $r[0]; + + $item_arr = array(); + + $item_arr['uid'] = $arr['uid']; + $item_arr['contact-id'] = $arr['cid']; + $item_arr['uri'] = $uri; + $item_arr['parent-uri'] = $uri; + $item_arr['type'] = 'activity'; + $item_arr['wall'] = 1; + $item_arr['contact-id'] = $contact['id']; + $item_arr['owner-name'] = $contact['name']; + $item_arr['owner-link'] = $contact['url']; + $item_arr['owner-avatar'] = $contact['thumb']; + $item_arr['author-name'] = $contact['name']; + $item_arr['author-link'] = $contact['url']; + $item_arr['author-avatar'] = $contact['thumb']; + $item_arr['title'] = ''; + $item_arr['allow_cid'] = $str_contact_allow; + $item_arr['allow_gid'] = $str_group_allow; + $item_arr['deny_cid'] = $str_contact_deny; + $item_arr['deny_gid'] = $str_group_deny; + $item_arr['last-child'] = 1; + $item_arr['visible'] = 1; + $item_arr['verb'] = ACTIVITY_POST; + $item_arr['object-type'] = ACTIVITY_OBJ_EVENT; + + $item_arr['body'] = format_event_bbcode($event); + + + $item_arr['object'] = '<object><type>' . xmlify(ACTIVITY_OBJ_EVENT) . '</type><title></title><id>' . xmlify($uri) . '</id>'; + $item_arr['object'] .= '<content>' . xmlify(format_event_bbcode($event)) . '</content>'; + $item_arr['object'] .= '</object>' . "\n"; + + $item_id = item_store($item_arr); + + $r = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1", + intval($arr['uid']) + ); + if(count($r)) + $plink = $a->get_baseurl() . '/display/' . $r[0]['nickname'] . '/' . $item_id; + + + if($item_id) { + q("UPDATE `item` SET `plink` = '%s', `event-id` = %d WHERE `uid` = %d AND `id` = %d LIMIT 1", + dbesc($plink), + intval($event['id']), + intval($arr['uid']), + intval($item_id) + ); + } + return $item_id; + } +} diff --git a/include/items.php b/include/items.php index db500fda2..dc177c468 100644 --- a/include/items.php +++ b/include/items.php @@ -1337,14 +1337,22 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $secure_fee if((x($datarray,'object-type')) && ($datarray['object-type'] === ACTIVITY_OBJ_EVENT)) { $ev = bbtoevent($datarray['body']); if(x($ev,'desc') && x($ev,'start')) { + $ev['uid'] = $importer['uid']; + $ev['uri'] = $item_id; + + if(is_array($contact)) + $ev['cid'] = $contact['id']; $r = q("SELECT * FROM `event` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1", dbesc($item_id), intval($importer['uid']) ); - // import/update event - + if(count($r)) + $ev['id'] = $r[0]['id']; + $xyz = event_store($ev); + continue; } } + $r = q("SELECT `uid`, `last-child`, `edited`, `body` FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1", dbesc($item_id), intval($importer['uid']) diff --git a/include/nav.php b/include/nav.php index 66fdbc49b..b37863aa1 100644 --- a/include/nav.php +++ b/include/nav.php @@ -64,8 +64,8 @@ function nav(&$a) { $nav['help'] = array($help_url, t('Help'), ""); - - $nav['apps'] = array('apps', t('Apps'), ""); + if($a->apps) + $nav['apps'] = array('apps', t('Apps'), ""); $nav['search'] = array('search', t('Search'), ""); diff --git a/include/notifier.php b/include/notifier.php index cb4dfe025..5de6eafd1 100644 --- a/include/notifier.php +++ b/include/notifier.php @@ -512,6 +512,8 @@ function notifier_run($argv, $argc){ if((count($r)) && (($max_allowed == 0) || (count($r) < $max_allowed))) { + logger('pubdeliver: ' . print_r($r,true)); + foreach($r as $rr) { /* Don't deliver to folks who have already been delivered to */ diff --git a/mod/apps.php b/mod/apps.php index f25722df7..7a0a3f59e 100644 --- a/mod/apps.php +++ b/mod/apps.php @@ -5,19 +5,9 @@ function apps_content(&$a) { $o .= '<h3>' . t('Applications') . '</h3>'; - $apps = false; - - if(local_user()) { - $apps = true; - $o .= '<div class="app-title"><a href="notes">' . t('Private Notes') . '</a></div>'; - } - - if($a->apps) { - $apps = true; + if($a->apps) $o .= $a->apps; - } - - if(! $apps) + else notice( t('No installed applications.') . EOL); return $o; diff --git a/mod/dfrn_notify.php b/mod/dfrn_notify.php index 12e7ff7ce..6ca3f9fc2 100644 --- a/mod/dfrn_notify.php +++ b/mod/dfrn_notify.php @@ -2,6 +2,9 @@ require_once('simplepie/simplepie.inc'); require_once('include/items.php'); +require_once('include/event.php'); + + function dfrn_notify_post(&$a) { $dfrn_id = ((x($_POST,'dfrn_id')) ? notags(trim($_POST['dfrn_id'])) : ''); @@ -591,6 +594,24 @@ function dfrn_notify_post(&$a) { $item_id = $item->get_id(); $datarray = get_atom_elements($feed,$item); + if((x($datarray,'object-type')) && ($datarray['object-type'] === ACTIVITY_OBJ_EVENT)) { + $ev = bbtoevent($datarray['body']); + if(x($ev,'desc') && x($ev,'start')) { + $ev['cid'] = $importer['id']; + $ev['uid'] = $importer['uid']; + $ev['uri'] = $item_id; + + $r = q("SELECT * FROM `event` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1", + dbesc($item_id), + intval($importer['uid']) + ); + if(count($r)) + $ev['id'] = $r[0]['id']; + $xyz = event_store($ev); + continue; + } + } + $r = q("SELECT `uid`, `last-child`, `edited`, `body` FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1", dbesc($item_id), intval($importer['importer_uid']) diff --git a/mod/events.php b/mod/events.php index bdc4b8d87..1418a7549 100644 --- a/mod/events.php +++ b/mod/events.php @@ -67,113 +67,28 @@ function events_post(&$a) { $str_group_allow = $str_contact_deny = $str_group_deny = ''; } - if($event_id) { - $r = q("UPDATE `event` SET - `edited` = '%s', - `start` = '%s', - `finish` = '%s', - `desc` = '%s', - `location` = '%s', - `type` = '%s', - `adjust` = %d, - `nofinish` = %d, - `allow_cid` = '%s', - `allow_gid` = '%s', - `deny_cid` = '%s', - `deny_gid` = '%s' - WHERE `id` = %d AND `uid` = %d LIMIT 1", - - dbesc(datetime_convert()), - dbesc($start), - dbesc($finish), - dbesc($desc), - dbesc($location), - dbesc($type), - intval($adjust), - intval($nofinish), - dbesc($str_contact_allow), - dbesc($str_group_allow), - dbesc($str_contact_deny), - dbesc($str_group_deny), - intval($event_id), - intval($local_user()) - ); - - } - else { - - $uri = item_new_uri($a->get_hostname(),local_user()); - - $r = q("INSERT INTO `event` ( `uid`,`uri`,`created`,`edited`,`start`,`finish`,`desc`,`location`,`type`, - `adjust`,`nofinish`,`allow_cid`,`allow_gid`,`deny_cid`,`deny_gid`) - VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', '%s', '%s', '%s' ) ", - intval(local_user()), - dbesc($uri), - dbesc(datetime_convert()), - dbesc(datetime_convert()), - dbesc($start), - dbesc($finish), - dbesc($desc), - dbesc($location), - dbesc($type), - intval($adjust), - intval($nofinish), - dbesc($str_contact_allow), - dbesc($str_group_allow), - dbesc($str_contact_deny), - dbesc($str_group_deny) - ); + $datarray = array(); + $datarray['start'] = $start; + $datarray['finish'] = $finish; + $datarray['desc'] = $desc; + $datarray['location'] = $location; + $datarray['type'] = $type; + $datarray['adjust'] = $adjust; + $datarray['nofinish'] = $nofinish; + $datarray['uid'] = $uid; + $datarray['cid'] = 0; + $datarray['allow_cid'] = $str_contact_allow; + $datarray['allow_gid'] = $str_group_allow; + $datarray['deny_cid'] = $str_contact_deny; + $datarray['deny_gid'] = $str_group_deny; + $datarray['id'] = $event_id; + $datarray['created'] = $created; + $datarray['edited'] = $edited; + + $item_id = event_store($datarray); + proc_run('php',"include/notifier.php","event","$item_id"); - $r = q("SELECT * FROM `event` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1", - dbesc($uri), - intval(local_user()) - ); - if(count($r)) - $event = $r[0]; - - $arr = array(); - - $arr['uid'] = local_user(); - $arr['uri'] = $uri; - $arr['parent-uri'] = $uri; - $arr['type'] = 'activity'; - $arr['wall'] = 1; - $arr['contact-id'] = $a->contact['id']; - $arr['owner-name'] = $a->contact['name']; - $arr['owner-link'] = $a->contact['url']; - $arr['owner-avatar'] = $a->contact['thumb']; - $arr['author-name'] = $a->contact['name']; - $arr['author-link'] = $a->contact['url']; - $arr['author-avatar'] = $a->contact['thumb']; - $arr['title'] = ''; - $arr['allow_cid'] = $str_contact_allow; - $arr['allow_gid'] = $str_group_allow; - $arr['deny_cid'] = $str_contact_deny; - $arr['deny_gid'] = $str_group_deny; - $arr['last-child'] = 1; - $arr['visible'] = 1; - $arr['verb'] = ACTIVITY_POST; - $arr['object-type'] = ACTIVITY_OBJ_EVENT; - - $arr['body'] = format_event_bbcode($event); - - - $arr['object'] = '<object><type>' . xmlify(ACTIVITY_OBJ_EVENT) . '</type><title></title><id>' . xmlify($uri) . '</id>'; - $arr['object'] .= '<content>' . xmlify(format_event_bbcode($event)) . '</content>'; - $arr['object'] .= '</object>' . "\n"; - - $item_id = item_store($arr); - if($item_id) { - q("UPDATE `item` SET `plink` = '%s', `event-id` = %d WHERE `uid` = %d AND `id` = %d LIMIT 1", - dbesc($a->get_baseurl() . '/display/' . $owner_record['nickname'] . '/' . $item_id), - intval($event['id']), - intval(local_user()), - intval($item_id) - ); - proc_run('php',"include/notifier.php","tag","$item_id"); - } - } } @@ -215,6 +130,14 @@ function events_content(&$a) { if(! $m) $m = intval($thismonth); + // Put some limits on dates. The PHP date functions don't seem to do so well before 1900. + // An upper limit was chosen to keep search engines from exploring links endlessly. + + if($y < 1901) + $y = 1900; + if($y > 2099) + $y = 2100; + $nextyear = $y; $nextmonth = $m + 1; if($nextmonth > 12) { @@ -229,11 +152,18 @@ function events_content(&$a) { $prevmonth = 12; $prevyear --; } + $o .= '<div id="new-event-link"><a href="' . $a->get_baseurl() . '/events/new' . '" >' . t('Create New Event') . '</a></div>'; - $o .= '<a href="' . $a->get_baseurl() . '/events/' . $prevyear . '/' . $prevmonth . '" class="prevcal">' . t('<< Previous') . '</a> | <a href="' . $a->get_baseurl() . '/events/' . $nextyear . '/' . $nextmonth . '" class="nextcal">' . t('Next >>') . '</a>'; + $o .= '<div id="event-calendar-wrapper">'; + + $o .= '<a href="' . $a->get_baseurl() . '/events/' . $prevyear . '/' . $prevmonth . '" class="prevcal"><div id="event-calendar-prev" class="icon prev" title="' . t('Previous') . '"></div></a>'; $o .= cal($y,$m,false, ' eventcal'); + $o .= '<a href="' . $a->get_baseurl() . '/events/' . $nextyear . '/' . $nextmonth . '" class="nextcal"><div id="event-calendar-next" class="icon next" title="' . t('Next') . '"></div></a>'; + $o .= '</div>'; + $o .= '<div class="event-calendar-end"></div>'; + $dim = get_dim($y,$m); $start = sprintf('%d-%d-%d %d:%d:%d',$y,$m,1,0,0,0); $finish = sprintf('%d-%d-%d %d:%d:%d',$y,$m,$dim,23,59,59); @@ -245,7 +175,8 @@ function events_content(&$a) { $adjust_finish = datetime_convert('UTC', date_default_timezone_get(), $finish); - $r = q("SELECT * FROM `event` WHERE `uid` = %d + $r = q("SELECT `event`.*, `item`.`id` AS `itemid`,`item`.`plink` FROM `event` LEFT JOIN `item` ON `item`.`event-id` = `event`.`id` + WHERE `event`.`uid` = %d AND (( `adjust` = 0 AND `start` >= '%s' AND `finish` <= '%s' ) OR ( `adjust` = 1 AND `start` >= '%s' AND `finish` <= '%s' )) ", intval(local_user()), @@ -269,6 +200,8 @@ function events_content(&$a) { $o .= '<hr /><div class="event-list-date">' . $d . '</div>'; $last_date = $d; $o .= format_event_html($rr); + if($rr['plink']) + $o .= get_plink($rr) . '<br />'; } } return $o; diff --git a/mod/notes.php b/mod/notes.php index 7a826bf61..0f980ff67 100644 --- a/mod/notes.php +++ b/mod/notes.php @@ -38,7 +38,7 @@ function notes_content(&$a) { $is_owner = true; - $o .= '<h3>' . t('Private Notes') . '</h3>'; + $o .= '<h3>' . t('Personal Notes') . '</h3>'; $commpage = false; $commvisitor = false; diff --git a/mod/photos.php b/mod/photos.php index 18fff703e..717800364 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -1041,7 +1041,7 @@ function photos_content(&$a) { } if($prevlink) - $prevlink = array($prevlink, t('<< Prev')) ; + $prevlink = array($prevlink, '<div class="icon prev"></div>') ; $photo = array( 'href' => $a->get_baseurl() . '/photo/' . $hires['resource-id'] . '-' . $hires['scale'] . '.jpg', @@ -1050,7 +1050,7 @@ function photos_content(&$a) { ); if($nextlink) - $nextlink = array($nextlink, t('Next >>')); + $nextlink = array($nextlink, '<div class="icon next"></div>'); // Do we have an item for this photo? diff --git a/mod/profile.php b/mod/profile.php index 7dfdb49de..aeb21f077 100644 --- a/mod/profile.php +++ b/mod/profile.php @@ -115,7 +115,9 @@ function profile_content(&$a, $update = 0) { '$phototab' => $a->get_baseurl() . '/photos/' . $a->profile['nickname'], '$status' => t('Status'), '$profile' => t('Profile'), - '$photos' => t('Photos') + '$photos' => t('Photos'), + '$events' => (($is_owner) ? '<a href="events" id="profile-tab-events-link" class="profile-tabs" >' . t('Events') . '</a>' : ''), + '$notes' => (($is_owner) ? '<a href="notes" id="profile-tab-notes-link" class="profile-tabs" >' . t('Personal Notes') . '</a>' : '') )); diff --git a/mod/pubsub.php b/mod/pubsub.php index f829eb4d9..edb0a7fe1 100644 --- a/mod/pubsub.php +++ b/mod/pubsub.php @@ -91,10 +91,10 @@ function pubsub_post(&$a) { logger('pubsub: user-agent: ' . $_SERVER['HTTP_USER_AGENT'] ); logger('pubsub: data: ' . $xml, LOGGER_DATA); - if(! stristr($xml,'<?xml')) { - logger('pubsub_post: bad xml'); - hub_post_return(); - } +// if(! stristr($xml,'<?xml')) { +// logger('pubsub_post: bad xml'); +// hub_post_return(); +// } $nick = (($a->argc > 1) ? notags(trim($a->argv[1])) : ''); $contact_id = (($a->argc > 2) ? intval($a->argv[2]) : 0 ); diff --git a/view/profile_tabs.tpl b/view/profile_tabs.tpl index 975d069a6..3628ff5ff 100644 --- a/view/profile_tabs.tpl +++ b/view/profile_tabs.tpl @@ -3,5 +3,7 @@ <a href="$url" id="profile-tab-status-link" class="profile-tabs" >$status</a> <a href="$url?tab=profile" id="profile-tab-profile-link" class="profile-tabs" >$profile</a> <a href="$phototab" id="profile-tab-photos-link" class="profile-tabs" >$photos</a> + $events + $notes <div id="profile-tabs-end"></div> </div>
\ No newline at end of file diff --git a/view/theme/duepuntozero/style.css b/view/theme/duepuntozero/style.css index 892814804..9555a1e96 100644 --- a/view/theme/duepuntozero/style.css +++ b/view/theme/duepuntozero/style.css @@ -2224,7 +2224,8 @@ a.mail-list-link { } .eventcal { - font-size: 24px; + float: left; + font-size: 20px; } #new-event-link { @@ -2245,6 +2246,17 @@ a.mail-list-link { .event-start .dtstart, .event-end .dtend { float: right; } + +.prevcal, .nextcal { + float: left; + margin-left: 32px; + margin-right: 32px; + margin-top: 64px; +} +.event-calendar-end { + clear: both; +} + .calendar { font-family: Courier, monospace; @@ -2454,6 +2466,8 @@ a.mail-list-link { } + + #lang-select-icon { cursor: pointer; position: absolute; @@ -2505,6 +2519,8 @@ a.mail-list-link { .youtube { background-position: -64px -32px;} .attach { background-position: -80px -32px; } .language { background-position: -96px -32px; } +.prev { background-position: -112px -32px; } +.next { background-position: -128px -32px; } .attachtype { diff --git a/view/theme/loozah/style.css b/view/theme/loozah/style.css index 0edde248e..a566acadc 100644 --- a/view/theme/loozah/style.css +++ b/view/theme/loozah/style.css @@ -2423,6 +2423,48 @@ a.mail-list-link { color: #FF0000; } +.eventcal { + float: left; + font-size: 20px; +} + +#new-event-link { + margin-bottom: 10px; +} + +.event-description:before { + content: url('../../../images/calendar.png'); + margin-right: 15px; +} + +.event-start, .event-end { + margin-left: 10px; + width: 330px; + clear: both; +} + +.event-start .dtstart, .event-end .dtend { + float: right; +} + +.prevcal, .nextcal { + float: left; + margin-left: 32px; + margin-right: 32px; + margin-top: 64px; +} +.event-calendar-end { + clear: both; +} + +.calendar { + font-family: Courier, monospace; +} +.today { + color: #FF0000; +} + + #event-start-text, #event-finish-text { margin-top: 10px; margin-bottom: 5px; @@ -2491,6 +2533,8 @@ a.mail-list-link { .youtube { background-position: -64px -32px;} .attach { background-position: -80px -32px; } .language { background-position: -96px -32px; } +.prev { background-position: -112px -32px; } +.next { background-position: -128px -32px; } .attachtype { display: block; width: 20px; height: 23px; |