icon changes, feed security improvements
After Width: | Height: | Size: 8.2 KiB |
After Width: | Height: | Size: 6.9 KiB |
After Width: | Height: | Size: 659 B |
After Width: | Height: | Size: 699 B |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 3.1 KiB |
|
@ -0,0 +1,240 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="96"
|
||||||
|
height="96"
|
||||||
|
id="svg2"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.48.0 r9654"
|
||||||
|
sodipodi:docname="friendika.svg"
|
||||||
|
inkscape:export-filename="/home/meta/Documents/My random images/friendika.png"
|
||||||
|
inkscape:export-xdpi="80.552788"
|
||||||
|
inkscape:export-ydpi="80.552788">
|
||||||
|
<defs
|
||||||
|
id="defs4">
|
||||||
|
<linearGradient
|
||||||
|
id="highlightgradient">
|
||||||
|
<stop
|
||||||
|
id="stop3833"
|
||||||
|
offset="0"
|
||||||
|
style="stop-color:#ffffff;stop-opacity:0.74374998;" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:0;"
|
||||||
|
offset="1"
|
||||||
|
id="stop3829" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="shadowgradient">
|
||||||
|
<stop
|
||||||
|
id="stop3833-5"
|
||||||
|
offset="0"
|
||||||
|
style="stop-color:#000000;stop-opacity:0.5;" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#818080;stop-opacity:0;"
|
||||||
|
offset="1"
|
||||||
|
id="stop3829-9" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#highlightgradient"
|
||||||
|
id="linearGradient4011"
|
||||||
|
x1="44.948269"
|
||||||
|
y1="0"
|
||||||
|
x2="54.103466"
|
||||||
|
y2="46.797421"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
gradientTransform="scale(1,0.54545455)" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#shadowgradient"
|
||||||
|
id="linearGradient4021"
|
||||||
|
x1="52.016712"
|
||||||
|
y1="96"
|
||||||
|
x2="42.867535"
|
||||||
|
y2="41.837971"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
gradientTransform="matrix(1,0,0,0.5,0,48)" />
|
||||||
|
<filter
|
||||||
|
inkscape:collect="always"
|
||||||
|
id="filter4055"
|
||||||
|
x="-0.03"
|
||||||
|
width="1.06"
|
||||||
|
y="-0.12"
|
||||||
|
height="1.24">
|
||||||
|
<feGaussianBlur
|
||||||
|
inkscape:collect="always"
|
||||||
|
stdDeviation="1.2"
|
||||||
|
id="feGaussianBlur4057" />
|
||||||
|
</filter>
|
||||||
|
<filter
|
||||||
|
inkscape:collect="always"
|
||||||
|
id="filter4059"
|
||||||
|
x="-0.029877551"
|
||||||
|
width="1.0597551"
|
||||||
|
y="-0.122"
|
||||||
|
height="1.244">
|
||||||
|
<feGaussianBlur
|
||||||
|
inkscape:collect="always"
|
||||||
|
stdDeviation="1.22"
|
||||||
|
id="feGaussianBlur4061" />
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="2.9132799"
|
||||||
|
inkscape:cx="53.033009"
|
||||||
|
inkscape:cy="2.8284271"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="true"
|
||||||
|
width="256px"
|
||||||
|
inkscape:snap-global="true"
|
||||||
|
inkscape:window-width="1680"
|
||||||
|
inkscape:window-height="1010"
|
||||||
|
inkscape:window-x="194"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="0">
|
||||||
|
<inkscape:grid
|
||||||
|
type="xygrid"
|
||||||
|
id="grid2985"
|
||||||
|
empspacing="3"
|
||||||
|
visible="true"
|
||||||
|
enabled="true"
|
||||||
|
snapvisiblegridlinesonly="true"
|
||||||
|
spacingx="2px"
|
||||||
|
spacingy="2px" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<metadata
|
||||||
|
id="metadata7">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Colors"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(0,-956.3622)"
|
||||||
|
style="display:inline">
|
||||||
|
<path
|
||||||
|
style="fill:#ffc019;fill-opacity:1;stroke:none"
|
||||||
|
d="M 16,0 C 7.0091019,0.04308252 0,7.0521845 0,16 0,16 0,57.499123 0,80 0,89.120146 7.0091019,96 16,96 L 32,96 32,70 64,70 63.916016,46.068359 32,46.236328 32,26 64,26 64,0 C 64,0 24,0 16,0 z"
|
||||||
|
transform="translate(0,956.3622)"
|
||||||
|
id="rect2993"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cccsccccccccc" />
|
||||||
|
<path
|
||||||
|
style="fill:#1872a2;fill-opacity:1;stroke:none"
|
||||||
|
d="m 80,1052.3622 c 8.990898,0 16.086165,-6.966 16,-16 0,0 0,-41.4991 0,-64 0.07767,-9.01639 -7.067354,-16 -16,-16 l -16,0 0,26 -32,0 0,22 32,0 0,22 -32,0 0,26 c 0,0 32,0 48,0 z"
|
||||||
|
id="rect2993-6"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cccsccccccccc" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
style="display:inline"
|
||||||
|
inkscape:label="Lines as original logo"
|
||||||
|
id="g3997"
|
||||||
|
inkscape:groupmode="layer">
|
||||||
|
<path
|
||||||
|
sodipodi:nodetypes="cccccccc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path3999"
|
||||||
|
d="m 64,0 0,26 -32,0 0,22 m 32,0 0,22 -32,0 0,26"
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
<rect
|
||||||
|
ry="16"
|
||||||
|
rx="16"
|
||||||
|
y="0"
|
||||||
|
x="0"
|
||||||
|
height="96"
|
||||||
|
width="96"
|
||||||
|
id="rect4001"
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer3"
|
||||||
|
inkscape:label="Lines with center break"
|
||||||
|
style="display:none">
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||||
|
d="m 64,0 0,26 -32,0 0,22 32,0 0,22 -32,0 0,26"
|
||||||
|
id="path3926"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cccccccc" />
|
||||||
|
<rect
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||||
|
id="rect3928"
|
||||||
|
width="96"
|
||||||
|
height="96"
|
||||||
|
x="0"
|
||||||
|
y="0"
|
||||||
|
rx="16"
|
||||||
|
ry="16" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer2"
|
||||||
|
inkscape:label="Effects"
|
||||||
|
style="display:inline">
|
||||||
|
<rect
|
||||||
|
style="fill:url(#linearGradient3930);fill-opacity:1;stroke:none"
|
||||||
|
id="rect3823"
|
||||||
|
width="96"
|
||||||
|
height="48.04369"
|
||||||
|
x="-3.1086245e-15"
|
||||||
|
y="1.8024861e-14"
|
||||||
|
ry="15.215644"
|
||||||
|
rx="15.214664" />
|
||||||
|
<rect
|
||||||
|
style="fill:url(#linearGradient3904);fill-opacity:1;stroke:none"
|
||||||
|
id="rect3823-8"
|
||||||
|
width="96"
|
||||||
|
height="47.86721"
|
||||||
|
x="1.5376101e-14"
|
||||||
|
y="-96"
|
||||||
|
ry="15.159752"
|
||||||
|
rx="15.214664"
|
||||||
|
transform="scale(1,-1)" />
|
||||||
|
<rect
|
||||||
|
style="fill:url(#linearGradient4011);fill-opacity:1;stroke:none;filter:url(#filter4059)"
|
||||||
|
id="rect4003"
|
||||||
|
width="98"
|
||||||
|
height="24"
|
||||||
|
x="0"
|
||||||
|
y="0"
|
||||||
|
rx="15.214664"
|
||||||
|
ry="8.2994423"
|
||||||
|
transform="matrix(1.0296115,0,0,1.1963836,-2.901924,-4.7132067)" />
|
||||||
|
<rect
|
||||||
|
style="opacity:0.56746030000000003;fill:url(#linearGradient4021);fill-opacity:1;stroke:none;filter:url(#filter4055)"
|
||||||
|
id="rect4013"
|
||||||
|
width="96"
|
||||||
|
height="24"
|
||||||
|
x="0"
|
||||||
|
y="72"
|
||||||
|
rx="14.008356"
|
||||||
|
ry="12"
|
||||||
|
transform="matrix(0.9768331,0,0,0.91974646,1.1649641,8.098115)" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 7.2 KiB |
|
@ -124,7 +124,7 @@ function nav(&$a) {
|
||||||
$banner = get_config('system','banner');
|
$banner = get_config('system','banner');
|
||||||
|
|
||||||
if($banner === false)
|
if($banner === false)
|
||||||
$banner .= '<a href="http://friendika.com"><img id="logo-img" src="images/ff-32.jpg" alt="logo" /></a><span id="logo-text"><a href="http://friendika.com">Friendika</a></span>';
|
$banner .= '<a href="http://friendika.com"><img id="logo-img" src="images/friendika-32.png" alt="logo" /></a><span id="logo-text"><a href="http://friendika.com">Friendika</a></span>';
|
||||||
|
|
||||||
|
|
||||||
$a->page['nav'] .= '<span id="banner">' . $banner . '</span>';
|
$a->page['nav'] .= '<span id="banner">' . $banner . '</span>';
|
||||||
|
|
|
@ -2,18 +2,18 @@
|
||||||
require_once("boot.php");
|
require_once("boot.php");
|
||||||
|
|
||||||
function poller_run($argv, $argc){
|
function poller_run($argv, $argc){
|
||||||
global $a, $db;
|
global $a, $db;
|
||||||
|
|
||||||
if(is_null($a)){
|
if(is_null($a)) {
|
||||||
$a = new App;
|
$a = new App;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(is_null($db)){
|
if(is_null($db)) {
|
||||||
@include(".htconfig.php");
|
@include(".htconfig.php");
|
||||||
require_once("dba.php");
|
require_once("dba.php");
|
||||||
$db = new dba($db_host, $db_user, $db_pass, $db_data);
|
$db = new dba($db_host, $db_user, $db_pass, $db_data);
|
||||||
unset($db_host, $db_user, $db_pass, $db_data);
|
unset($db_host, $db_user, $db_pass, $db_data);
|
||||||
};
|
};
|
||||||
|
|
||||||
require_once('session.php');
|
require_once('session.php');
|
||||||
require_once('datetime.php');
|
require_once('datetime.php');
|
||||||
|
@ -30,7 +30,7 @@ function poller_run($argv, $argc){
|
||||||
proc_run('php',"include/queue.php");
|
proc_run('php',"include/queue.php");
|
||||||
|
|
||||||
// clear old cache
|
// clear old cache
|
||||||
q("DELETE FROM `cache` WHERE `updated`<'%s'",
|
q("DELETE FROM `cache` WHERE `updated` < '%s'",
|
||||||
dbesc(datetime_convert('UTC','UTC',"now - 30 days")));
|
dbesc(datetime_convert('UTC','UTC',"now - 30 days")));
|
||||||
|
|
||||||
$manual_id = 0;
|
$manual_id = 0;
|
||||||
|
@ -47,130 +47,214 @@ function poller_run($argv, $argc){
|
||||||
|
|
||||||
$sql_extra = (($manual_id) ? " AND `id` = $manual_id " : "");
|
$sql_extra = (($manual_id) ? " AND `id` = $manual_id " : "");
|
||||||
|
|
||||||
// 'stat' clause is a temporary measure until we have federation subscriptions working both directions
|
$contacts = q("SELECT `id` FROM `contact`
|
||||||
$contacts = q("SELECT * FROM `contact`
|
WHERE ( `rel` = %d OR `rel` = %d ) AND `poll` != ''
|
||||||
WHERE ( ( `network` = 'dfrn' AND ( `dfrn-id` != '' OR (`issued-id` != '' AND `duplex` = 1)))
|
|
||||||
OR ( `network` IN ( 'stat', 'feed' ) AND `poll` != '' ))
|
|
||||||
$sql_extra
|
$sql_extra
|
||||||
AND `self` = 0 AND `blocked` = 0 AND `readonly` = 0 ORDER BY RAND()");
|
AND `self` = 0 AND `blocked` = 0 AND `readonly` = 0 ORDER BY RAND()",
|
||||||
|
intval(REL_FAN),
|
||||||
|
intval(REL_BUD)
|
||||||
|
);
|
||||||
|
|
||||||
if(! count($contacts)){
|
if(! count($contacts)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach($contacts as $contact) {
|
foreach($contacts as $c) {
|
||||||
|
|
||||||
if($manual_id)
|
$res = q("SELECT * FROM `contact` WHERE `id` = %d LIMIT 1",
|
||||||
$contact['last-update'] = '0000-00-00 00:00:00';
|
intval($c['id'])
|
||||||
|
|
||||||
if($contact['priority'] || $contact['subhub']) {
|
|
||||||
|
|
||||||
$hub_update = true;
|
|
||||||
$update = false;
|
|
||||||
|
|
||||||
$t = $contact['last-update'];
|
|
||||||
|
|
||||||
// We should be getting everything via a hub. But just to be sure, let's check once a day.
|
|
||||||
// (You can make this more or less frequent if desired by setting 'pushpoll_frequency' appropriately)
|
|
||||||
// This also lets us update our subscription to the hub, and add or replace hubs in case it
|
|
||||||
// changed. We will only update hubs once a day, regardless of 'pushpoll_frequency'.
|
|
||||||
|
|
||||||
|
|
||||||
if($contact['subhub']) {
|
|
||||||
$interval = get_config('system','pushpoll_frequency');
|
|
||||||
$contact['priority'] = (($interval !== false) ? intval($interval) : 3);
|
|
||||||
$hub_update = false;
|
|
||||||
|
|
||||||
if((datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 1 day")) || $force)
|
|
||||||
$hub_update = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Based on $contact['priority'], should we poll this site now? Or later?
|
|
||||||
*/
|
|
||||||
|
|
||||||
switch ($contact['priority']) {
|
|
||||||
case 5:
|
|
||||||
if(datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 1 month"))
|
|
||||||
$update = true;
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
if(datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 1 week"))
|
|
||||||
$update = true;
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
if(datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 1 day"))
|
|
||||||
$update = true;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
if(datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 12 hour"))
|
|
||||||
$update = true;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
default:
|
|
||||||
if(datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 1 hour"))
|
|
||||||
$update = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if((! $update) && (! $force))
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
$importer_uid = $contact['uid'];
|
|
||||||
|
|
||||||
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 1 LIMIT 1",
|
|
||||||
intval($importer_uid)
|
|
||||||
);
|
);
|
||||||
if(! count($r))
|
|
||||||
|
if(! count($res))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
$importer = $r[0];
|
foreach($res as $contact) {
|
||||||
|
if($manual_id)
|
||||||
|
$contact['last-update'] = '0000-00-00 00:00:00';
|
||||||
|
|
||||||
logger("poller: poll: IMPORTER: {$importer['name']}, CONTACT: {$contact['name']}");
|
if($contact['priority'] || $contact['subhub']) {
|
||||||
|
|
||||||
$last_update = (($contact['last-update'] === '0000-00-00 00:00:00')
|
$hub_update = true;
|
||||||
? datetime_convert('UTC','UTC','now - 30 days', ATOM_TIME)
|
$update = false;
|
||||||
: datetime_convert('UTC','UTC',$contact['last-update'], ATOM_TIME)
|
|
||||||
);
|
|
||||||
|
|
||||||
if($contact['network'] === 'dfrn') {
|
$t = $contact['last-update'];
|
||||||
|
|
||||||
$idtosend = $orig_id = (($contact['dfrn-id']) ? $contact['dfrn-id'] : $contact['issued-id']);
|
// We should be getting everything via a hub. But just to be sure, let's check once a day.
|
||||||
|
// (You can make this more or less frequent if desired by setting 'pushpoll_frequency' appropriately)
|
||||||
|
// This also lets us update our subscription to the hub, and add or replace hubs in case it
|
||||||
|
// changed. We will only update hubs once a day, regardless of 'pushpoll_frequency'.
|
||||||
|
|
||||||
if(intval($contact['duplex']) && $contact['dfrn-id'])
|
|
||||||
$idtosend = '0:' . $orig_id;
|
|
||||||
if(intval($contact['duplex']) && $contact['issued-id'])
|
|
||||||
$idtosend = '1:' . $orig_id;
|
|
||||||
|
|
||||||
$url = $contact['poll'] . '?dfrn_id=' . $idtosend
|
if($contact['subhub']) {
|
||||||
. '&dfrn_version=' . DFRN_PROTOCOL_VERSION
|
$interval = get_config('system','pushpoll_frequency');
|
||||||
. '&type=data&last_update=' . $last_update ;
|
$contact['priority'] = (($interval !== false) ? intval($interval) : 3);
|
||||||
|
$hub_update = false;
|
||||||
|
|
||||||
$xml = fetch_url($url);
|
if((datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 1 day")) || $force)
|
||||||
|
$hub_update = true;
|
||||||
|
}
|
||||||
|
|
||||||
logger('poller: handshake with url ' . $url . ' returns xml: ' . $xml, LOGGER_DATA);
|
/**
|
||||||
|
* Based on $contact['priority'], should we poll this site now? Or later?
|
||||||
|
*/
|
||||||
|
|
||||||
|
switch ($contact['priority']) {
|
||||||
if(! $xml) {
|
case 5:
|
||||||
logger("poller: $url appears to be dead - marking for death ");
|
if(datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 1 month"))
|
||||||
// dead connection - might be a transient event, or this might
|
$update = true;
|
||||||
// mean the software was uninstalled or the domain expired.
|
break;
|
||||||
// Will keep trying for one month.
|
case 4:
|
||||||
mark_for_death($contact);
|
if(datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 1 week"))
|
||||||
|
$update = true;
|
||||||
// set the last-update so we don't keep polling
|
break;
|
||||||
|
case 3:
|
||||||
$r = q("UPDATE `contact` SET `last-update` = '%s' WHERE `id` = %d LIMIT 1",
|
if(datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 1 day"))
|
||||||
dbesc(datetime_convert()),
|
$update = true;
|
||||||
intval($contact['id'])
|
break;
|
||||||
);
|
case 2:
|
||||||
|
if(datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 12 hour"))
|
||||||
continue;
|
$update = true;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
default:
|
||||||
|
if(datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 1 hour"))
|
||||||
|
$update = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if((! $update) && (! $force))
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$importer_uid = $contact['uid'];
|
||||||
|
|
||||||
|
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 1 LIMIT 1",
|
||||||
|
intval($importer_uid)
|
||||||
|
);
|
||||||
|
if(! count($r))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
$importer = $r[0];
|
||||||
|
|
||||||
|
logger("poller: poll: IMPORTER: {$importer['name']}, CONTACT: {$contact['name']}");
|
||||||
|
|
||||||
|
$last_update = (($contact['last-update'] === '0000-00-00 00:00:00')
|
||||||
|
? datetime_convert('UTC','UTC','now - 30 days', ATOM_TIME)
|
||||||
|
: datetime_convert('UTC','UTC',$contact['last-update'], ATOM_TIME)
|
||||||
|
);
|
||||||
|
|
||||||
|
if($contact['network'] === 'dfrn') {
|
||||||
|
|
||||||
|
$idtosend = $orig_id = (($contact['dfrn-id']) ? $contact['dfrn-id'] : $contact['issued-id']);
|
||||||
|
|
||||||
|
if(intval($contact['duplex']) && $contact['dfrn-id'])
|
||||||
|
$idtosend = '0:' . $orig_id;
|
||||||
|
if(intval($contact['duplex']) && $contact['issued-id'])
|
||||||
|
$idtosend = '1:' . $orig_id;
|
||||||
|
|
||||||
|
$url = $contact['poll'] . '?dfrn_id=' . $idtosend
|
||||||
|
. '&dfrn_version=' . DFRN_PROTOCOL_VERSION
|
||||||
|
. '&type=data&last_update=' . $last_update ;
|
||||||
|
|
||||||
|
$xml = fetch_url($url);
|
||||||
|
|
||||||
|
logger('poller: handshake with url ' . $url . ' returns xml: ' . $xml, LOGGER_DATA);
|
||||||
|
|
||||||
|
|
||||||
|
if(! $xml) {
|
||||||
|
logger("poller: $url appears to be dead - marking for death ");
|
||||||
|
// dead connection - might be a transient event, or this might
|
||||||
|
// mean the software was uninstalled or the domain expired.
|
||||||
|
// Will keep trying for one month.
|
||||||
|
mark_for_death($contact);
|
||||||
|
|
||||||
|
// set the last-update so we don't keep polling
|
||||||
|
|
||||||
|
$r = q("UPDATE `contact` SET `last-update` = '%s' WHERE `id` = %d LIMIT 1",
|
||||||
|
dbesc(datetime_convert()),
|
||||||
|
intval($contact['id'])
|
||||||
|
);
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(! strstr($xml,'<?xml')) {
|
||||||
|
logger('poller: response from ' . $url . ' did not contain XML.');
|
||||||
|
$r = q("UPDATE `contact` SET `last-update` = '%s' WHERE `id` = %d LIMIT 1",
|
||||||
|
dbesc(datetime_convert()),
|
||||||
|
intval($contact['id'])
|
||||||
|
);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$res = simplexml_load_string($xml);
|
||||||
|
|
||||||
|
if(intval($res->status) == 1) {
|
||||||
|
logger("poller: $url replied status 1 - marking for death ");
|
||||||
|
|
||||||
|
// we may not be friends anymore. Will keep trying for one month.
|
||||||
|
// set the last-update so we don't keep polling
|
||||||
|
|
||||||
|
$r = q("UPDATE `contact` SET `last-update` = '%s' WHERE `id` = %d LIMIT 1",
|
||||||
|
dbesc(datetime_convert()),
|
||||||
|
intval($contact['id'])
|
||||||
|
);
|
||||||
|
|
||||||
|
mark_for_death($contact);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if($contact['term-date'] != '0000-00-00 00:00:00') {
|
||||||
|
logger("poller: $url back from the dead - removing mark for death");
|
||||||
|
unmark_for_death($contact);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if((intval($res->status) != 0) || (! strlen($res->challenge)) || (! strlen($res->dfrn_id)))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
$postvars = array();
|
||||||
|
|
||||||
|
$sent_dfrn_id = hex2bin((string) $res->dfrn_id);
|
||||||
|
$challenge = hex2bin((string) $res->challenge);
|
||||||
|
|
||||||
|
$final_dfrn_id = '';
|
||||||
|
|
||||||
|
if(($contact['duplex']) && strlen($contact['prvkey'])) {
|
||||||
|
openssl_private_decrypt($sent_dfrn_id,$final_dfrn_id,$contact['prvkey']);
|
||||||
|
openssl_private_decrypt($challenge,$postvars['challenge'],$contact['prvkey']);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
openssl_public_decrypt($sent_dfrn_id,$final_dfrn_id,$contact['pubkey']);
|
||||||
|
openssl_public_decrypt($challenge,$postvars['challenge'],$contact['pubkey']);
|
||||||
|
}
|
||||||
|
|
||||||
|
$final_dfrn_id = substr($final_dfrn_id, 0, strpos($final_dfrn_id, '.'));
|
||||||
|
|
||||||
|
if(strpos($final_dfrn_id,':') == 1)
|
||||||
|
$final_dfrn_id = substr($final_dfrn_id,2);
|
||||||
|
|
||||||
|
if($final_dfrn_id != $orig_id) {
|
||||||
|
|
||||||
|
// did not decode properly - cannot trust this site
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$postvars['dfrn_id'] = $idtosend;
|
||||||
|
$postvars['dfrn_version'] = DFRN_PROTOCOL_VERSION;
|
||||||
|
|
||||||
|
$xml = post_url($contact['poll'],$postvars);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
// $contact['network'] !== 'dfrn'
|
||||||
|
|
||||||
|
$xml = fetch_url($contact['poll']);
|
||||||
|
}
|
||||||
|
|
||||||
|
logger('poller: received xml : ' . $xml, LOGGER_DATA);
|
||||||
|
|
||||||
if(! strstr($xml,'<?xml')) {
|
if(! strstr($xml,'<?xml')) {
|
||||||
logger('poller: response from ' . $url . ' did not contain XML.');
|
logger('poller: post_handshake: response from ' . $url . ' did not contain XML.');
|
||||||
$r = q("UPDATE `contact` SET `last-update` = '%s' WHERE `id` = %d LIMIT 1",
|
$r = q("UPDATE `contact` SET `last-update` = '%s' WHERE `id` = %d LIMIT 1",
|
||||||
dbesc(datetime_convert()),
|
dbesc(datetime_convert()),
|
||||||
intval($contact['id'])
|
intval($contact['id'])
|
||||||
|
@ -178,114 +262,39 @@ function poller_run($argv, $argc){
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
consume_feed($xml,$importer,$contact,$hub,1);
|
||||||
|
|
||||||
$res = simplexml_load_string($xml);
|
// do it twice. Ensures that children of parents which may be later in the stream aren't tossed
|
||||||
|
|
||||||
if(intval($res->status) == 1) {
|
consume_feed($xml,$importer,$contact,$hub,1);
|
||||||
logger("poller: $url replied status 1 - marking for death ");
|
|
||||||
|
|
||||||
// we may not be friends anymore. Will keep trying for one month.
|
|
||||||
// set the last-update so we don't keep polling
|
|
||||||
|
|
||||||
$r = q("UPDATE `contact` SET `last-update` = '%s' WHERE `id` = %d LIMIT 1",
|
if((strlen($hub)) && ($hub_update)
|
||||||
dbesc(datetime_convert()),
|
&& (($contact['rel'] == REL_BUD) || (($contact['network'] === 'stat') && (! $contact['readonly'])))) {
|
||||||
intval($contact['id'])
|
logger('poller: subscribing to hub(s) : ' . $hub . ' contact name : ' . $contact['name'] . ' local user : ' . $importer['name']);
|
||||||
);
|
$hubs = explode(',', $hub);
|
||||||
|
if(count($hubs)) {
|
||||||
mark_for_death($contact);
|
foreach($hubs as $h) {
|
||||||
}
|
$h = trim($h);
|
||||||
else {
|
if(! strlen($h))
|
||||||
if($contact['term-date'] != '0000-00-00 00:00:00') {
|
continue;
|
||||||
logger("poller: $url back from the dead - removing mark for death");
|
subscribe_to_hub($h,$importer,$contact);
|
||||||
unmark_for_death($contact);
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if((intval($res->status) != 0) || (! strlen($res->challenge)) || (! strlen($res->dfrn_id)))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
$postvars = array();
|
$updated = datetime_convert();
|
||||||
|
|
||||||
$sent_dfrn_id = hex2bin((string) $res->dfrn_id);
|
$r = q("UPDATE `contact` SET `last-update` = '%s', `success_update` = '%s' WHERE `id` = %d LIMIT 1",
|
||||||
$challenge = hex2bin((string) $res->challenge);
|
dbesc($updated),
|
||||||
|
dbesc($updated),
|
||||||
$final_dfrn_id = '';
|
|
||||||
|
|
||||||
if(($contact['duplex']) && strlen($contact['prvkey'])) {
|
|
||||||
openssl_private_decrypt($sent_dfrn_id,$final_dfrn_id,$contact['prvkey']);
|
|
||||||
openssl_private_decrypt($challenge,$postvars['challenge'],$contact['prvkey']);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
openssl_public_decrypt($sent_dfrn_id,$final_dfrn_id,$contact['pubkey']);
|
|
||||||
openssl_public_decrypt($challenge,$postvars['challenge'],$contact['pubkey']);
|
|
||||||
}
|
|
||||||
|
|
||||||
$final_dfrn_id = substr($final_dfrn_id, 0, strpos($final_dfrn_id, '.'));
|
|
||||||
|
|
||||||
if(strpos($final_dfrn_id,':') == 1)
|
|
||||||
$final_dfrn_id = substr($final_dfrn_id,2);
|
|
||||||
|
|
||||||
if($final_dfrn_id != $orig_id) {
|
|
||||||
|
|
||||||
// did not decode properly - cannot trust this site
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
$postvars['dfrn_id'] = $idtosend;
|
|
||||||
$postvars['dfrn_version'] = DFRN_PROTOCOL_VERSION;
|
|
||||||
|
|
||||||
$xml = post_url($contact['poll'],$postvars);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
|
|
||||||
// $contact['network'] !== 'dfrn'
|
|
||||||
|
|
||||||
$xml = fetch_url($contact['poll']);
|
|
||||||
}
|
|
||||||
|
|
||||||
logger('poller: received xml : ' . $xml, LOGGER_DATA);
|
|
||||||
|
|
||||||
if(! strstr($xml,'<?xml')) {
|
|
||||||
logger('poller: post_handshake: response from ' . $url . ' did not contain XML.');
|
|
||||||
$r = q("UPDATE `contact` SET `last-update` = '%s' WHERE `id` = %d LIMIT 1",
|
|
||||||
dbesc(datetime_convert()),
|
|
||||||
intval($contact['id'])
|
intval($contact['id'])
|
||||||
);
|
);
|
||||||
continue;
|
|
||||||
|
// loop - next contact
|
||||||
}
|
}
|
||||||
|
}
|
||||||
consume_feed($xml,$importer,$contact,$hub,1);
|
|
||||||
|
|
||||||
// do it twice. Ensures that children of parents which may be later in the stream aren't tossed
|
|
||||||
|
|
||||||
consume_feed($xml,$importer,$contact,$hub,1);
|
|
||||||
|
|
||||||
|
|
||||||
if((strlen($hub)) && ($hub_update)
|
|
||||||
&& (($contact['rel'] == REL_BUD) || (($contact['network'] === 'stat') && (! $contact['readonly'])))) {
|
|
||||||
logger('poller: subscribing to hub(s) : ' . $hub . ' contact name : ' . $contact['name'] . ' local user : ' . $importer['name']);
|
|
||||||
$hubs = explode(',', $hub);
|
|
||||||
if(count($hubs)) {
|
|
||||||
foreach($hubs as $h) {
|
|
||||||
$h = trim($h);
|
|
||||||
if(! strlen($h))
|
|
||||||
continue;
|
|
||||||
subscribe_to_hub($h,$importer,$contact);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
$updated = datetime_convert();
|
|
||||||
|
|
||||||
$r = q("UPDATE `contact` SET `last-update` = '%s', `success_update` = '%s' WHERE `id` = %d LIMIT 1",
|
|
||||||
dbesc($updated),
|
|
||||||
dbesc($updated),
|
|
||||||
intval($contact['id'])
|
|
||||||
);
|
|
||||||
|
|
||||||
// loop - next contact
|
|
||||||
}
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,7 +55,8 @@ function pubsub_init(&$a) {
|
||||||
|
|
||||||
$sql_extra = ((strlen($hub_verify)) ? sprintf(" AND `hub-verify` = '%s' ", dbesc($hub_verify)) : '');
|
$sql_extra = ((strlen($hub_verify)) ? sprintf(" AND `hub-verify` = '%s' ", dbesc($hub_verify)) : '');
|
||||||
|
|
||||||
$r = q("SELECT * FROM `contact` WHERE `poll` = '%s' AND `id` = %d AND `uid` = %d AND `blocked` = 0 $sql_extra LIMIT 1",
|
$r = q("SELECT * FROM `contact` WHERE `poll` = '%s' AND `id` = %d AND `uid` = %d
|
||||||
|
AND `blocked` = 0 AND `pending` = 0 $sql_extra LIMIT 1",
|
||||||
dbesc($hub_topic),
|
dbesc($hub_topic),
|
||||||
intval($contact_id),
|
intval($contact_id),
|
||||||
intval($owner['uid'])
|
intval($owner['uid'])
|
||||||
|
@ -101,10 +102,14 @@ function pubsub_post(&$a) {
|
||||||
|
|
||||||
$importer = $r[0];
|
$importer = $r[0];
|
||||||
|
|
||||||
$r = q("SELECT * FROM `contact` WHERE `subhub` = 1 AND `id` = %d AND `uid` = %d AND `blocked` = 0 AND `readonly` = 0 LIMIT 1",
|
$r = q("SELECT * FROM `contact` WHERE `subhub` = 1 AND `id` = %d AND `uid` = %d
|
||||||
|
AND ( `rel` = %d OR `rel` = %d ) AND `blocked` = 0 AND `readonly` = 0 LIMIT 1",
|
||||||
intval($contact_id),
|
intval($contact_id),
|
||||||
intval($importer['uid'])
|
intval($importer['uid']),
|
||||||
|
intval(REL_FAN),
|
||||||
|
intval(REL_BUD)
|
||||||
);
|
);
|
||||||
|
|
||||||
if(! count($r)) {
|
if(! count($r)) {
|
||||||
logger('pubsub: no contact record - ignored');
|
logger('pubsub: no contact record - ignored');
|
||||||
hub_post_return();
|
hub_post_return();
|
||||||
|
|
|
@ -101,5 +101,5 @@ function wall_upload_post(&$a) {
|
||||||
echo '<br /><br /><a href="' . $a->get_baseurl() . '/photos/' . $page_owner_nick . '/image/' . $hash . '" ><img src="' . $a->get_baseurl() . "/photo/{$hash}-{$smallest}.jpg\" alt=\"$basename\" /></a><br /><br />";
|
echo '<br /><br /><a href="' . $a->get_baseurl() . '/photos/' . $page_owner_nick . '/image/' . $hash . '" ><img src="' . $a->get_baseurl() . "/photo/{$hash}-{$smallest}.jpg\" alt=\"$basename\" /></a><br /><br />";
|
||||||
|
|
||||||
killme();
|
killme();
|
||||||
return; // NOTREACHED
|
// NOTREACHED
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||||
<base href="$baseurl" />
|
<base href="$baseurl" />
|
||||||
<link rel="stylesheet" type="text/css" href="$stylesheet" media="all" />
|
<link rel="stylesheet" type="text/css" href="$stylesheet" media="all" />
|
||||||
<link rel="shortcut icon" href="$baseurl/images/ff-32.jpg" />
|
<link rel="shortcut icon" href="$baseurl/images/friendika-32.png" />
|
||||||
|
|
||||||
<!--[if IE]>
|
<!--[if IE]>
|
||||||
<script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
<script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<body>
|
<body>
|
||||||
<table style="border:1px solid #ccc">
|
<table style="border:1px solid #ccc">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr><td colspan="2" style="background:#3b5998; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px;" src='$siteurl/images/ff-32.jpg'><span style="padding:7px;">Friendika</span></td></tr>
|
<tr><td colspan="2" style="background:#3b5998; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px;" src='$siteurl/images/freindika-32.png'><span style="padding:7px;">Friendika</span></td></tr>
|
||||||
|
|
||||||
<tr><td style="padding-top:22px;" colspan="2">Du hast eine neue private Nachricht von '$from' auf '$siteName' erhhalten.</td></tr>
|
<tr><td style="padding-top:22px;" colspan="2">Du hast eine neue private Nachricht von '$from' auf '$siteName' erhhalten.</td></tr>
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<base href="$baseurl" />
|
<base href="$baseurl" />
|
||||||
<meta name="generator" content="$generator" />
|
<meta name="generator" content="$generator" />
|
||||||
<link rel="stylesheet" type="text/css" href="$stylesheet" media="all" />
|
<link rel="stylesheet" type="text/css" href="$stylesheet" media="all" />
|
||||||
<link rel="shortcut icon" href="$baseurl/images/ff-32.jpg" />
|
<link rel="shortcut icon" href="$baseurl/images/friendika-32.png" />
|
||||||
|
|
||||||
<!--[if IE]>
|
<!--[if IE]>
|
||||||
<script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
<script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<body>
|
<body>
|
||||||
<table style="border:1px solid #ccc">
|
<table style="border:1px solid #ccc">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr><td colspan="2" style="background:#3b5998; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px;" src='$siteurl/images/ff-32.jpg'><span style="padding:7px;">Friendika</span></td></tr>
|
<tr><td colspan="2" style="background:#3b5998; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px;" src='$siteurl/images/friendika-32.png'><span style="padding:7px;">Friendika</span></td></tr>
|
||||||
|
|
||||||
<tr><td style="padding-top:22px;" colspan="2">$from sent you a new private message at $siteName.</td></tr>
|
<tr><td style="padding-top:22px;" colspan="2">$from sent you a new private message at $siteName.</td></tr>
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<base href="$baseurl" />
|
<base href="$baseurl" />
|
||||||
<meta name="generator" content="$generator" />
|
<meta name="generator" content="$generator" />
|
||||||
<link rel="stylesheet" type="text/css" href="$stylesheet" media="all" />
|
<link rel="stylesheet" type="text/css" href="$stylesheet" media="all" />
|
||||||
<link rel="shortcut icon" href="$baseurl/images/ff-32.jpg" />
|
<link rel="shortcut icon" href="$baseurl/images/friendika-32.png" />
|
||||||
|
|
||||||
<!--[if IE]>
|
<!--[if IE]>
|
||||||
<script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
<script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<body>
|
<body>
|
||||||
<table style="border:1px solid #ccc">
|
<table style="border:1px solid #ccc">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr><td colspan="2" style="background:#3b5998; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px;" src='$siteurl/images/ff-32.jpg'><span style="padding:7px;">Friendika</span></td></tr>
|
<tr><td colspan="2" style="background:#3b5998; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px;" src='$siteurl/images/friendika-32.png'><span style="padding:7px;">Friendika</span></td></tr>
|
||||||
|
|
||||||
<tr><td style="padding-top:22px;" colspan="2">$from t'a envoyŽ un message ˆ $siteName.</td></tr>
|
<tr><td style="padding-top:22px;" colspan="2">$from t'a envoyŽ un message ˆ $siteName.</td></tr>
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<base href="$baseurl" />
|
<base href="$baseurl" />
|
||||||
<meta name="generator" content="$generator" />
|
<meta name="generator" content="$generator" />
|
||||||
<link rel="stylesheet" type="text/css" href="$stylesheet" media="all" />
|
<link rel="stylesheet" type="text/css" href="$stylesheet" media="all" />
|
||||||
<link rel="shortcut icon" href="$baseurl/images/ff-32.jpg" />
|
<link rel="shortcut icon" href="$baseurl/images/friendika-32.png" />
|
||||||
|
|
||||||
<!--[if IE]>
|
<!--[if IE]>
|
||||||
<script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
<script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<body>
|
<body>
|
||||||
<table style="border:1px solid #ccc">
|
<table style="border:1px solid #ccc">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr><td colspan="2" style="background:#3b5998; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px;" src='$siteurl/images/ff-32.jpg'><span style="padding:7px;">Friendika</span></td></tr>
|
<tr><td colspan="2" style="background:#3b5998; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px;" src='$siteurl/images/friendika-32.png'><span style="padding:7px;">Friendika</span></td></tr>
|
||||||
|
|
||||||
<tr><td style="padding-top:22px;" colspan="2">Hai ricevuto un nuovo messsaggio privato su $siteName da '$from'.</td></tr>
|
<tr><td style="padding-top:22px;" colspan="2">Hai ricevuto un nuovo messsaggio privato su $siteName da '$from'.</td></tr>
|
||||||
|
|
||||||
|
|
After Width: | Height: | Size: 699 B |
|
@ -91,12 +91,13 @@ nav #site-location {
|
||||||
|
|
||||||
nav #banner {
|
nav #banner {
|
||||||
display: block;
|
display: block;
|
||||||
padding-top: 10px;
|
padding-top: 14px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
}
|
}
|
||||||
nav #banner #logo-text a {
|
nav #banner #logo-text a {
|
||||||
font-size: 44px;
|
font-size: 40px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
margin-left: 3px;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -318,7 +319,7 @@ div.wall-item-content-wrapper.shiny {
|
||||||
|
|
||||||
input#dfrn-url {
|
input#dfrn-url {
|
||||||
float: left;
|
float: left;
|
||||||
background: url(ff-16.jpg) no-repeat;
|
background: url(friendika-16.png) no-repeat;
|
||||||
background-position: 2px center;
|
background-position: 2px center;
|
||||||
font-size: 17px;
|
font-size: 17px;
|
||||||
padding-left: 21px;
|
padding-left: 21px;
|
||||||
|
|
After Width: | Height: | Size: 699 B |
|
@ -452,7 +452,7 @@ nav {
|
||||||
|
|
||||||
input#dfrn-url {
|
input#dfrn-url {
|
||||||
float: left;
|
float: left;
|
||||||
background: url(ff-16.jpg) no-repeat;
|
background: url(friendika-16.png) no-repeat;
|
||||||
background-position: 2px center;
|
background-position: 2px center;
|
||||||
font-size: 17px;
|
font-size: 17px;
|
||||||
padding-left: 21px;
|
padding-left: 21px;
|
||||||
|
|