This commit is contained in:
Mario Vavti 2018-06-25 14:29:32 +02:00
commit 62610b5ec0
54 changed files with 2449 additions and 3017 deletions

View File

@ -20,6 +20,10 @@ class Magic extends \Zotlabs\Web\Controller {
$owa = ((x($_REQUEST,'owa')) ? intval($_REQUEST['owa']) : 0);
$delegate = ((x($_REQUEST,'delegate')) ? $_REQUEST['delegate'] : '');
// Apache(?) appears to perform an htmlentities() operation on this variable
$dest = html_entity_decode($dest);
$parsed = parse_url($dest);
if(! $parsed) {
if($test) {
@ -139,6 +143,9 @@ class Magic extends \Zotlabs\Web\Controller {
if($owa) {
$dest = strip_zids($dest);
$dest = strip_query_param($dest,'f');
$headers = [];
$headers['Accept'] = 'application/x-zot+json' ;
$headers['X-Open-Web-Auth'] = random_string();

View File

@ -12,12 +12,13 @@ class Sources extends \Zotlabs\Web\Controller {
return '';
$source = intval($_REQUEST['source']);
$xchan = $_REQUEST['xchan'];
$xchan = escape_tags($_REQUEST['xchan']);
$abook = intval($_REQUEST['abook']);
$words = $_REQUEST['words'];
$words = escape_tags($_REQUEST['words']);
$resend = intval($_REQUEST['resend']);
$frequency = $_REQUEST['frequency'];
$name = $_REQUEST['name'];
$tags = $_REQUEST['tags'];
$name = escape_tags($_REQUEST['name']);
$tags = escape_tags($_REQUEST['tags']);
$channel = \App::get_channel();
@ -38,6 +39,8 @@ class Sources extends \Zotlabs\Web\Controller {
return;
}
set_abconfig(local_channel(),$xchan, 'system','rself',$resend);
if(! $source) {
$r = q("insert into source ( src_channel_id, src_channel_xchan, src_xchan, src_patt, src_tag )
values ( %d, '%s', '%s', '%s', '%s' ) ",
@ -110,7 +113,7 @@ class Sources extends \Zotlabs\Web\Controller {
'$words' => array( 'words', t('Only import content with these words (one per line)'),'',t('Leave blank to import all public content')),
'$name' => array( 'name', t('Channel Name'), '', ''),
'$tags' => array('tags', t('Add the following categories to posts imported from this source (comma separated)'),'',t('Optional')),
'$resend' => [ 'resend', t('Resend posts with this channel as author'), 0, t('Copyrights may apply'), [ t('No'), t('Yes') ]],
'$submit' => t('Submit')
));
return $o;
@ -145,6 +148,8 @@ class Sources extends \Zotlabs\Web\Controller {
'$xchan' => $r[0]['src_xchan'],
'$abook' => $x[0]['abook_id'],
'$tags' => array('tags', t('Add the following categories to posts imported from this source (comma separated)'),$r[0]['src_tag'],t('Optional')),
'$resend' => [ 'resend', t('Resend posts with this channel as author'), get_abconfig(local_channel(), $r[0]['xchan_hash'],'system','rself'), t('Copyrights may apply'), [ t('No'), t('Yes') ]],
'$name' => array( 'name', t('Channel Name'), $r[0]['xchan_name'], ''),
'$submit' => t('Submit')
));

View File

@ -722,14 +722,13 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota, DAV\IMo
function ChannelList(&$auth) {
$ret = array();
$r = q("SELECT channel_id, channel_address FROM channel WHERE channel_removed = 0
AND channel_system = 0 AND (channel_pageflags & %d) = 0",
$r = q("SELECT channel_id, channel_address, profile.publish FROM channel left join profile on profile.uid = channel.channel_id WHERE channel_removed = 0 AND channel_system = 0 AND (channel_pageflags & %d) = 0",
intval(PAGE_HIDDEN)
);
if ($r) {
foreach ($r as $rr) {
if (perm_is_allowed($rr['channel_id'], $auth->observer, 'view_storage')) {
if (perm_is_allowed($rr['channel_id'], $auth->observer, 'view_storage') && $rr['publish']) {
logger('found channel: /cloud/' . $rr['channel_address'], LOGGER_DATA);
// @todo can't we drop '/cloud'? It gets stripped off anyway in RedDirectory
$ret[] = new Directory('/cloud/' . $rr['channel_address'], $auth);

View File

@ -331,16 +331,6 @@ empty:
util/config system directory_server ""
### Upgrading from RedMatrix to $Projectname
#### How to migrate an individual channel from RedMatrix to $Projectname
1. Clone the channel by opening an account on a $Projectname hub and performing a basic import (not content) from the original RedMatrix hub. Give your new clone time to sync connections and settings.
1. Export individual channel content from your RedMatrix hub to a set of JSON text files using the red.hub/uexport tool. Do this in monthly increments if necessary.
1. Import the JSON data files sequentially in chronological order into the $Projectname clone using the new.hub/import_items tool.
1. Inform your Friendica and Diaspora contacts that your channel moves. They need to reconnect to your new address.
1. After successful import (check!) delete your channel on the old RedMatrix Server.
1. On the $Projectname server visit new.hub/locs and upgrade to your channel to a primary one. And when the old Redmatrix server is still listed delete them here as well. Press "Sync" to inform all other server in the grid.
### Administration

2
doc/es
View File

@ -1 +1 @@
doc/es-es
es-es

View File

@ -1,49 +1,28 @@
Roadmap
Roadmap for $Projectname V3
Platform
*HZ = Hubzilla repository
Convert E2EE and select Javascript resources to dynamic loading using jQuery.getScript() [or other methods].
Webpages
Crypto
Convert E2EE to dynamic loading (on demand) using jQuery.getScript() [or other methods] to only load encryption libs when you require them. This should also support multiple encryption libraries (e.g. SJCL, others) triggered from the choice of algorithm and remain pluggable.
Subscriptions and business models
Build enough into core(/addons) to generate income (or at least try and cover costs) out of the box
Resolve the "every photo has an item" confusion, perhaps every file should also - but only if we can explain it and separate them conceptually.
Migration tools
Friendica importer
Diaspora importer (channel and connection import done, conversations and photos still in progress and waiting for support from Diaspora)
Webpage design UI improvements
If practical, separate "conversation" sub-themes from overall themes so one can choose different conversation and content layouts within a base theme.
Make webpage building easy, with point-n-click selectors to build PDLs
bring back WYSIWYG, which ideally requires a JS abstraction layer so we can use any editor and change it based on mimetype
Social Networking Federation
Friendica native mode?
Pump.io?
Others?
Lists
Create a list object to contain arbitrary things for system use
Create a list object to contain arbitrary things for personal use
Events
Recurring events
Integrate Hubzilla events with CalDAV
Zot
Provide a way to sync web resources. This could be built on DAV except for preserving resource naming (guids) instead of filenames.
API extensions
More, more, more.
Connections
Evangelism
More documentation. More, more, more.
Libzot
CardDAV integration with abook and profiles
DNS abstraction for V3
Allow a channel to live in an arbitrary "DNS" namespace, for instance "mike@core.hubzilla". Use our directories and zot to find the actual DNS location via redirection. This could potentially allow hubs to be hidden behind tor or alt-roots and accessible only via the matrix.
Issues manager
Provide easy(easier) channel move (as opposed to channel copy or clone)

View File

@ -1,27 +0,0 @@
Hubzilla III
============
Due: December 2017
Codename:
Wishlist:
- Move CalDAV/CardDAV server to core
- Integrate Hubzilla events with CalDAV
- Connection 'roles' allows you to select different permission roles for your connections; such as follower, friend, contributor, etc.
- CardDAV integration with abook and profiles
- App tray
- issues manager
- wiki cloning
- provide easy channel move (as opposed to channel copy or clone), which is currently supported only by the basic server role.
- provide RSA keychange operation; which cannot affect the primary identity (which is based on the channel keys), so add a secondary dynamic key pair which will be used for all other operations and can be upgraded or revoked at any time.

View File

@ -1,29 +0,0 @@
[h1]Project Roadmap V4[/h1]
[h2]Hubzilla 2.0 - code name "Universal Thunder"[/h2]
[h3]Project Core Development[/h3]
Goals/Highlights:
Focus on visual website design tools, widgets, and sharing mechanisms
[x] App organisation.
[x] Conversion of core application to a composer format living under the namespace "Zotlabs"
[x] Conversion of Modules to a more general purpose Controllers layout with DB/memory based
controller routing as opposed to filesystem routing.
[x] (partial) Conversion of core Zot Protocol to a class library
[x] Abstraction of nomadic identity so that sending/receiving to/from singleton networks to/from any clone works flawlessly - [b]provided[/b] the clone physically connected to that singleton identity is up.
[h3]Community Development[/h3]
[x] CalDAV/CardDAV
E-Commerce
Auto Updater

View File

@ -373,23 +373,24 @@ function contact_remove($channel_id, $abook_id) {
if(intval($abook['abook_self']))
return false;
$r = q("select id from item where (owner_xchan = '%s' or author_xchan = '%s') and uid = %d and item_retained = 0 and item_starred = 0",
dbesc($abook['abook_xchan']),
dbesc($abook['abook_xchan']),
intval($channel_id)
);
if($r) {
$r = fetch_post_tags($r,true);
foreach($r as $rr) {
$terms = get_terms_oftype($item['term'],TERM_FILE);
if(! $terms) {
$x = q("select uid from term where otype = %d and oid = %d ttype = %d limit 1",
intval(TERM_OBJ_POST),
intval($rr['id']),
intval(TERM_FILE)
);
if($x) {
continue;
}
drop_item($rr['id'],false);
}
}
}
q("delete from abook where abook_id = %d and abook_channel = %d",
intval($abook['abook_id']),

View File

@ -19,9 +19,10 @@ require_once('include/permissions.php');
*
* @param array $item
* @param[out] boolean $private_envelope
* @param boolean $include_groups
* @return array containing the recipients
*/
function collect_recipients($item, &$private_envelope) {
function collect_recipients($item, &$private_envelope,$include_groups = true) {
require_once('include/group.php');
@ -34,7 +35,12 @@ function collect_recipients($item, &$private_envelope) {
$allow_people = expand_acl($item['allow_cid']);
if($include_groups) {
$allow_groups = expand_groups(expand_acl($item['allow_gid']));
}
else {
$allow_groups = [];
}
$recipients = array_unique(array_merge($allow_people,$allow_groups));
@ -2948,6 +2954,18 @@ function start_delivery_chain($channel, $item, $item_id, $parent) {
}
}
}
// This will change the author to the post owner. Useful for RSS feeds which are to be syndicated
// to federated platforms which can't verify the identity of the author.
// This MAY cause you to run afoul of copyright law.
$rewrite_author = intval(get_abconfig($channel['channel_id'],$item['owner_xchan'],'system','rself'));
if($rewrite_author) {
$item['author_xchan'] = $item['owner_xchan'];
if($item['owner']) {
$item['author'] = $item['owner'];
}
}
}
// Change this copy of the post to a forum head message and deliver to all the tgroup members
@ -3008,8 +3026,6 @@ function start_delivery_chain($channel, $item, $item_id, $parent) {
);
if($r)
Zotlabs\Daemon\Master::Summon(array('Notifier','tgroup',$item_id));
else {

View File

@ -8378,7 +8378,7 @@ msgstr "Afleveringsrapport"
msgid "%d comment"
msgid_plural "%d comments"
msgstr[0] "%d reactie"
msgstr[1] "%d reacties getoond"
msgstr[1] "%d reacties"
#: ../../Zotlabs/Lib/ThreadItem.php:343 ../../Zotlabs/Lib/ThreadItem.php:344
#, php-format

View File

@ -1816,7 +1816,7 @@ App::$strings["share"] = "delen";
App::$strings["Delivery Report"] = "Afleveringsrapport";
App::$strings["%d comment"] = array(
0 => "%d reactie",
1 => "%d reacties getoond",
1 => "%d reacties",
);
App::$strings["View %s's profile - %s"] = "Profiel van %s bekijken - %s";
App::$strings["to"] = "aan";

View File

@ -1,27 +0,0 @@
<div class="generic-content-wrapper-styled" id='adminpage'>
<h1>{{$title}} - {{$page}}</h1>
<table id='server'>
<thead>
<tr>
{{foreach $th_hubloc as $th}}<th>{{$th}}</th>{{/foreach}}
</tr>
</thead>
<tbody>
{{foreach $hubloc as $hub}}<tr>
<td>{{$hub.hubloc_id}}</td><td>{{$hub.hubloc_addr}}</td><td>{{$hub.hubloc_host}}</td><td>{{$hub.hubloc_status}}</td>
<td>
<form action="{{$baseurl}}/admin/hubloc" method="post">
<input type="hidden" name="hublocid" value="{{$hub.hubloc_id}}">
<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
<input type='hidden' name='url' value='{{$hub.hubloc_host}}'>
<input type="submit" name="check" value="check" >
<input type="submit" name="repair" value="repair" ></td>
</form>
</tr>{{/foreach}}
</tbody>
</table>
</div>

View File

@ -1,66 +0,0 @@
<config>
<site>
<name>{{$config.site.name}}</name>
<server>{{$config.site.server}}</server>
<theme>default</theme>
<path></path>
<logo>{{$config.site.logo}}</logo>
<fancy>true</fancy>
<language>en</language>
<email>{{$config.site.email}}</email>
<broughtby></broughtby>
<broughtbyurl></broughtbyurl>
<timezone>UTC</timezone>
<closed>{{$config.site.closed}}</closed>
<inviteonly>false</inviteonly>
<private>{{$config.site.private}}</private>
<textlimit>{{$config.site.textlimit}}</textlimit>
<ssl>{{$config.site.ssl}}</ssl>
<sslserver>{{$config.site.sslserver}}</sslserver>
<shorturllength>30</shorturllength>
</site>
<license>
<type>cc</type>
<owner></owner>
<url>http://creativecommons.org/licenses/by/3.0/</url>
<title>Creative Commons Attribution 3.0</title>
<image>http://i.creativecommons.org/l/by/3.0/80x15.png</image>
</license>
<nickname>
<featured></featured>
</nickname>
<profile>
<biolimit></biolimit>
</profile>
<group>
<desclimit></desclimit>
</group>
<notice>
<contentlimit></contentlimit>
</notice>
<throttle>
<enabled>false</enabled>
<count>20</count>
<timespan>600</timespan>
</throttle>
<xmpp>
<enabled>false</enabled>
<server>INVALID SERVER</server>
<port>5222</port>
<user>update</user>
</xmpp>
<integration>
<source>StatusNet</source>
</integration>
<attachments>
<uploads>false</uploads>
<file_quota>0</file_quota>
</attachments>
</config>

View File

@ -1,5 +0,0 @@
<users type="array">
{{foreach $users as $user}}
{{include file="api_user_xml.tpl"}}
{{/foreach}}
</users>

View File

@ -1,6 +0,0 @@
<hash>
<remaining-hits type="integer">{{$hash.remaining_hits}}</remaining-hits>
<hourly-limit type="integer">{{$hash.hourly_limit}}</hourly-limit>
<reset-time type="datetime">{{$hash.reset_time}}</reset-time>
<reset_time_in_seconds type="integer">{{$hash.resettime_in_seconds}}</reset_time_in_seconds>
</hash>

View File

@ -1,46 +0,0 @@
<status>{{if $status}}
<created_at>{{$status.created_at}}</created_at>
<id>{{$status.id}}</id>
<text>{{$status.text}}</text>
<source>{{$status.source}}</source>
<truncated>{{$status.truncated}}</truncated>
<in_reply_to_status_id>{{$status.in_reply_to_status_id}}</in_reply_to_status_id>
<in_reply_to_user_id>{{$status.in_reply_to_user_id}}</in_reply_to_user_id>
<favorited>{{$status.favorited}}</favorited>
<in_reply_to_screen_name>{{$status.in_reply_to_screen_name}}</in_reply_to_screen_name>
<geo>{{$status.geo}}</geo>
<coordinates>{{$status.coordinates}}</coordinates>
<place>{{$status.place}}</place>
<contributors>{{$status.contributors}}</contributors>
<user>
<id>{{$status.user.id}}</id>
<name>{{$status.user.name}}</name>
<screen_name>{{$status.user.screen_name}}</screen_name>
<location>{{$status.user.location}}</location>
<description>{{$status.user.description}}</description>
<profile_image_url>{{$status.user.profile_image_url}}</profile_image_url>
<url>{{$status.user.url}}</url>
<protected>{{$status.user.protected}}</protected>
<followers_count>{{$status.user.followers}}</followers_count>
<profile_background_color>{{$status.user.profile_background_color}}</profile_background_color>
<profile_text_color>{{$status.user.profile_text_color}}</profile_text_color>
<profile_link_color>{{$status.user.profile_link_color}}</profile_link_color>
<profile_sidebar_fill_color>{{$status.user.profile_sidebar_fill_color}}</profile_sidebar_fill_color>
<profile_sidebar_border_color>{{$status.user.profile_sidebar_border_color}}</profile_sidebar_border_color>
<friends_count>{{$status.user.friends_count}}</friends_count>
<created_at>{{$status.user.created_at}}</created_at>
<favourites_count>{{$status.user.favourites_count}}</favourites_count>
<utc_offset>{{$status.user.utc_offset}}</utc_offset>
<time_zone>{{$status.user.time_zone}}</time_zone>
<profile_background_image_url>{{$status.user.profile_background_image_url}}</profile_background_image_url>
<profile_background_tile>{{$status.user.profile_background_tile}}</profile_background_tile>
<profile_use_background_image>{{$status.user.profile_use_background_image}}</profile_use_background_image>
<notifications></notifications>
<geo_enabled>{{$status.user.geo_enabled}}</geo_enabled>
<verified>{{$status.user.verified}}</verified>
<following></following>
<statuses_count>{{$status.user.statuses_count}}</statuses_count>
<lang>{{$status.user.lang}}</lang>
<contributors_enabled>{{$status.user.contributors_enabled}}</contributors_enabled>
</user>
{{/if}}</status>

View File

@ -1 +0,0 @@
<ok>{{$ok}}</ok>

View File

@ -1,90 +0,0 @@
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:georss="http://www.georss.org/georss" xmlns:activity="http://activitystrea.ms/spec/1.0/" xmlns:media="http://purl.org/syndication/atommedia" xmlns:poco="http://portablecontacts.net/spec/1.0" xmlns:ostatus="http://ostatus.org/schema/1.0" xmlns:statusnet="http://status.net/schema/api/1/">
<generator uri="http://status.net" version="0.9.7">StatusNet</generator>
<id>{{$rss.self}}</id>
<title>Friendika</title>
<subtitle>Friendika API feed</subtitle>
<logo>{{$rss.logo}}</logo>
<updated>{{$rss.atom_updated}}</updated>
<link type="text/html" rel="alternate" href="{{$rss.alternate}}"/>
<link type="application/atom+xml" rel="self" href="{{$rss.self}}"/>
<author>
<activity:obj_type>http://activitystrea.ms/schema/1.0/person</activity:obj_type>
<uri>{{$user.url}}</uri>
<name>{{$user.name}}</name>
<link rel="alternate" type="text/html" href="{{$user.url}}"/>
<link rel="avatar" type="image/jpeg" media:width="106" media:height="106" href="{{$user.profile_image_url}}"/>
<link rel="avatar" type="image/jpeg" media:width="96" media:height="96" href="{{$user.profile_image_url}}"/>
<link rel="avatar" type="image/jpeg" media:width="48" media:height="48" href="{{$user.profile_image_url}}"/>
<link rel="avatar" type="image/jpeg" media:width="24" media:height="24" href="{{$user.profile_image_url}}"/>
<georss:point></georss:point>
<poco:preferredUsername>{{$user.screen_name}}</poco:preferredUsername>
<poco:displayName>{{$user.name}}</poco:displayName>
<poco:urls>
<poco:type>homepage</poco:type>
<poco:value>{{$user.url}}</poco:value>
<poco:primary>true</poco:primary>
</poco:urls>
<statusnet:profile_info local_id="{{$user.id}}"></statusnet:profile_info>
</author>
<!--Deprecation warning: activity:subject is present only for backward compatibility. It will be removed in the next version of StatusNet.-->
<activity:subject>
<activity:obj_type>http://activitystrea.ms/schema/1.0/person</activity:obj_type>
<id>{{$user.contact_url}}</id>
<title>{{$user.name}}</title>
<link rel="alternate" type="text/html" href="{{$user.url}}"/>
<link rel="avatar" type="image/jpeg" media:width="106" media:height="106" href="{{$user.profile_image_url}}"/>
<link rel="avatar" type="image/jpeg" media:width="96" media:height="96" href="{{$user.profile_image_url}}"/>
<link rel="avatar" type="image/jpeg" media:width="48" media:height="48" href="{{$user.profile_image_url}}"/>
<link rel="avatar" type="image/jpeg" media:width="24" media:height="24" href="{{$user.profile_image_url}}"/>
<poco:preferredUsername>{{$user.screen_name}}</poco:preferredUsername>
<poco:displayName>{{$user.name}}</poco:displayName>
<poco:urls>
<poco:type>homepage</poco:type>
<poco:value>{{$user.url}}</poco:value>
<poco:primary>true</poco:primary>
</poco:urls>
<statusnet:profile_info local_id="{{$user.id}}"></statusnet:profile_info>
</activity:subject>
{{foreach $statuses as $status}}
<entry>
<activity:obj_type>{{$status.objecttype}}</activity:obj_type>
<id>{{$status.message_id}}</id>
<title>{{$status.text}}</title>
<content type="html">{{$status.statusnet_html}}</content>
<link rel="alternate" type="text/html" href="{{$status.url}}"/>
<activity:verb>{{$status.verb}}</activity:verb>
<published>{{$status.published}}</published>
<updated>{{$status.updated}}</updated>
<link rel="self" type="application/atom+xml" href="{{$status.self}}"/>
<link rel="edit" type="application/atom+xml" href="{{$status.edit}}"/>
<statusnet:notice_info local_id="{{$status.id}}" source="{{$status.source}}" >
</statusnet:notice_info>
<author>
<activity:obj_type>http://activitystrea.ms/schema/1.0/person</activity:obj_type>
<uri>{{$status.user.url}}</uri>
<name>{{$status.user.name}}</name>
<link rel="alternate" type="text/html" href="{{$status.user.url}}"/>
<link rel="avatar" type="image/jpeg" media:width="48" media:height="48" href="{{$status.user.profile_image_url}}"/>
<georss:point/>
<poco:preferredUsername>{{$status.user.screen_name}}</poco:preferredUsername>
<poco:displayName>{{$status.user.name}}</poco:displayName>
<poco:address/>
<poco:urls>
<poco:type>homepage</poco:type>
<poco:value>{{$status.user.url}}</poco:value>
<poco:primary>true</poco:primary>
</poco:urls>
</author>
<link rel="ostatus:conversation" type="text/html" href="{{$status.url}}"/>
</entry>
{{/foreach}}
</feed>

View File

@ -1,26 +0,0 @@
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:georss="http://www.georss.org/georss" xmlns:twitter="http://api.twitter.com">
<channel>
<title>Friendika</title>
<link>{{$rss.alternate}}</link>
<atom:link type="application/rss+xml" rel="self" href="{{$rss.self}}"/>
<description>Friendika timeline</description>
<language>{{$rss.language}}</language>
<ttl>40</ttl>
<image>
<link>{{$user.link}}</link>
<title>{{$user.name}}'s items</title>
<url>{{$user.profile_image_url}}</url>
</image>
{{foreach $statuses as $status}}
<item>
<title>{{$status.user.name}}: {{$status.text}}</title>
<description>{{$status.text}}</description>
<pubDate>{{$status.created_at}}</pubDate>
<guid>{{$status.url}}</guid>
<link>{{$status.url}}</link>
<twitter:source>{{$status.source}}</twitter:source>
</item>
{{/foreach}}
</channel>
</rss>

View File

@ -1,20 +0,0 @@
<statuses type="array" xmlns:statusnet="http://status.net/schema/api/1/">
{{foreach $statuses as $status}} <status>
<text>{{$status.text}}</text>
<truncated>{{$status.truncated}}</truncated>
<created_at>{{$status.created_at}}</created_at>
<in_reply_to_status_id>{{$status.in_reply_to_status_id}}</in_reply_to_status_id>
<source>{{$status.source}}</source>
<id>{{$status.id}}</id>
<in_reply_to_user_id>{{$status.in_reply_to_user_id}}</in_reply_to_user_id>
<in_reply_to_screen_name>{{$status.in_reply_to_screen_name}}</in_reply_to_screen_name>
<geo>{{$status.geo}}</geo>
<favorited>{{$status.favorited}}</favorited>
{{include file="api_user_xml.tpl" user=$status.user}} <statusnet:html>{{$status.statusnet_html}}</statusnet:html>
<statusnet:conversation_id>{{$status.statusnet_conversation_id}}</statusnet:conversation_id>
<url>{{$status.url}}</url>
<coordinates>{{$status.coordinates}}</coordinates>
<place>{{$status.place}}</place>
<contributors>{{$status.contributors}}</contributors>
</status>
{{/foreach}}</statuses>

View File

@ -1,46 +0,0 @@
<user>
<id>{{$user.id}}</id>
<name>{{$user.name}}</name>
<screen_name>{{$user.screen_name}}</screen_name>
<location>{{$user.location}}</location>
<description>{{$user.description}}</description>
<profile_image_url>{{$user.profile_image_url}}</profile_image_url>
<url>{{$user.url}}</url>
<protected>{{$user.protected}}</protected>
<followers_count>{{$user.followers_count}}</followers_count>
<friends_count>{{$user.friends_count}}</friends_count>
<created_at>{{$user.created_at}}</created_at>
<favourites_count>{{$user.favourites_count}}</favourites_count>
<utc_offset>{{$user.utc_offset}}</utc_offset>
<time_zone>{{$user.time_zone}}</time_zone>
<statuses_count>{{$user.statuses_count}}</statuses_count>
<following>{{$user.following}}</following>
<profile_background_color>{{$user.profile_background_color}}</profile_background_color>
<profile_text_color>{{$user.profile_text_color}}</profile_text_color>
<profile_link_color>{{$user.profile_link_color}}</profile_link_color>
<profile_sidebar_fill_color>{{$user.profile_sidebar_fill_color}}</profile_sidebar_fill_color>
<profile_sidebar_border_color>{{$user.profile_sidebar_border_color}}</profile_sidebar_border_color>
<profile_background_image_url>{{$user.profile_background_image_url}}</profile_background_image_url>
<profile_background_tile>{{$user.profile_background_tile}}</profile_background_tile>
<profile_use_background_image>{{$user.profile_use_background_image}}</profile_use_background_image>
<notifications>{{$user.notifications}}</notifications>
<geo_enabled>{{$user.geo_enabled}}</geo_enabled>
<verified>{{$user.verified}}</verified>
<lang>{{$user.lang}}</lang>
<contributors_enabled>{{$user.contributors_enabled}}</contributors_enabled>
<status>{{if $user.status}}
<created_at>{{$user.status.created_at}}</created_at>
<id>{{$user.status.id}}</id>
<text>{{$user.status.text}}</text>
<source>{{$user.status.source}}</source>
<truncated>{{$user.status.truncated}}</truncated>
<in_reply_to_status_id>{{$user.status.in_reply_to_status_id}}</in_reply_to_status_id>
<in_reply_to_user_id>{{$user.status.in_reply_to_user_id}}</in_reply_to_user_id>
<favorited>{{$user.status.favorited}}</favorited>
<in_reply_to_screen_name>{{$user.status.in_reply_to_screen_name}}</in_reply_to_screen_name>
<geo>{{$user.status.geo}}</geo>
<coordinates>{{$user.status.coordinates}}</coordinates>
<place>{{$user.status.place}}</place>
<contributors>{{$user.status.contributors}}</contributors>
{{/if}}</status>
</user>

View File

@ -1,10 +0,0 @@
{{if $count}}
<div id="birthday-notice" class="birthday-notice fakelink {{$classtoday}}" onclick="openClose('birthday-wrapper');">{{$event_reminders}} ({{$count}})</div>
<div id="birthday-wrapper" style="display: none;" ><div id="birthday-title">{{$event_title}}</div>
<div id="birthday-title-end"></div>
{{foreach $events as $event}}
<div class="birthday-list" id="birthday-{{$event.id}}"></a> <a href="{{$event.link}}">{{$event.title}}</a> {{$event.date}} </div>
{{/foreach}}
</div>
{{/if}}

View File

@ -1,30 +0,0 @@
<script language="javascript" type="text/javascript"
src="{{$baseurl}}/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
<script language="javascript" type="text/javascript">
tinyMCE.init({
theme : "advanced",
mode : "{{$editselect}}",
elements: "contact-edit-info",
plugins : "bbcode",
theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor",
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "center",
theme_advanced_styles : "blockquote,code",
gecko_spellcheck : true,
entity_encoding : "raw",
add_unload_trigger : false,
remove_linebreaks : false,
force_p_newlines : false,
force_br_newlines : true,
forced_root_block : '',
content_css: "{{$baseurl}}/view/custom_tinymce.css"
});
</script>

View File

@ -1,57 +0,0 @@
<h3>{{$header}}</h3>
<div id="delegate-desc" class="delegate-desc">{{$desc}}</div>
{{if $managers}}
<h3>{{$head_managers}}</h3>
{{foreach $managers as $x}}
<div class="contact-block-div">
<a class="contact-block-link" href="#" >
<img class="contact-block-img" src="{{$base}}/photo/thumb/{{$x.uid}}" title="{{$x.username}} ({{$x.nickname}})" />
</a>
</div>
{{/foreach}}
<div class="clear"></div>
<hr />
{{/if}}
<h3>{{$head_delegates}}</h3>
{{if $delegates}}
{{foreach $delegates as $x}}
<div class="contact-block-div">
<a class="contact-block-link" href="{{$base}}/delegate/remove/{{$x.uid}}" >
<img class="contact-block-img" src="{{$base}}/photo/thumb/{{$x.uid}}" title="{{$x.username}} ({{$x.nickname}})" />
</a>
</div>
{{/foreach}}
<div class="clear"></div>
{{else}}
{{$none}}
{{/if}}
<hr />
<h3>{{$head_potentials}}</h3>
{{if $potentials}}
{{foreach $potentials as $x}}
<div class="contact-block-div">
<a class="contact-block-link" href="{{$base}}/delegate/add/{{$x.uid}}" >
<img class="contact-block-img" src="{{$base}}/photo/thumb/{{$x.uid}}" title="{{$x.username}} ({{$x.nickname}})" />
</a>
</div>
{{/foreach}}
<div class="clear"></div>
{{else}}
{{$none}}
{{/if}}
<hr />

View File

@ -1,8 +0,0 @@
<script>
$(document).ready(function() {
$(".comment-edit-wrapper textarea").editor_autocomplete(baseurl+"/acl?f=&n=1");
// make auto-complete work in more places
$(".wall-item-comment-wrapper textarea").editor_autocomplete(baseurl+"/acl?f=&n=1");
});
</script>

View File

@ -1,8 +0,0 @@
<div class="widget">
<h3>{{$title}}</h3>
<ul class="nav nav-pills nav-stacked">
<li><a href="#" onclick="changeView('changeView', 'month'); return false;">{{$month}}</a></li>
<li><a href="#" onclick="changeView('changeView', 'agendaWeek'); return false;">{{$week}}</a></li>
<li><a href="#" onclick="changeView('changeView', 'agendaDay'); return false;">{{$day}}</a></li>
</ul>
</div>

View File

@ -1,10 +0,0 @@
{{if $count}}
<div id="event-notice" class="birthday-notice fakelink {{$classtoday}}" onclick="openClose('event-wrapper');">{{$event_reminders}} ({{$count}})</div>
<div id="event-wrapper" style="display: none;" ><div id="event-title">{{$event_title}}</div>
<div id="event-title-end"></div>
{{foreach $events as $event}}
<div class="event-list" id="event-{{$event.id}}"></a> <a href="events/{{$event.link}}">{{$event.title}}</a> {{$event.date}} </div>
{{/foreach}}
</div>
{{/if}}

View File

@ -1,7 +0,0 @@
<div class="group-delete-wrapper button" id="group-delete-wrapper-{{$id}}" >
<a href="group/drop/{{$id}}?t={{$form_security_token}}"
onclick="return confirmDelete();"
id="group-delete-icon-{{$id}}"
class="group-delete-icon btn btn-outline-secondary" title="{{$delete}}" ><i class="fa fa-trash-o drop-icons"></i></a>
</div>
<div class="group-delete-end"></div>

View File

@ -1,16 +0,0 @@
<div class="profile-match-wrapper">
<div class="profile-match-photo">
<a href="{{$url}}">
<img src="{{$photo}}" alt="{{$name}}" title="{{$name}}[{{$tags}}]" />
</a>
</div>
<div class="profile-match-break"></div>
<div class="profile-match-name">
<a href="{{$url}}" title="{{$name}}[{{$tags}}]">{{$name}}</a>
</div>
<div class="profile-match-end"></div>
{{if $connlnk}}
<div class="profile-match-connect"><a href="{{$connlnk}}" title="{{$conntxt}}"><i class="fa fa-plus connect-icon"></i> {{$conntxt}}</a></div>
{{/if}}
</div>

View File

@ -1,6 +0,0 @@
<div id="directory_safemode" class="widget">
<h3>{{$safemode}}</h3>
<ul class="nav nav-pills nav-stacked">
<li><a href="toggle_safesearch">{{$toggle}}</a></li>
</ul>
</div>

View File

@ -1,11 +0,0 @@
{{* TODO: Make id configurabel *}}
<select id='timezone_select' name='timezone'>
{{foreach $continents as $continent => $cities}}
<optgroup label="{{$continent}}">
{{foreach $cities as $city => $value}}
<option value='{{$value}}' {{if $value == $selected}}selected='selected'{{/if}}>{{$city}}</option>
{{/foreach}}
</optgroup>
{{/foreach}}
</select>

View File

@ -1,10 +0,0 @@
<div class="generic-content-wrapper-styled">
<h1>{{$title}}</h1>
<form action="settings/connectors" method="post" autocomplete="off">
<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
{{$settings_connectors}}
</form>
</div>

View File

@ -8,6 +8,7 @@
<input type="hidden" id="id_abook" name="abook" value="{{$abook}}" />
{{include file="field_input.tpl" field=$name}}
{{include file="field_input.tpl" field=$tags}}
{{include file="field_checkbox.tpl" field=$resend}}
{{include file="field_textarea.tpl" field=$words}}
<div class="sources-submit-wrapper" >

View File

@ -7,6 +7,7 @@
<input type="hidden" id="id_abook" name="abook" value="{{$abook}}" />
{{include file="field_input.tpl" field=$name}}
{{include file="field_input.tpl" field=$tags}}
{{include file="field_checkbox.tpl" field=$resend}}
{{include file="field_textarea.tpl" field=$words}}
<div class="sources-submit-wrapper" >

View File

@ -1,2 +0,0 @@
<a id="toggle_mobile_link" href="{{$toggle_link}}">{{$toggle_text}}</a>

View File

@ -1,3 +0,0 @@
<div id="write-pages" class="bigwidget">
<span id="wp-new"><a href="{{$newurl}}">{{$new}}</a></span> <span id="wp-edit"><a href="{{$editurl}}">{{$edit}}</a></span>
</div>