Merge develop into 3011_hcard_vcard

This commit is contained in:
rabuzarus 2015-12-01 18:34:13 +01:00
commit 39b37281a7
14 changed files with 1081 additions and 804 deletions

View file

@ -737,7 +737,14 @@ if(! class_exists('App')) {
if($interval < 10000)
$interval = 40000;
$this->page['title'] = $this->config['sitename'];
// compose the page title from the sitename and the
// current module called
if (!$this->module=='')
{
$this->page['title'] = $this->config['sitename'].' ('.$this->module.')';
} else {
$this->page['title'] = $this->config['sitename'];
}
/* put the head template at the beginning of page['htmlhead']
* since the code added by the modules frequently depends on it

View file

@ -19,6 +19,7 @@ General
* v: Videos
* e: Events and Calendar
* t: Personal Notes
* k: View Contacts
/contacts (contact list)
---------

View file

@ -1386,11 +1386,6 @@ function diaspora_asphoto($importer,$xml,$msg) {
}
function diaspora_comment($importer,$xml,$msg) {
$a = get_app();
@ -1510,16 +1505,27 @@ function diaspora_comment($importer,$xml,$msg) {
}
}
// Fetch the contact id - if we know this contact
$r = q("SELECT `id`, `network` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d LIMIT 1",
dbesc(normalise_link($person['url'])), intval($importer['uid']));
if ($r) {
$cid = $r[0]['id'];
$network = $r[0]['network'];
} else {
$cid = $contact['id'];
$network = NETWORK_DIASPORA;
}
$body = diaspora2bb($text);
$message_id = $diaspora_handle . ':' . $guid;
$datarray = array();
$datarray['uid'] = $importer['uid'];
$datarray['contact-id'] = $contact['id'];
$datarray['contact-id'] = $cid;
$datarray['type'] = 'remote-comment';
$datarray['wall'] = $parent_item['wall'];
$datarray['network'] = NETWORK_DIASPORA;
$datarray['network'] = $network;
$datarray['verb'] = ACTIVITY_POST;
$datarray['gravity'] = GRAVITY_COMMENT;
$datarray['guid'] = $guid;
@ -2155,13 +2161,24 @@ function diaspora_like($importer,$xml,$msg) {
EOT;
$bodyverb = t('%1$s likes %2$s\'s %3$s');
// Fetch the contact id - if we know this contact
$r = q("SELECT `id`, `network` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d LIMIT 1",
dbesc(normalise_link($person['url'])), intval($importer['uid']));
if ($r) {
$cid = $r[0]['id'];
$network = $r[0]['network'];
} else {
$cid = $contact['id'];
$network = NETWORK_DIASPORA;
}
$arr = array();
$arr['uri'] = $uri;
$arr['uid'] = $importer['uid'];
$arr['guid'] = $guid;
$arr['network'] = NETWORK_DIASPORA;
$arr['contact-id'] = $contact['id'];
$arr['network'] = $network;
$arr['contact-id'] = $cid;
$arr['type'] = 'activity';
$arr['wall'] = $parent_item['wall'];
$arr['gravity'] = GRAVITY_LIKE;

View file

@ -203,8 +203,8 @@ function feed_import($xml,$importer,&$contact, &$hub) {
//$item["object"] = $xml;
$r = q("SELECT `id` FROM `item` WHERE `uid` = %d AND `uri` = '%s' AND `network` = '%s'",
intval($importer["uid"]), dbesc($item["uri"]), dbesc(NETWORK_FEED));
$r = q("SELECT `id` FROM `item` WHERE `uid` = %d AND `uri` = '%s' AND `network` IN ('%s', '%s')",
intval($importer["uid"]), dbesc($item["uri"]), dbesc(NETWORK_FEED), dbesc(NETWORK_DFRN));
if ($r) {
logger("Item with uri ".$item["uri"]." for user ".$importer["uid"]." already existed under id ".$r[0]["id"], LOGGER_DEBUG);
continue;

View file

@ -725,6 +725,16 @@ if(! function_exists('profile_tabs')){
);
}
if ((! $is_owner) && ((count($a->profile)) || (! $a->profile['hide-friends']))) {
$tabs[] = array(
'label' => t('Contacts'),
'url' => $a->get_baseurl() . '/viewcontacts/' . $nickname,
'sel' => ((!isset($tab)&&$a->argv[0]=='viewcontacts')?'active':''),
'title' => t('Contacts'),
'id' => 'viewcontacts-tab',
'accesskey' => 'k',
);
}
$arr = array('is_owner' => $is_owner, 'nickname' => $nickname, 'tab' => (($tab) ? $tab : false), 'tabs' => $tabs);
call_hooks('profile_tabs', $arr);

View file

@ -1196,6 +1196,24 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa
}
}
// Do we already have this item?
// We have to check several networks since Friendica posts could be repeated via OStatus (maybe Diasporsa as well)
if (in_array(trim($arr['network']), array(NETWORK_DIASPORA, NETWORK_DFRN, NETWORK_OSTATUS, ""))) {
$r = q("SELECT `id`, `network` FROM `item` WHERE `uri` = '%s' AND `uid` = %d AND `network` IN ('%s', '%s', '%s') LIMIT 1",
dbesc(trim($arr['uri'])),
intval($uid),
dbesc(NETWORK_DIASPORA),
dbesc(NETWORK_DFRN),
dbesc(NETWORK_OSTATUS)
);
if ($r) {
// We only log the entries with a different user id than 0. Otherwise we would have too many false positives
if ($uid != 0)
logger("Item with uri ".$arr['uri']." already existed for user ".$uid." with id ".$r[0]["id"]." target network ".$r[0]["network"]." - new network: ".$arr['network']);
return($r[0]["id"]);
}
}
// If there is no guid then take the same guid that was taken before for the same uri
if ((trim($arr['guid']) == "") AND (trim($arr['uri']) != "") AND (trim($arr['network']) != "")) {
logger('item_store: checking for an existing guid for uri '.$arr['uri'], LOGGER_DEBUG);
@ -1425,9 +1443,10 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa
}
}
$r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' AND `network` = '%s' AND `uid` = %d LIMIT 1",
$r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' AND `network` IN ('%s', '%s') AND `uid` = %d LIMIT 1",
dbesc($arr['uri']),
dbesc($arr['network']),
dbesc(NETWORK_DFRN),
intval($arr['uid'])
);
if($r && count($r)) {
@ -1488,14 +1507,24 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa
// And restore it
$arr = $unescaped;
// find the item we just created
$r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' AND `uid` = %d AND `network` = '%s' ORDER BY `id` ASC ",
// find the item that we just created
$r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' AND `uid` = %d AND `network` = '%s' ORDER BY `id` ASC",
dbesc($arr['uri']),
intval($arr['uid']),
dbesc($arr['network'])
);
if(count($r)) {
if(count($r) > 1) {
// There are duplicates. Keep the oldest one, delete the others
logger('item_store: duplicated post occurred. Removing newer duplicates. uri = '.$arr['uri'].' uid = '.$arr['uid']);
q("DELETE FROM `item` WHERE `uri` = '%s' AND `uid` = %d AND `network` = '%s' AND `id` > %d",
dbesc($arr['uri']),
intval($arr['uid']),
dbesc($arr['network']),
intval($r[0]["id"])
);
return 0;
} elseif(count($r)) {
// Store the guid and other relevant data
add_guid($arr);
@ -1528,14 +1557,6 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa
logger('item_store: could not locate created item');
return 0;
}
if(count($r) > 1) {
logger('item_store: duplicated post occurred. Removing duplicates. uri = '.$arr['uri'].' uid = '.$arr['uid']);
q("DELETE FROM `item` WHERE `uri` = '%s' AND `uid` = %d AND `id` != %d ",
dbesc($arr['uri']),
intval($arr['uid']),
intval($current_post)
);
}
if((! $parent_id) || ($arr['parent-uri'] === $arr['uri']))
$parent_id = $current_post;

View file

@ -87,7 +87,6 @@ function add_shadow_entry($item) {
// Is there already a shadow entry?
$r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' AND `uid` = 0 LIMIT 1", dbesc($item['uri']));
if (count($r))
return;

View file

@ -8,7 +8,23 @@ function viewcontacts_init(&$a) {
return;
}
profile_load($a,$a->argv[1]);
nav_set_selected('home');
if($a->argc > 1) {
$nick = $a->argv[1];
$r = q("SELECT * FROM `user` WHERE `nickname` = '%s' AND `blocked` = 0 LIMIT 1",
dbesc($nick)
);
if(! count($r))
return;
$a->data['user'] = $r[0];
$a->profile_uid = $r[0]['uid'];
$is_owner = (local_user() && (local_user() == $a->profile_uid));
profile_load($a,$a->argv[1]);
}
}
@ -25,6 +41,10 @@ function viewcontacts_content(&$a) {
return;
}
$o = "";
// tabs
$o .= profile_tabs($a,$is_owner, $a->data['user']['nickname']);
$r = q("SELECT COUNT(*) AS `total` FROM `contact`
WHERE `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 AND `archive` = 0
@ -93,7 +113,7 @@ function viewcontacts_content(&$a) {
$tpl = get_markup_template("viewcontact_template.tpl");
$o .= replace_macros($tpl, array(
'$title' => t('View Contacts'),
'$title' => t('Contacts'),
'$contacts' => $contacts,
'$paginate' => paginate($a),
));

File diff suppressed because it is too large Load diff

View file

@ -297,6 +297,7 @@ $a->strings["{0} wants to be your friend"] = "{0} möchte mit Dir in Kontakt tre
$a->strings["{0} sent you a message"] = "{0} schickte Dir eine Nachricht";
$a->strings["{0} requested registration"] = "{0} möchte sich registrieren";
$a->strings["No contacts."] = "Keine Kontakte.";
$a->strings["Forum"] = "Forum";
$a->strings["View Contacts"] = "Kontakte anzeigen";
$a->strings["Invalid request identifier."] = "Invalid request identifier.";
$a->strings["Discard"] = "Verwerfen";
@ -582,6 +583,8 @@ $a->strings["Maximum Load Average"] = "Maximum Load Average";
$a->strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Maximale Systemlast bevor Verteil- und Empfangsprozesse verschoben werden - Standard 50";
$a->strings["Maximum Load Average (Frontend)"] = "Maximum Load Average (Frontend)";
$a->strings["Maximum system load before the frontend quits service - default 50."] = "Maximale Systemlast bevor Vordergrundprozesse pausiert werden - Standard 50.";
$a->strings["Maximum table size for optimization"] = "Maximale Tabellengröße zur Optimierung";
$a->strings["Maximum table size (in MB) for the automatic optimization - default 100 MB. Enter -1 to disable it."] = "Maximale Tabellengröße (in MB) für die automatische Optimierung - Standard 100 MB. Gib -1 für Deaktivierung ein.";
$a->strings["Periodical check of global contacts"] = "Regelmäßig globale Kontakte überprüfen";
$a->strings["If enabled, the global contacts are checked periodically for missing or outdated data and the vitality of the contacts and servers."] = "Wenn diese Option aktiviert ist, werden die globalen Kontakte regelmäßig auf fehlende oder veraltete Daten sowie auf Erreichbarkeit des Kontakts und des Servers überprüft.";
$a->strings["Days between requery"] = "Tage zwischen erneuten Abfragen";
@ -720,11 +723,9 @@ $a->strings["Private messages to this group are at risk of public disclosure."]
$a->strings["No such group"] = "Es gibt keine solche Gruppe";
$a->strings["Group is empty"] = "Gruppe ist leer";
$a->strings["Group: %s"] = "Gruppe: %s";
$a->strings["Contact: %s"] = "Kontakt: %s";
$a->strings["Private messages to this person are at risk of public disclosure."] = "Private Nachrichten an diese Person könnten an die Öffentlichkeit gelangen.";
$a->strings["Invalid contact."] = "Ungültiger Kontakt.";
$a->strings["No friends to display."] = "Keine Freunde zum Anzeigen.";
$a->strings["Forum"] = "Forum";
$a->strings["Friends of %s"] = "Freunde von %s";
$a->strings["Event can not end before it has started."] = "Die Veranstaltung kann nicht enden bevor sie beginnt.";
$a->strings["Event title and start time are required."] = "Der Veranstaltungstitel und die Anfangszeit müssen angegeben werden.";
@ -1128,6 +1129,7 @@ $a->strings["StatusNet/Federated Social Web"] = "StatusNet/Federated Social Web"
$a->strings[" - please do not use this form. Instead, enter %s into your Diaspora search bar."] = " - bitte verwende dieses Formular nicht. Stattdessen suche nach %s in Deiner Diaspora Suchleiste.";
$a->strings["Registration successful. Please check your email for further instructions."] = "Registrierung erfolgreich. Eine E-Mail mit weiteren Anweisungen wurde an Dich gesendet.";
$a->strings["Failed to send email message. Here your accout details:<br> login: %s<br> password: %s<br><br>You can change your password after login."] = "Versenden der E-Mail fehlgeschlagen. Hier sind Deine Account Details:\n\nLogin: %s\nPasswort: %s\n\nDu kannst das Passwort nach dem Anmelden ändern.";
$a->strings["Registration successful."] = "Registrierung erfolgreich.";
$a->strings["Your registration can not be processed."] = "Deine Registrierung konnte nicht verarbeitet werden.";
$a->strings["Your registration is pending approval by the site owner."] = "Deine Registrierung muss noch vom Betreiber der Seite freigegeben werden.";
$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Die maximale Anzahl täglicher Registrierungen auf dieser Seite wurde überschritten. Bitte versuche es morgen noch einmal.";
@ -1458,6 +1460,8 @@ $a->strings["Add/remove mention when a fourm page is selected/deselected in ACL
$a->strings["Network Sidebar Widgets"] = "Widgets für Netzwerk und Seitenleiste";
$a->strings["Search by Date"] = "Archiv";
$a->strings["Ability to select posts by date ranges"] = "Möglichkeit die Beiträge nach Datumsbereichen zu sortieren";
$a->strings["List Forums"] = "Zeige Foren";
$a->strings["Enable widget to display the forums your are connected with"] = "Aktiviere Widget, um die Foren mit denen du verbunden bist anzuzeigen";
$a->strings["Group Filter"] = "Gruppen Filter";
$a->strings["Enable widget to display Network posts only from selected group"] = "Widget zur Darstellung der Beiträge nach Kontaktgruppen sortiert aktivieren.";
$a->strings["Network Filter"] = "Netzwerk Filter";
@ -1486,6 +1490,8 @@ $a->strings["Star Posts"] = "Beiträge Markieren";
$a->strings["Ability to mark special posts with a star indicator"] = "Erlaubt es Beiträge mit einem Stern-Indikator zu markieren";
$a->strings["Mute Post Notifications"] = "Benachrichtigungen für Beiträge Stumm schalten";
$a->strings["Ability to mute notifications for a thread"] = "Möglichkeit Benachrichtigungen für einen Thread abbestellen zu können";
$a->strings["Advanced Profile Settings"] = "Erweiterte Profil-Einstellungen";
$a->strings["Show visitors public community forums at the Advanced Profile Page"] = "Zeige Besuchern öffentliche Gemeinschafts-Foren auf der Erweiterten Profil-Seite";
$a->strings["Connect URL missing."] = "Connect-URL fehlt";
$a->strings["This site is not configured to allow communications with other networks."] = "Diese Seite ist so konfiguriert, dass keine Kommunikation mit anderen Netzwerken erfolgen kann.";
$a->strings["No compatible communication protocols or feeds were discovered."] = "Es wurden keine kompatiblen Kommunikationsprotokolle oder Feeds gefunden.";
@ -1502,6 +1508,7 @@ $a->strings["A deleted group with this name was revived. Existing item permissio
$a->strings["Default privacy group for new contacts"] = "Voreingestellte Gruppe für neue Kontakte";
$a->strings["Everybody"] = "Alle Kontakte";
$a->strings["edit"] = "bearbeiten";
$a->strings["Edit groups"] = "Gruppen bearbeiten";
$a->strings["Edit group"] = "Gruppe bearbeiten";
$a->strings["Create a new group"] = "Neue Gruppe erstellen";
$a->strings["Contacts not in any group"] = "Kontakte in keiner Gruppe";
@ -1525,6 +1532,7 @@ $a->strings["%s's birthday"] = "%ss Geburtstag";
$a->strings["Happy Birthday %s"] = "Herzlichen Glückwunsch %s";
$a->strings["Requested account is not available."] = "Das angefragte Profil ist nicht vorhanden.";
$a->strings["Edit profile"] = "Profil bearbeiten";
$a->strings["Atom feed"] = "Atom-Feed";
$a->strings["Message"] = "Nachricht";
$a->strings["Profiles"] = "Profile";
$a->strings["Manage/edit profiles"] = "Profile verwalten/editieren";
@ -1552,6 +1560,7 @@ $a->strings["Film/dance/culture/entertainment:"] = "Filme/Tänze/Kultur/Unterhal
$a->strings["Love/Romance:"] = "Liebesleben:";
$a->strings["Work/employment:"] = "Arbeit/Beschäftigung:";
$a->strings["School/education:"] = "Schule/Ausbildung:";
$a->strings["Forums:"] = "Foren:";
$a->strings["Status"] = "Status";
$a->strings["Status Messages and Posts"] = "Statusnachrichten und Beiträge";
$a->strings["Profile Details"] = "Profildetails";
@ -1629,6 +1638,8 @@ $a->strings["Undecided"] = array(
0 => "Unentschieden",
1 => "Unentschieden",
);
$a->strings["Forums"] = "Foren";
$a->strings["External link to forum"] = "Externer Link zum Forum";
$a->strings["view full size"] = "Volle Größe anzeigen";
$a->strings["newer"] = "neuer";
$a->strings["older"] = "älter";
@ -1645,7 +1656,6 @@ $a->strings["%d Contact"] = array(
);
$a->strings["Full Text"] = "Volltext";
$a->strings["Tags"] = "Tags";
$a->strings["Forums"] = "Foren";
$a->strings["poke"] = "anstupsen";
$a->strings["poked"] = "stupste";
$a->strings["ping"] = "anpingen";
@ -1949,9 +1959,20 @@ $a->strings["Your personal photos"] = "Deine privaten Fotos";
$a->strings["Local Directory"] = "Lokales Verzeichnis";
$a->strings["Set zoomfactor for Earth Layers"] = "Zoomfaktor der Earth Layer";
$a->strings["Show/hide boxes at right-hand column:"] = "Rahmen auf der rechten Seite anzeigen/verbergen";
$a->strings["Midnight"] = "Mitternacht";
$a->strings["Zenburn"] = "Zenburn";
$a->strings["Bootstrap"] = "Bootstrap";
$a->strings["Shades of Pink"] = "Shades of Pink";
$a->strings["Lime and Orange"] = "Lime and Orange";
$a->strings["GeoCities Retro"] = "GeoCities Retro";
$a->strings["Background Image"] = "Hintergrundbild";
$a->strings["The URL to a picture (e.g. from your photo album) that should be used as background image."] = "Die URL eines Bildes (z.B. aus deinem Fotoalbum), das als Hintergrundbild verwendet werden soll.";
$a->strings["Background Color"] = "Hintergrundfarbe";
$a->strings["HEX value for the background color. Don't include the #"] = "HEX Wert der Hintergrundfarbe. Gib die # nicht mit an.";
$a->strings["font size"] = "Schriftgröße";
$a->strings["base font size for your interface"] = "Basis-Schriftgröße für dein Interface.";
$a->strings["Comma separated list of helper forums"] = "Komma-Separierte Liste der Helfer-Foren";
$a->strings["Set style"] = "Stil auswählen";
$a->strings["External link to forum"] = "Externer Link zum Forum";
$a->strings["Quick Start"] = "Schnell-Start";
$a->strings["greenzero"] = "greenzero";
$a->strings["purplezero"] = "purplezero";

View file

@ -51,4 +51,3 @@
<input id="event-submit" type="submit" name="submit" value="{{$submit|escape:'html'}}" />
</form>

View file

@ -138,6 +138,10 @@
}
});
$(document).ready(function() {
$('.comment-edit-bb').hide();
});
{{else}}
<script language="javascript" type="text/javascript">
{{/if}}

View file

@ -2720,6 +2720,13 @@ a.mail-list-link {
font-weight: bold;
color: #FF0000;
}
#event-desc-text-edit-bb, #event-location-text-edit-bb {
float: none;
}
#event-start-text, #event-finish-text, #event-summary-text, #event-desc-text, #event-location-text {
margin-bottom: 10px;
margin-top: 20px;
}
.settings-block {
/* border: 1px solid #AAA; */

View file

@ -0,0 +1,74 @@
<h3>{{$title}}</h3>
<p>
{{$desc}}
</p>
<form id="event-edit-form" action="{{$post}}" method="post" >
<input type="hidden" name="event_id" value="{{$eid}}" />
<input type="hidden" name="cid" value="{{$cid}}" />
<input type="hidden" name="uri" value="{{$uri}}" />
<input type="hidden" name="preview" id="event-edit-preview" value="0" />
<div id="event-start-text">{{$s_text}}</div>
{{$s_dsel}}
<div id="event-finish-text">{{$f_text}}</div>
{{$f_dsel}}
<div id="event-datetime-break"></div>
<input type="checkbox" name="nofinish" value="1" id="event-nofinish-checkbox" {{$n_checked}} /> <div id="event-nofinish-text">{{$n_text}}</div>
<div id="event-nofinish-break"></div>
<input type="checkbox" name="adjust" value="1" id="event-adjust-checkbox" {{$a_checked}} /> <div id="event-adjust-text">{{$a_text}}</div>
<div id="event-adjust-break"></div>
<div id="event-summary-text">{{$t_text}}</div>
<input type="text" size="65" id="event-summary" name="summary" value="{{$t_orig|escape:'html'}}" />
<div id="event-desc-text">{{$d_text}}</div>
<textarea id="comment-edit-text-desc" rows="8" cols="64" name="desc">{{$d_orig}}</textarea>
<div id="event-desc-text-edit-bb" class="comment-edit-bb">
<a title="{{$edimg}}" data-role="insert-formatting" data-comment="{{$comment}}" data-bbcode="img" data-id="desc"><i class="icon-picture"></i></a>
<a title="{{$edurl}}" data-role="insert-formatting" data-comment="{{$comment}}" data-bbcode="url" data-id="desc"><i class="icon-link"></i></a>
<a title="{{$edvideo}}" data-role="insert-formatting" data-comment="{{$comment}}" data-bbcode="video" data-id="desc"><i class="icon-film"></i></a>
<a title="{{$eduline}}" data-role="insert-formatting" data-comment="{{$comment}}" data-bbcode="u" data-id="desc"><i class="icon-underline"></i></a>
<a title="{{$editalic}}" data-role="insert-formatting" data-comment="{{$comment}}" data-bbcode="i" data-id="desc"><i class="icon-italic"></i></a>
<a title="{{$edbold}}" data-role="insert-formatting" data-comment="{{$comment}}" data-bbcode="b" data-id="desc"><i class="icon-bold"></i></a>
<a title="{{$edquote}}" data-role="insert-formatting" data-comment="{{$comment}}" data-bbcode="quote" data-id="desc"><i class="icon-quote-left"></i></a>
</div>
<div id="event-location-text">{{$l_text}}</div>
<textarea id="comment-edit-text-location" rows="4" cols="64" name="location">{{$l_orig}}</textarea>
<div id="event-location-text-edit-bb" class="comment-edit-bb">
<a title="{{$edimg}}" data-role="insert-formatting" data-comment="{{$comment}}" data-bbcode="img" data-id="location"><i class="icon-picture"></i></a>
<a title="{{$edurl}}" data-role="insert-formatting" data-comment="{{$comment}}" data-bbcode="url" data-id="location"><i class="icon-link"></i></a>
<a title="{{$edvideo}}" data-role="insert-formatting" data-comment="{{$comment}}" data-bbcode="video" data-id="location"><i class="icon-film"></i></a>
<a title="{{$eduline}}" data-role="insert-formatting" data-comment="{{$comment}}" data-bbcode="u" data-id="location"><i class="icon-underline"></i></a>
<a title="{{$editalic}}" data-role="insert-formatting" data-comment="{{$comment}}" data-bbcode="i" data-id="location"><i class="icon-italic"></i></a>
<a title="{{$edbold}}" data-role="insert-formatting" data-comment="{{$comment}}" data-bbcode="b" data-id="location"><i class="icon-bold"></i></a>
<a title="{{$edquote}}" data-role="insert-formatting" data-comment="{{$comment}}" data-bbcode="quote" data-id="location"><i class="icon-quote-left"></i></a>
</div>
<div id="event-location-break"></div>
<input type="checkbox" name="share" value="1" id="event-share-checkbox" {{$sh_checked}} /> <div id="event-share-text">{{$sh_text}}</div>
<div id="event-share-break"></div>
{{$acl}}
<div class="clear"></div>
<input id="event-edit-preview" type="submit" name="preview" value="{{$preview|escape:'html'}}" onclick="doEventPreview(); return false;" />
<input id="event-submit" type="submit" name="submit" value="{{$submit|escape:'html'}}" />
</form>