Browse Source

more calendar work, undo strict_privacy flag to use different approach

tags/2.3beta1
Friendika 9 years ago
parent
commit
df8ac668b8
10 changed files with 119 additions and 51 deletions
  1. +3
    -15
      boot.php
  2. +1
    -0
      database.sql
  3. BIN
      images/calendar.png
  4. +90
    -16
      include/event.php
  5. +1
    -6
      include/notifier.php
  6. +3
    -5
      mod/dfrn_request.php
  7. +0
    -3
      mod/follow.php
  8. +0
    -5
      mod/salmon.php
  9. +6
    -1
      update.php
  10. +15
    -0
      view/theme/duepuntozero/style.css

+ 3
- 15
boot.php View File

@@ -4,9 +4,9 @@ set_time_limit(0);
ini_set('pcre.backtrack_limit', 250000);


define ( 'FRIENDIKA_VERSION', '2.2.1004' );
define ( 'FRIENDIKA_VERSION', '2.2.1005' );
define ( 'DFRN_PROTOCOL_VERSION', '2.21' );
define ( 'DB_UPDATE_VERSION', 1062 );
define ( 'DB_UPDATE_VERSION', 1063 );

define ( 'EOL', "<br />\r\n" );
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
@@ -527,20 +527,8 @@ function check_config(&$a) {
$plugins = get_config('system','addon');
$plugins_arr = array();

if($plugins) {
if($plugins)
$plugins_arr = explode(',',str_replace(' ', '',$plugins));
if(get_config('system','strict_privacy')) {
unset($a->config['system']['huburl']);
for($x = 0; $x < count($plugins_arr); $x ++) {
if( $plugins_arr[$x] === 'facebook'
|| $plugins_arr[$x] === 'twitter'
|| $plugins_arr[$x] === 'statusnet') {
unset($plugins_arr[$x]);
}
}
}
}


$a->plugins = $plugins_arr;



+ 1
- 0
database.sql View File

@@ -389,6 +389,7 @@ CREATE TABLE IF NOT EXISTS `user` (
`blockwall` tinyint(1) unsigned NOT NULL DEFAULT '0',
`notify-flags` int(11) unsigned NOT NULL DEFAULT '65535',
`page-flags` int(11) unsigned NOT NULL DEFAULT '0',
`prvnets` tinyint(1) NOT NULL DEFAULT '0',
`pwdreset` char(255) NOT NULL,
`maxreq` int(11) NOT NULL DEFAULT '10',
`expire` int(11) unsigned NOT NULL DEFAULT '0',


BIN
images/calendar.png View File

Before After
Width: 16  |  Height: 16  |  Size: 853 B

+ 90
- 16
include/event.php View File

@@ -1,47 +1,121 @@
<?php


function format_event_html($ev) {
function format_event_html($ev,$pre = '') {

require_once('include/bbcode.php');

if(! ((is_array($ev)) && count($ev)))
return '';

$bd_format = t('l F d, Y \@ g A') ; // Friday January 18, 2011 @ 8 AM

$o = '<div class="vevent">';

$o .= '<p class="description">' . bbcode($ev['desc']) . '</p>';
$o .= '<p class="description event-description">' . bbcode($ev['desc']) . '</p>';

$o .= '<p>' . t('Starts:') . ' <abbr class="dtstart" title="'
. datetime_convert('UTC','UTC',$ev['start'], $ev['adjust'] ? ATOM_TIME : 'Y-m-d\TH:i:s' )
$o .= '<p class="event-start">' . t('Starts:') . ' <abbr class="dtstart" title="'
. datetime_convert('UTC','UTC',$ev['start'], (($ev['adjust']) ? ATOM_TIME : 'Y-m-d\TH:i:s' ))
. '" >'
. (($ev['adjust']) ? datetime_convert('UTC', date_default_timezone_get(),
$ev['start'] /*, format */ )
: datetime_convert('UTC', 'UTC',
$ev['start'] /*, format */ ))
. (($ev['adjust']) ? day_translate(datetime_convert('UTC', date_default_timezone_get(),
$ev['start'] , $bd_format ))
: day_translate(datetime_convert('UTC', 'UTC',
$ev['start'] , $bd_format)))
. '</abbr></p>';

if(! $ev['nofinish'])
$o .= '<p>' . t('Finishes:') . ' <abbr class="dtend" title="'
. datetime_convert('UTC','UTC',$ev['finish'], $ev['adjust'] ? ATOM_TIME : 'Y-m-d\TH:i:s' )
$o .= '<p class="event-end" >' . t('Finishes:') . ' <abbr class="dtend" title="'
. datetime_convert('UTC','UTC',$ev['finish'], (($ev['adjust']) ? ATOM_TIME : 'Y-m-d\TH:i:s' ))
. '" >'
. (($ev['adjust']) ? datetime_convert('UTC', date_default_timezone_get(),
$ev['finish'] /*, format */ )
: datetime_convert('UTC', 'UTC',
$ev['finish'] /*, format */ ))
. (($ev['adjust']) ? day_translate(datetime_convert('UTC', date_default_timezone_get(),
$ev['finish'] , $bd_format ))
: day_translate(datetime_convert('UTC', 'UTC',
$ev['finish'] , $bd_format )))
. '</abbr></p>';

if(strlen($ev['location']))
$o .= '<p> ' . t('Location:') . '<span class="location">'
$o .= '<p class="event-location"> ' . t('Location:') . '<span class="location">'
. bbcode($ev['location'])
. '</span></p>';

$o .= '</div>';

return $o;
}


function parse_event($h) {

require_once('include/Scrape.php');
require_once('library/HTMLPurifier.auto.php');
require_once('include/html2bbcode');

$h = '<html><body>' . $h . '</body></html>';

$ret = array();

$dom = HTML5_Parser::parse($h);

if(! $dom)
return $ret;

$items = $dom->getElementsByTagName('*');

foreach($items as $item) {
if(attribute_contains($item->getAttribute('class'), 'vevent')) {
$level2 = $item->getElementsByTagName('*');
foreach($level2 as $x) {
if(attribute_contains($x->getAttribute('class'),'dtstart') && $x->getAttribute('title')) {
$ret['start'] = $x->getAttribute('title');
if(! strpos($ret['start'],'Z'))
$ret['adjust'] = true;
}
if(attribute_contains($x->getAttribute('class'),'dtend') && $x->getAttribute('title'))
$ret['finish'] = $x->getAttribute('title');

if(attribute_contains($x->getAttribute('class'),'description'))
$ret['desc'] = $x->textContent;
if(attribute_contains($x->getAttribute('class'),'location'))
$ret['location'] = $x->textContent;
}
}
}

// sanitise

if((x($ret,'desc')) && ((strpos($ret['desc'],'<') !== false) || (strpos($ret['desc'],'>') !== false))) {
$config = HTMLPurifier_Config::createDefault();
$config->set('Cache.DefinitionImpl', null);
$purifier = new HTMLPurifier($config);
$ret['desc'] = html2bbcode($purifier->purify($ret['desc']));
}

if((x($ret,'location')) && ((strpos($ret['location'],'<') !== false) || (strpos($ret['location'],'>') !== false))) {
$config = HTMLPurifier_Config::createDefault();
$config->set('Cache.DefinitionImpl', null);
$purifier = new HTMLPurifier($config);
$ret['location'] = html2bbcode($purifier->purify($ret['location']));
}

if(x($ret,'start'))
$ret['start'] = datetime_convert('UTC','UTC',$ret['start']);
if(x($ret,'finish'))
$ret['finish'] = datetime_convert('UTC','UTC',$ret['finish']);

return $ret;
}














function sort_by_date($a) {



+ 1
- 6
include/notifier.php View File

@@ -27,8 +27,6 @@ function notifier_run($argv, $argc){

$a->set_baseurl(get_config('system','url'));

$prv = get_config('system','strict_privacy');

logger('notifier: invoked: ' . print_r($argv,true));

$cmd = $argv[1];
@@ -332,9 +330,6 @@ function notifier_run($argv, $argc){
break;
case 'stat':

if($prv)
break;

if($followup && $contact['notify']) {
logger('notifier: slapdelivery: ' . $contact['name']);
$deliver_status = slapper($owner,$contact['notify'],$slap);
@@ -465,7 +460,7 @@ function notifier_run($argv, $argc){

if($slap && count($url_recipients) && $followup && $notify_hub && (! $expire)) {
foreach($url_recipients as $url) {
if($url && (! $prv)) {
if($url) {
logger('notifier: urldelivery: ' . $url);
$deliver_status = slapper($owner,$url,$slap);
// TODO: redeliver/queue these items on failure, though there is no contact record


+ 3
- 5
mod/dfrn_request.php View File

@@ -626,11 +626,9 @@ function dfrn_request_content(&$a) {
else
$tpl = get_markup_template('auto_request.tpl');

$prv = get_config('system','strict_privacy');

$o .= replace_macros($tpl,array(
'$header' => t('Friend/Connection Request'),
'$desc' => t('Examples: jojo@demo.friendika.com, http://demo.friendika.com/profile/jojo') . (($prv) ? ', testuser@identi.ca' : ''),
'$desc' => t('Examples: jojo@demo.friendika.com, http://demo.friendika.com/profile/jojo, testuser@identi.ca'),
'$pls_answer' => t('Please answer the following:'),
'$does_know' => sprintf( t('Does %s know you?'),$a->profile['name']),
'$yes' => t('Yes'),
@@ -638,9 +636,9 @@ function dfrn_request_content(&$a) {
'$add_note' => t('Add a personal note:'),
'$page_desc' => t("Please enter your 'Identity Address' from one of the following supported social networks:"),
'$friendika' => t('Friendika'),
'$statusnet' => (($prv) ? t('StatusNet/Federated Social Web') : ''),
'$statusnet' => t('StatusNet/Federated Social Web'),
'$private_net' => t("Private \x28secure\x29 network"),
'$public_net' => (($prv) ? t("Public \x28insecure\x29 network") : ''),
'$public_net' => t("Public \x28insecure\x29 network"),
'$your_address' => t('Your Identity Address:'),
'$submit' => t('Submit Request'),
'$cancel' => t('Cancel'),


+ 0
- 3
mod/follow.php View File

@@ -34,9 +34,6 @@ function follow_post(&$a) {
// NOTREACHED
}
elseif(get_config('system','strict_privacy')) {
unset($ret['notify']);
}

// do we have enough information?


+ 0
- 5
mod/salmon.php View File

@@ -192,11 +192,6 @@ function salmon_post(&$a) {
// NOTREACHED
}

// Check if we're allowed to talk to insecure networks

if(get_config('system','strict_privacy'))
salmon_return(400);

require_once('include/items.php');

// Placeholder for hub discovery. We shouldn't find any hubs


+ 6
- 1
update.php View File

@@ -1,6 +1,6 @@
<?php

define( 'UPDATE_VERSION' , 1062 );
define( 'UPDATE_VERSION' , 1063 );

/**
*
@@ -513,3 +513,8 @@ function update_1060() {
function update_1061() {
q("ALTER TABLE `event` ADD `nofinish` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `type` ");
}

function update_1062() {
q("ALTER TABLE `user` ADD `prvnets` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `page-flags` ");
}


+ 15
- 0
view/theme/duepuntozero/style.css View File

@@ -2227,6 +2227,21 @@ a.mail-list-link {
font-size: 24px;
}

.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;
}
.calendar {
font-family: Courier, monospace;
}


Loading…
Cancel
Save