Merge remote branch 'upstream/master'

This commit is contained in:
zottel 2012-03-27 13:20:59 +02:00
commit fb817a29a9
166 changed files with 7830 additions and 1314 deletions

View File

@ -9,7 +9,7 @@ require_once('include/nav.php');
require_once('include/cache.php');
define ( 'FRIENDICA_PLATFORM', 'Friendica');
define ( 'FRIENDICA_VERSION', '2.3.1289' );
define ( 'FRIENDICA_VERSION', '2.3.1293' );
define ( 'DFRN_PROTOCOL_VERSION', '2.23' );
define ( 'DB_UPDATE_VERSION', 1133 );
@ -135,6 +135,9 @@ define ( 'NOTIFY_PROFILE', 0x0040 );
define ( 'NOTIFY_TAGSELF', 0x0080 );
define ( 'NOTIFY_TAGSHARE', 0x0100 );
define ( 'NOTIFY_SYSTEM', 0x8000 );
/**
* various namespaces we may need to parse
*/

BIN
images/blank.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -15,8 +15,6 @@ function findpeople_widget() {
$a = get_app();
$inv = (($a->config['register_policy'] != REGISTER_CLOSED) ? t('Invite Friends') : '');
if(get_config('system','invitation_only')) {
$x = get_pconfig(local_user(),'system','invites_remaining');
if($x || is_site_admin()) {
@ -34,7 +32,7 @@ function findpeople_widget() {
'$findthem' => t('Find'),
'$suggest' => t('Friend Suggestions'),
'$similar' => t('Similar Interests'),
'$inv' => $inv
'$inv' => t('Invite Friends')
));
}

View File

@ -1737,7 +1737,7 @@ function diaspora_retraction($importer,$xml) {
contact_remove($contact['id']);
}
elseif($type === 'Post') {
$r = q("select * from item where guid = '%s' and uid = %d limit 1",
$r = q("select * from item where guid = '%s' and uid = %d and not file like '%%[%%' limit 1",
dbesc('guid'),
intval($importer['uid'])
);
@ -1785,7 +1785,7 @@ function diaspora_signed_retraction($importer,$xml,$msg) {
}
if($type === 'StatusMessage') {
$r = q("select * from item where guid = '%s' and uid = %d limit 1",
$r = q("select * from item where guid = '%s' and uid = %d and not file like '%%[%%' limit 1",
dbesc($guid),
intval($importer['uid'])
);

View File

@ -5,6 +5,12 @@ function notification($params) {
logger('notification: entry', LOGGER_DEBUG);
$a = get_app();
// from here on everything is in the recipients language
push_lang($params['language']);
$banner = t('Friendica Notification');
$product = FRIENDICA_PLATFORM;
$siteurl = z_path();
@ -153,9 +159,33 @@ function notification($params) {
}
// from here on everything is in the recipients language
if($params['type'] == NOTIFY_SYSTEM) {
}
$h = array(
'params' => $params,
'subject' => $subject,
'preamble' => $preamble,
'epreamble' => $epreamble,
'body' => $body,
'sitelink' => $sitelink,
'tsitelink' => $tsitelink,
'hsitelink' => $hsitelink,
'itemlink' => $itemlink
);
call_hooks('enotify',$h);
$subject = $h['subject'];
$preamble = $h['preamble'];
$epreamble = $h['epreamble'];
$body = $h['body'];
$sitelink = $h['sitelink'];
$tsitelink = $h['tsitelink'];
$hsitelink = $h['hsitelink'];
$itemlink = $h['itemlink'];
push_lang($params['language']);
require_once('include/html2bbcode.php');
@ -207,8 +237,10 @@ function notification($params) {
);
if($r)
$notify_id = $r[0]['id'];
else
else {
pop_lang();
return;
}
$itemlink = $a->get_baseurl() . '/notify/view/' . $notify_id;
$msg = replace_macros($epreamble,array('$itemlink' => $itemlink));
@ -219,11 +251,10 @@ function notification($params) {
);
// send email notification if notification preferences permit
require_once('bbcode.php');
if(intval($params['notify_flags']) & intval($params['type'])) {
if((intval($params['notify_flags']) & intval($params['type'])) || $params['type'] == NOTIFY_SYSTEM) {
logger('notification: sending notification email');

View File

@ -7,14 +7,11 @@ require_once('include/crypto.php');
function get_feed_for(&$a, $dfrn_id, $owner_nick, $last_update, $direction = 0) {
// default permissions - anonymous user
if(! strlen($owner_nick))
killme();
$sitefeed = ((strlen($owner_nick)) ? false : true); // not yet implemented, need to rewrite huge chunks of following logic
$public_feed = (($dfrn_id) ? false : true);
$starred = false;
$converse = false;
$starred = false; // not yet implemented, possible security issues
$converse = false;
if($public_feed && $a->argc > 2) {
for($x = 2; $x < $a->argc; $x++) {
@ -25,6 +22,7 @@ function get_feed_for(&$a, $dfrn_id, $owner_nick, $last_update, $direction = 0)
}
}
// default permissions - anonymous user
$sql_extra = " AND `allow_cid` = '' AND `allow_gid` = '' AND `deny_cid` = '' AND `deny_gid` = '' ";
@ -1437,7 +1435,7 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
}
if($deleted && is_array($contact)) {
$r = q("SELECT `item`.*, `contact`.`self` FROM `item` left join `contact` on `item`.`contact-id` = `contact`.`id`
WHERE `uri` = '%s' AND `item`.`uid` = %d AND `contact-id` = %d LIMIT 1",
WHERE `uri` = '%s' AND `item`.`uid` = %d AND `contact-id` = %d AND NOT `item`.`file` LIKE '%%[%%' LIMIT 1",
dbesc($uri),
intval($importer['uid']),
intval($contact['id'])
@ -1898,6 +1896,14 @@ function local_delivery($importer,$data) {
);
if(count($r)) {
$fid = $r[0]['id'];
// OK, we do. Do we already have an introduction for this person ?
$r = q("select id from intro where uid = %d and fid = %d limit 1",
intval($fsugg['uid']),
intval($fid)
);
if(count($r))
return 0;
}
if(! $fid)
$r = q("INSERT INTO `fcontact` ( `name`,`url`,`photo`,`request` ) VALUES ( '%s', '%s', '%s', '%s' ) ",
@ -1918,6 +1924,7 @@ function local_delivery($importer,$data) {
else
return 0;
$hash = random_string();
$r = q("INSERT INTO `intro` ( `uid`, `fid`, `contact-id`, `note`, `hash`, `datetime`, `blocked` )
@ -2038,7 +2045,7 @@ function local_delivery($importer,$data) {
if($deleted) {
$r = q("SELECT `item`.*, `contact`.`self` FROM `item` left join contact on `item`.`contact-id` = `contact`.`id`
WHERE `uri` = '%s' AND `item`.`uid` = %d AND `contact-id` = %d LIMIT 1",
WHERE `uri` = '%s' AND `item`.`uid` = %d AND `contact-id` = %d AND NOT `item`.`file` LIKE '%%[%%' LIMIT 1",
dbesc($uri),
intval($importer['importer_uid']),
intval($importer['id'])
@ -2929,6 +2936,11 @@ function item_expire($uid,$days) {
foreach($r as $item) {
// don't expire filed items
if(strpos($item['file'],'[') !== false)
continue;
// Only expire posts, not photos and photo comments
if($expire_photos==0 && strlen($item['resource-id']))

View File

@ -38,7 +38,8 @@ function oembed_fetch_url($embedurl){
$entries = $xpath->query("//link[@type='application/json+oembed']");
foreach($entries as $e){
$href = $e->getAttributeNode("href")->nodeValue;
$txt = fetch_url($href);
$txt = fetch_url($href . '&maxwidth=425');
break;
}
}
}
@ -46,7 +47,7 @@ function oembed_fetch_url($embedurl){
if ($txt==false || $txt==""){
// try oohembed service
$ourl = "http://oohembed.com/oohembed/?url=".urlencode($embedurl);
$ourl = "http://oohembed.com/oohembed/?url=".urlencode($embedurl).'&maxwidth=425';
$txt = fetch_url($ourl);
}

View File

@ -249,6 +249,7 @@ function get_theme_info($theme){
list($k,$v) = array_map("trim", explode(":",$l,2));
$k= strtolower($k);
if ($k=="author"){
$r=preg_match("|([^<]+)<([^>]+)>|", $v, $m);
if ($r) {
$info['author'][] = array('name'=>$m[1], 'link'=>$m[2]);
@ -276,3 +277,13 @@ function get_theme_info($theme){
return $info;
}}
function get_theme_screenshot($theme) {
$a = get_app();
$exts = array('.png','.jpg');
foreach($exts as $ext) {
if(file_exists('view/theme/' . $theme . '/screenshot' . $ext))
return($a->get_baseurl() . '/view/theme/' . $theme . '/screenshot' . $ext);
}
return($a->get_baseurl() . '/images/blank.png');
}

View File

@ -237,12 +237,14 @@ function suggestion_query($uid, $start = 0, $limit = 80) {
$r = q("SELECT count(glink.gcid) as `total`, gcontact.* from gcontact
left join glink on glink.gcid = gcontact.id
where uid = %d and not gcontact.nurl in ( select nurl from contact where uid = %d)
where uid = %d and not gcontact.nurl in ( select nurl from contact where uid = %d )
and not gcontact.name in ( select name from contact where uid = %d )
and not gcontact.id in ( select gcid from gcign where uid = %d )
group by glink.gcid order by total desc limit %d, %d ",
intval($uid),
intval($uid),
intval($uid),
intval($uid),
intval($start),
intval($limit)
);
@ -252,11 +254,13 @@ function suggestion_query($uid, $start = 0, $limit = 80) {
$r2 = q("SELECT gcontact.* from gcontact
left join glink on glink.gcid = gcontact.id
where glink.uid = 0 and glink.cid = 0 and not gcontact.nurl in ( select nurl from contact where uid = %d)
where glink.uid = 0 and glink.cid = 0 and not gcontact.nurl in ( select nurl from contact where uid = %d )
and not gcontact.name in ( select name from contact where uid = %d )
and not gcontact.id in ( select gcid from gcign where uid = %d )
order by rand() limit %d, %d ",
intval($uid),
intval($uid),
intval($uid),
intval($start),
intval($limit)
);

View File

@ -52,7 +52,7 @@ aStates[28]="|Central|Chobe|Francistown|Gaborone|Ghanzi|Kgalagadi|Kgatleng|Kwene
aStates[29]="|Acre|Alagoas|Amapa|Amazonas|Bahia|Ceara|Distrito Federal|Espirito Santo|Goias|Maranhao|Mato Grosso|Mato Grosso do Sul|Minas Gerais|Para|Paraiba|Parana|Pernambuco|Piaui|Rio de Janeiro|Rio Grande do Norte|Rio Grande do Sul|Rondonia|Roraima|Santa Catarina|Sao Paulo|Sergipe|Tocantins";
aStates[30]="|Anegada|Jost Van Dyke|Tortola|Virgin Gorda";
aStates[31]="|Belait|Brunei and Muara|Temburong|Tutong";
aStates[32]="|Blagoevgrad|Burgas|Dobrich|Gabrovo|Khaskovo|Kurdzhali|Kyustendil|Lovech|Montana|Pazardzhik|Pernik|Pleven|Plovdiv|Razgrad|Ruse|Shumen|Silistra|Sliven|Smolyan|Sofiya|Sofiya-Grad|Stara Zagora|Turgovishte|Varna|Veliko Turnovo|Vidin|Vratsa|Yambol";
aStates[32]="|Blagoevgrad|Burgas|Dobrich|Gabrovo|Haskovo|Kardzhali|Kyustendil|Lovech|Montana|Pazardzhik|Pernik|Pleven|Plovdiv|Razgrad|Rousse|Shumen|Silistra|Sliven|Smolyan|Sofia|Stara Zagora|Turgovishte|Varna|Veliko Turnovo|Vidin|Vratsa|Yambol";
aStates[33]="|Bale|Bam|Banwa|Bazega|Bougouriba|Boulgou|Boulkiemde|Comoe|Ganzourgou|Gnagna|Gourma|Houet|Ioba|Kadiogo|Kenedougou|Komandjari|Kompienga|Kossi|Koupelogo|Kouritenga|Kourweogo|Leraba|Loroum|Mouhoun|Nahouri|Namentenga|Naumbiel|Nayala|Oubritenga|Oudalan|Passore|Poni|Samentenga|Sanguie|Seno|Sissili|Soum|Sourou|Tapoa|Tuy|Yagha|Yatenga|Ziro|Zondomo|Zoundweogo";
aStates[34]="|Ayeyarwady|Bago|Chin State|Kachin State|Kayah State|Kayin State|Magway|Mandalay|Mon State|Rakhine State|Sagaing|Shan State|Tanintharyi|Yangon";
aStates[35]="|Bubanza|Bujumbura|Bururi|Cankuzo|Cibitoke|Gitega|Karuzi|Kayanza|Kirundo|Makamba|Muramvya|Muyinga|Mwaro|Ngozi|Rutana|Ruyigi";
@ -105,7 +105,7 @@ aStates[79]="|Estuaire|Haut-Ogooue|Moyen-Ogooue|Ngounie|Nyanga|Ogooue-Ivindo|Ogo
aStates[80]="|Banjul|Central River|Lower River|North Bank|Upper River|Western";
aStates[81]="|Gaza Strip";
aStates[82]="|Abashis|Abkhazia or Ap'khazet'is Avtonomiuri Respublika (Sokhumi)|Adigenis|Ajaria or Acharis Avtonomiuri Respublika (Bat'umi)|Akhalgoris|Akhalk'alak'is|Akhalts'ikhis|Akhmetis|Ambrolauris|Aspindzis|Baghdat'is|Bolnisis|Borjomis|Ch'khorotsqus|Ch'okhatauris|Chiat'ura|Dedop'listsqaros|Dmanisis|Dushet'is|Gardabanis|Gori|Goris|Gurjaanis|Javis|K'arelis|K'ut'aisi|Kaspis|Kharagaulis|Khashuris|Khobis|Khonis|Lagodekhis|Lanch'khut'is|Lentekhis|Marneulis|Martvilis|Mestiis|Mts'khet'is|Ninotsmindis|Onis|Ozurget'is|P'ot'i|Qazbegis|Qvarlis|Rust'avi|Sach'kheris|Sagarejos|Samtrediis|Senakis|Sighnaghis|T'bilisi|T'elavis|T'erjolis|T'et'ritsqaros|T'ianet'is|Tqibuli|Ts'ageris|Tsalenjikhis|Tsalkis|Tsqaltubo|Vanis|Zestap'onis|Zugdidi|Zugdidis";
aStates[83]="|Baden-Wuerttemberg|Bayern|Berlin|Brandenburg|Bremen|Hamburg|Hessen|Mecklenburg-Vorpommern|Niedersachsen|Nordrhein-Westfalen|Rheinland-Pfalz|Saarland|Sachsen|Sachsen-Anhalt|Schleswig-Holstein|Thueringen";
aStates[83]="|Baden-Württemberg|Bayern|Berlin|Brandenburg|Bremen|Hamburg|Hessen|Mecklenburg-Vorpommern|Niedersachsen|Nordrhein-Westfalen|Rheinland-Pfalz|Saarland|Sachsen|Sachsen-Anhalt|Schleswig-Holstein|Thüringen";
aStates[84]="|Ashanti|Brong-Ahafo|Central|Eastern|Greater Accra|Northern|Upper East|Upper West|Volta|Western";
aStates[85]="|Gibraltar";
aStates[86]="|Ile du Lys|Ile Glorieuse";
@ -131,8 +131,8 @@ aStates[105]="|Andaman and Nicobar Islands|Andhra Pradesh|Arunachal Pradesh|Assa
aStates[106]="|Aceh|Bali|Banten|Bengkulu|East Timor|Gorontalo|Irian Jaya|Jakarta Raya|Jambi|Jawa Barat|Jawa Tengah|Jawa Timur|Kalimantan Barat|Kalimantan Selatan|Kalimantan Tengah|Kalimantan Timur|Kepulauan Bangka Belitung|Lampung|Maluku|Maluku Utara|Nusa Tenggara Barat|Nusa Tenggara Timur|Riau|Sulawesi Selatan|Sulawesi Tengah|Sulawesi Tenggara|Sulawesi Utara|Sumatera Barat|Sumatera Selatan|Sumatera Utara|Yogyakarta";
aStates[107]="|Ardabil|Azarbayjan-e Gharbi|Azarbayjan-e Sharqi|Bushehr|Chahar Mahall va Bakhtiari|Esfahan|Fars|Gilan|Golestan|Hamadan|Hormozgan|Ilam|Kerman|Kermanshah|Khorasan|Khuzestan|Kohgiluyeh va Buyer Ahmad|Kordestan|Lorestan|Markazi|Mazandaran|Qazvin|Qom|Semnan|Sistan va Baluchestan|Tehran|Yazd|Zanjan";
aStates[108]="|Al Anbar|Al Basrah|Al Muthanna|Al Qadisiyah|An Najaf|Arbil|As Sulaymaniyah|At Ta'mim|Babil|Baghdad|Dahuk|Dhi Qar|Diyala|Karbala'|Maysan|Ninawa|Salah ad Din|Wasit";
aStates[109]="|Carlow|Cavan|Clare|Cork|Donegal|Dublin|Galway|Kerry|Kildare|Kilkenny|Laois|Leitrim|Limerick|Longford|Louth|Mayo|Meath|Monaghan|Offaly|Roscommon|Sligo|Tipperary|Waterford|Westmeath|Wexford|Wicklow";
aStates[110]="|Antrim|Ards|Armagh|Ballymena|Ballymoney|Banbridge|Belfast|Carrickfergus|Castlereagh|Coleraine|Cookstown|Craigavon|Derry|Down|Dungannon|Fermanagh|Larne|Limavady|Lisburn|Magherafelt|Moyle|Newry and Mourne|Newtownabbey|North Down|Omagh|Strabane";
aStates[109]="|Antrim|Armargh|Carlow|Cavan|Clare|Cork|Derry|Donegal|Down|Dún LaoghaireRathdown|Fermanagh|Dublin|Fingal|Galway|Kerry|Kildare|Kilkenny|Laois|Leitrim|Limerick|Longford|Louth|Mayo|Meath|Monaghan|Offaly|Roscommon|Sligo|Tipperary|Tyrone|Waterford|Westmeath|Wexford|Wicklow";
aStates[110]="|Antrim|Armagh|Belfast|Down|Fermanagh|Londonderry|Tyrone";
aStates[111]="|Central|Haifa|Jerusalem|Northern|Southern|Tel Aviv";
aStates[112]="|Abruzzi|Basilicata|Calabria|Campania|Emilia-Romagna|Friuli-Venezia Giulia|Lazio|Liguria|Lombardia|Marche|Molise|Piemonte|Puglia|Sardegna|Sicilia|Toscana|Trentino-Alto Adige|Umbria|Valle d'Aosta|Veneto";
aStates[113]="|Clarendon|Hanover|Kingston|Manchester|Portland|Saint Andrew|Saint Ann|Saint Catherine|Saint Elizabeth|Saint James|Saint Mary|Saint Thomas|Trelawny|Westmoreland";
@ -222,7 +222,7 @@ aStates[196]="|A'ana|Aiga-i-le-Tai|Atua|Fa'asaleleaga|Gaga'emauga|Gagaifomauga|P
aStates[197]="|Acquaviva|Borgo Maggiore|Chiesanuova|Domagnano|Faetano|Fiorentino|Monte Giardino|San Marino|Serravalle";
aStates[198]="|Principe|Sao Tome";
aStates[199]="|'Asir|Al Bahah|Al Hudud ash Shamaliyah|Al Jawf|Al Madinah|Al Qasim|Ar Riyad|Ash Sharqiyah (Eastern Province)|Ha'il|Jizan|Makkah|Najran|Tabuk";
aStates[200]="|Aberdeen City|Aberdeenshire|Angus|Argyll and Bute|City of Edinburgh|Clackmannanshire|Dumfries and Galloway|Dundee City|East Ayrshire|East Dunbartonshire|East Lothian|East Renfrewshire|Eilean Siar (Western Isles)|Falkirk|Fife|Glasgow City|Highland|Inverclyde|Midlothian|Moray|North Ayrshire|North Lanarkshire|Orkney Islands|Perth and Kinross|Renfrewshire|Shetland Islands|South Ayrshire|South Lanarkshire|Stirling|The Scottish Borders|West Dunbartonshire|West Lothian";
aStates[200]="|Aberdeenshire|Angus|Argyll|Ayrshire|Banffshire|Berwickshire|Bute|Caithness|Clackmannanshire|Cromartyshire|Dumfriesshire|Dunbartonshire|Dundee City|East Lothian|Edinburgh|Fife|Glasgow City|Inverness-shire|Kincardineshire|Kinross-shire|Kirkcudbrightshire|Lanarkshire|Midlothian|Moray|Nairnshire|Orkney Islands|Peeblesshire|Perthshire|Renfrewshire|Ross and Cromarty|Ross-shire|Roxburghshire|Selkirkshire|Shetland Islands|Stirlingshire|Sutherland|West Lothian|Wigtownshire";
aStates[201]="|Dakar|Diourbel|Fatick|Kaolack|Kolda|Louga|Saint-Louis|Tambacounda|Thies|Ziguinchor";
aStates[202]="|Anse aux Pins|Anse Boileau|Anse Etoile|Anse Louis|Anse Royale|Baie Lazare|Baie Sainte Anne|Beau Vallon|Bel Air|Bel Ombre|Cascade|Glacis|Grand' Anse (on Mahe)|Grand' Anse (on Praslin)|La Digue|La Riviere Anglaise|Mont Buxton|Mont Fleuri|Plaisance|Pointe La Rue|Port Glaud|Saint Louis|Takamaka";
aStates[203]="|Eastern|Northern|Southern|Western";
@ -233,7 +233,7 @@ aStates[207]="|Bellona|Central|Choiseul (Lauru)|Guadalcanal|Honiara|Isabel|Makir
aStates[208]="|Awdal|Bakool|Banaadir|Bari|Bay|Galguduud|Gedo|Hiiraan|Jubbada Dhexe|Jubbada Hoose|Mudug|Nugaal|Sanaag|Shabeellaha Dhexe|Shabeellaha Hoose|Sool|Togdheer|Woqooyi Galbeed";
aStates[209]="|Eastern Cape|Free State|Gauteng|KwaZulu-Natal|Mpumalanga|North-West|Northern Cape|Northern Province|Western Cape";
aStates[210]="|Bird Island|Bristol Island|Clerke Rocks|Montagu Island|Saunders Island|South Georgia|Southern Thule|Traversay Islands";
aStates[211]="|Andalucia|Aragon|Asturias|Baleares (Balearic Islands)|Canarias (Canary Islands)|Cantabria|Castilla y Leon|Castilla-La Mancha|Catalunya|Ceuta|Communidad Valencian|Extremadura|Galicia|Islas Chafarinas|La Rioja|Madrid|Melilla|Murcia|Navarra|Pais Vasco (Basque Country)|Penon de Alhucemas|Penon de Velez de la Gomera";
aStates[211]="|Andalucia|Aragon|Asturias|Ceuta|Islas Baleares|Islas Chafarinas|Islas Canarias|Cantabria|Castilla y Leon|Castilla-La Mancha|Catalunya|Extremadura|Galicia|La Rioja|Madrid|Melilla|Murcia|Navarra|Pais Vasco|Peñón de Alhucemas|Peñón de Vélez de la Gomera|Valencia";
aStates[212]="|Spratly Islands";
aStates[213]="|Central|Eastern|North Central|North Eastern|North Western|Northern|Sabaragamuwa|Southern|Uva|Western";
aStates[214]="|A'ali an Nil|Al Bahr al Ahmar|Al Buhayrat|Al Jazirah|Al Khartum|Al Qadarif|Al Wahdah|An Nil al Abyad|An Nil al Azraq|Ash Shamaliyah|Bahr al Jabal|Gharb al Istiwa'iyah|Gharb Bahr al Ghazal|Gharb Darfur|Gharb Kurdufan|Janub Darfur|Janub Kurdufan|Junqali|Kassala|Nahr an Nil|Shamal Bahr al Ghazal|Shamal Darfur|Shamal Kurdufan|Sharq al Istiwa'iyah|Sinnar|Warab";
@ -259,7 +259,7 @@ aStates[233]="|Tuvalu";
aStates[234]="|Adjumani|Apac|Arua|Bugiri|Bundibugyo|Bushenyi|Busia|Gulu|Hoima|Iganga|Jinja|Kabale|Kabarole|Kalangala|Kampala|Kamuli|Kapchorwa|Kasese|Katakwi|Kibale|Kiboga|Kisoro|Kitgum|Kotido|Kumi|Lira|Luwero|Masaka|Masindi|Mbale|Mbarara|Moroto|Moyo|Mpigi|Mubende|Mukono|Nakasongola|Nebbi|Ntungamo|Pallisa|Rakai|Rukungiri|Sembabule|Soroti|Tororo";
aStates[235]="|Avtonomna Respublika Krym (Simferopol')|Cherkas'ka (Cherkasy)|Chernihivs'ka (Chernihiv)|Chernivets'ka (Chernivtsi)|Dnipropetrovs'ka (Dnipropetrovs'k)|Donets'ka (Donets'k)|Ivano-Frankivs'ka (Ivano-Frankivs'k)|Kharkivs'ka (Kharkiv)|Khersons'ka (Kherson)|Khmel'nyts'ka (Khmel'nyts'kyy)|Kirovohrads'ka (Kirovohrad)|Kyyiv|Kyyivs'ka (Kiev)|L'vivs'ka (L'viv)|Luhans'ka (Luhans'k)|Mykolayivs'ka (Mykolayiv)|Odes'ka (Odesa)|Poltavs'ka (Poltava)|Rivnens'ka (Rivne)|Sevastopol'|Sums'ka (Sumy)|Ternopil's'ka (Ternopil')|Vinnyts'ka (Vinnytsya)|Volyns'ka (Luts'k)|Zakarpats'ka (Uzhhorod)|Zaporiz'ka (Zaporizhzhya)|Zhytomyrs'ka (Zhytomyr)"
aStates[236]="|'Ajman|Abu Zaby (Abu Dhabi)|Al Fujayrah|Ash Shariqah (Sharjah)|Dubayy (Dubai)|Ra's al Khaymah|Umm al Qaywayn";
aStates[237]="|Barking and Dagenham|Barnet|Barnsley|Bath and North East Somerset|Bedfordshire|Bexley|Birmingham|Blackburn with Darwen|Blackpool|Bolton|Bournemouth|Bracknell Forest|Bradford|Brent|Brighton and Hove|Bromley|Buckinghamshire|Bury|Calderdale|Cambridgeshire|Camden|Cheshire|City of Bristol|City of Kingston upon Hull|City of London|Cornwall|Coventry|Croydon|Cumbria|Darlington|Derby|Derbyshire|Devon|Doncaster|Dorset|Dudley|Durham|Ealing|East Riding of Yorkshire|East Sussex|Enfield|Essex|Gateshead|Gloucestershire|Greenwich|Hackney|Halton|Hammersmith and Fulham|Hampshire|Haringey|Harrow|Hartlepool|Havering|Herefordshire|Hertfordshire|Hillingdon|Hounslow|Isle of Wight|Islington|Kensington and Chelsea|Kent|Kingston upon Thames|Kirklees|Knowsley|Lambeth|Lancashire|Leeds|Leicester|Leicestershire|Lewisham|Lincolnshire|Liverpool|Luton|Manchester|Medway|Merton|Middlesbrough|Milton Keynes|Newcastle upon Tyne|Newham|Norfolk|North East Lincolnshire|North Lincolnshire|North Somerset|North Tyneside|North Yorkshire|Northamptonshire|Northumberland|Nottingham|Nottinghamshire|Oldham|Oxfordshire|Peterborough|Plymouth|Poole|Portsmouth|Reading|Redbridge|Redcar and Cleveland|Richmond upon Thames|Rochdale|Rotherham|Rutland|Salford|Sandwell|Sefton|Sheffield|Shropshire|Slough|Solihull|Somerset|South Gloucestershire|South Tyneside|Southampton|Southend-on-Sea|Southwark|St. Helens|Staffordshire|Stockport|Stockton-on-Tees|Stoke-on-Trent|Suffolk|Sunderland|Surrey|Sutton|Swindon|Tameside|Telford and Wrekin|Thurrock|Torbay|Tower Hamlets|Trafford|Wakefield|Walsall|Waltham Forest|Wandsworth|Warrington|Warwickshire|West Berkshire|West Sussex|Westminster|Wigan|Wiltshire|Windsor and Maidenhead|Wirral|Wokingham|Wolverhampton|Worcestershire|York";
aStates[237]="|Aberdeen|Aberdeenshire|Anglesey|Angus|Antrim|Argyl|Armagh|Avon|Ayrshire|Banffshire|Bedfordshire|Belfast|Berwickshire|Brecknockshire|Bristol|Buckinghamshire|Bute|Caernarfonshire|Cardiganshire|Caithness|Cambridgeshire|Carmarthenshire|Chesire|Clackmannashire|Cleveland|Clwyd|Cornwall|Cromartyshire|Cumberland|Cumbria|Denbighshire|Derbyshire|Devon|Dfyed|Dorset|Down|Dumfriesshire|Dunbartonshire|Dundee|Durham|East Lothian|East Suffolk|Derry|East Sussex|Edinburgh|Essex|Fermanagh|Fife|Flintshire|Glasgow|Glamorgan|Gloucestershire|Greater London|Greater Manchester|Gwent|Gwynedd|Hampshire|Hereford and Worcester|Herefordshire|Inverness-shire|Hertfordshire|Humberside|Huntingdon and Peterborough|Huntingdonshire|Isle of Ely|Isle of Wight|Kent|Kincardineshire|Kincross-shire|Kirkcudbrightshire|Lanarkshire|Lancashire|Leicestershire|Lincolnshire|London|Londonderry|Merionethshire|Merseyside|Middlesex|Mid Glamorgan|Midlothian|Monmouthshire|Montgomeryshire|Moray|Nairnshire|Norfolk|Northamptonshire|Northumberland|North Humberside|North Yorkshire|Nottinghamshire|Orkney|Oxfordshire|Peeblesshire|Pembrokeshire|Perthshire|Powys|Radnorshire|Renfrewshire|Ross And Cromarty|Ross-shire|Roxburghshire|Selkirkshire|Shetland|Stirlingshire|Sutherland|Soke of Peterborough|Rutland|Shropshire|Somerset|South Glamorgan|South Humberside|South Yorkshire|Staffordshite|Suffolk|Surrey|Sussex|Tyne and Wear|Tyrone|Warwickshire|West Glamorgan|West Lothian|West Midlands|Westmorland|West Suffolk|West Sussex|West Yorkshire|Wigtownshire|Wiltshire|Worcestershire|Yorkshire";
aStates[238]="|Artigas|Canelones|Cerro Largo|Colonia|Durazno|Flores|Florida|Lavalleja|Maldonado|Montevideo|Paysandu|Rio Negro|Rivera|Rocha|Salto|San Jose|Soriano|Tacuarembo|Treinta y Tres";
aStates[239]="|Alabama|Alaska|Arizona|Arkansas|California|Colorado|Connecticut|Delaware|District of Columbia|Florida|Georgia|Hawaii|Idaho|Illinois|Indiana|Iowa|Kansas|Kentucky|Louisiana|Maine|Maryland|Massachusetts|Michigan|Minnesota|Mississippi|Missouri|Montana|Nebraska|Nevada|New Hampshire|New Jersey|New Mexico|New York|North Carolina|North Dakota|Ohio|Oklahoma|Oregon|Pennsylvania|Rhode Island|South Carolina|South Dakota|Tennessee|Texas|Utah|Vermont|Virginia|Washington|West Virginia|Wisconsin|Wyoming";
aStates[240]="|Andijon Wiloyati|Bukhoro Wiloyati|Farghona Wiloyati|Jizzakh Wiloyati|Khorazm Wiloyati (Urganch)|Namangan Wiloyati|Nawoiy Wiloyati|Qashqadaryo Wiloyati (Qarshi)|Qoraqalpoghiston (Nukus)|Samarqand Wiloyati|Sirdaryo Wiloyati (Guliston)|Surkhondaryo Wiloyati (Termiz)|Toshkent Shahri|Toshkent Wiloyati";
@ -267,7 +267,7 @@ aStates[241]="|Malampa|Penama|Sanma|Shefa|Tafea|Torba";
aStates[242]="|Amazonas|Anzoategui|Apure|Aragua|Barinas|Bolivar|Carabobo|Cojedes|Delta Amacuro|Dependencias Federales|Distrito Federal|Falcon|Guarico|Lara|Merida|Miranda|Monagas|Nueva Esparta|Portuguesa|Sucre|Tachira|Trujillo|Vargas|Yaracuy|Zulia";
aStates[243]="|An Giang|Ba Ria-Vung Tau|Bac Giang|Bac Kan|Bac Lieu|Bac Ninh|Ben Tre|Binh Dinh|Binh Duong|Binh Phuoc|Binh Thuan|Ca Mau|Can Tho|Cao Bang|Da Nang|Dac Lak|Dong Nai|Dong Thap|Gia Lai|Ha Giang|Ha Nam|Ha Noi|Ha Tay|Ha Tinh|Hai Duong|Hai Phong|Ho Chi Minh|Hoa Binh|Hung Yen|Khanh Hoa|Kien Giang|Kon Tum|Lai Chau|Lam Dong|Lang Son|Lao Cai|Long An|Nam Dinh|Nghe An|Ninh Binh|Ninh Thuan|Phu Tho|Phu Yen|Quang Binh|Quang Nam|Quang Ngai|Quang Ninh|Quang Tri|Soc Trang|Son La|Tay Ninh|Thai Binh|Thai Nguyen|Thanh Hoa|Thua Thien-Hue|Tien Giang|Tra Vinh|Tuyen Quang|Vinh Long|Vinh Phuc|Yen Bai";
aStates[244]="|Saint Croix|Saint John|Saint Thomas";
aStates[245]="|Blaenau Gwent|Bridgend|Caerphilly|Cardiff|Carmarthenshire|Ceredigion|Conwy|Denbighshire|Flintshire|Gwynedd|Isle of Anglesey|Merthyr Tydfil|Monmouthshire|Neath Port Talbot|Newport|Pembrokeshire|Powys|Rhondda Cynon Taff|Swansea|The Vale of Glamorgan|Torfaen|Wrexham";
aStates[245]="|Anglesey|Brecknockshire|Caernfonshire|Cardiganshire|Carmarthenshire|Clwyd|Denbighshire|Dyfed|Flintshire|Glamorgan|Gwent|Gwynedd|Merionethshire|Mid Glamorgan|Monmouthsire|Montgomeryshire|Pembrokeshire|Powys|Radnorshire|South Glamorgan|West Glamorgan";
aStates[246]="|Alo|Sigave|Wallis";
aStates[247]="|West Bank";
aStates[248]="|Western Sahara";

View File

@ -588,3 +588,10 @@ Array.prototype.remove = function(item) {
return this.push.apply(this, rest);
};
function previewTheme(elm) {
theme = $(elm).val();
$.getJSON('pretheme?f=&theme=' + theme,function(data) {
$('#theme-preview').html('<div id="theme-desc">' + data.desc + '</div><a href="' + data.img + '"><img src="' + data.img + '" width="320" height="240" alt="' + theme + '" /></a>');
});
}

View File

@ -150,7 +150,7 @@
rep(/<blockquote[^>]*>/gi,"[quote]");
rep(/<\/blockquote>/gi,"[/quote]");
rep(/<hr \/>/gi,"[hr]");
rep(/<br \/>/gi,"\n\n");
rep(/<br (.*?)\/>/gi,"\n\n");
rep(/<br\/>/gi,"\n\n");
rep(/<br>/gi,"\n");
rep(/<p>/gi,"");

View File

@ -150,7 +150,7 @@
rep(/<blockquote[^>]*>/gi,"[quote]");
rep(/<\/blockquote>/gi,"[/quote]");
rep(/<hr \/>/gi,"[hr]");
rep(/<br \/>/gi,"\n\n");
rep(/<br (.*?)\/>/gi,"\n\n");
rep(/<br\/>/gi,"\n\n");
rep(/<br>/gi,"\n");
rep(/<p>/gi,"");

View File

@ -7,10 +7,10 @@ function acl_init(&$a){
return "";
$start = (x($_POST,'start')?$_POST['start']:0);
$count = (x($_POST,'count')?$_POST['count']:100);
$search = (x($_POST,'search')?$_POST['search']:"");
$type = (x($_POST,'type')?$_POST['type']:"");
$start = (x($_REQUEST,'start')?$_REQUEST['start']:0);
$count = (x($_REQUEST,'count')?$_REQUEST['count']:100);
$search = (x($_REQUEST,'search')?$_REQUEST['search']:"");
$type = (x($_REQUEST,'type')?$_REQUEST['type']:"");
if ($search!=""){
@ -34,7 +34,7 @@ function acl_init(&$a){
$r = q("SELECT COUNT(`id`) AS c FROM `contact`
WHERE `uid` = %d AND `self` = 0
AND `blocked` = 0 AND `pending` = 0
AND `notify` != '' $sql_extra" ,
AND `notify` != '' $sql_extra2" ,
intval(local_user())
);
$contact_count = (int)$r[0]['c'];

View File

@ -583,6 +583,7 @@ function admin_page_plugins(&$a){
'$admin_form' => $admin_form,
'$function' => 'plugins',
'$screenshot' => '',
'$readme' => $readme
));
}
@ -738,7 +739,11 @@ function admin_page_themes(&$a){
}
$admin_form="";
$screenshot = array( get_theme_screenshot($theme), t('Screenshot'));
if(! stristr($screenshot[0],$theme))
$screenshot = null;
$t = get_markup_template("admin_plugins_details.tpl");
return replace_macros($t, array(
'$title' => t('Administration'),
@ -755,6 +760,7 @@ function admin_page_themes(&$a){
'$admin_form' => $admin_form,
'$str_author' => t('Author: '),
'$str_maintainer' => t('Maintainer: '),
'$screenshot' => $screenshot,
'$readme' => $readme
));
}

View File

@ -26,21 +26,24 @@ function dfrn_poll_init(&$a) {
$dfrn_id = substr($dfrn_id,2);
}
if(($dfrn_id === '') && (! x($_POST,'dfrn_id')) && ($a->argc > 1)) {
if(($dfrn_id === '') && (! x($_POST,'dfrn_id'))) {
if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
killme();
}
$r = q("SELECT `hidewall` FROM `user` WHERE `user`.`nickname` = '%s' LIMIT 1",
dbesc($a->argv[1])
);
if(count($r) && $r[0]['hidewall'])
killme();
$user = '';
if($a->argc > 1) {
$r = q("SELECT `hidewall` FROM `user` WHERE `user`.`nickname` = '%s' LIMIT 1",
dbesc($a->argv[1])
);
if((! count($r)) || (count($r) && $r[0]['hidewall']))
killme();
$user = $r[0]['nickname'];
}
logger('dfrn_poll: public feed request from ' . $_SERVER['REMOTE_ADDR'] );
logger('dfrn_poll: public feed request from ' . $_SERVER['REMOTE_ADDR'] . ' for ' . $user);
header("Content-type: application/atom+xml");
$o = get_feed_for($a, '', $a->argv[1],$last_update);
echo $o;
echo get_feed_for($a, '', $user,$last_update);
killme();
}

View File

@ -51,15 +51,20 @@ function friendica_content(&$a) {
$o .= '<p></p>';
if(count($a->plugins)) {
$o .= '<p>' . t('Installed plugins/addons/apps') . '</p>';
$o .= '<ul>';
foreach($a->plugins as $p)
if(strlen($p))
$o .= '<li>' . $p . '</li>';
$o .= '</ul>';
$o .= '<p>' . t('Installed plugins/addons/apps:') . '</p>';
$sorted = $a->plugins;
$s = '';
sort($sorted);
foreach($sorted as $p) {
if(strlen($p)) {
if(strlen($s)) $s .= ', ';
$s .= $p;
}
}
$o .= '<div style="margin-left: 25px; margin-right: 25px;">' . $s . '</div>';
}
else
$o .= '<p>' . t('No installed plugins/addons/apps');
$o .= '<p>' . t('No installed plugins/addons/apps') . '</p>';
call_hooks('about_hook', $o);

View File

@ -56,7 +56,7 @@ function invite_post(&$a) {
else
$nmessage = $message;
$res = mail($recip, sprintf( t('Please join my network on %s'), $a->config['sitename']),
$res = mail($recip, sprintf( t('Please join us on Friendica'), $a->config['sitename']),
$nmessage,
"From: " . $a->user['email'] . "\n"
. 'Content-type: text/plain; charset=UTF-8' . "\n"
@ -94,15 +94,28 @@ function invite_content(&$a) {
}
}
$dirloc = get_config('system','directory_submit_url');
if(strlen($dirloc)) {
if($a->config['register_policy'] == REGISTER_CLOSED)
$linktxt = sprintf( t('Visit %s for a list of public sites that you can join. Friendica members on other sites can all connect with each other, as well as with members of many other social networks.'), dirname($dirloc) . '/siteinfo');
elseif($a->config['register_policy'] != REGISTER_CLOSED)
$linktxt = sprintf( t('To accept this invitation, please visit and register at %s or any other public Friendica website.'), $a->get_baseurl())
. "\r\n" . "\r\n" . sprintf( t('Friendica sites all inter-connect to create a huge privacy-enhanced social web that is owned and controlled by its members. They can also connect with many traditional social networks. See %s for a list of alternate Friendica sites you can join.'),dirname($dirloc) . '/siteinfo');
}
else {
$o = t('Our apologies. This system is not currently configured to connect with other public sites or invite members.');
return $o;
}
$o = replace_macros($tpl, array(
'$invite' => t('Send invitations'),
'$addr_text' => t('Enter email addresses, one per line:'),
'$msg_text' => t('Your message:'),
'$default_message' => sprintf(t('Please join my social network on %s'), $a->config['sitename']) . "\r\n" . "\r\n"
. t('To accept this invitation, please visit:') . "\r\n" . "\r\n" . $a->get_baseurl()
'$default_message' => t('You are cordially invited to join me and other close friends on Friendica - and help us to create a better social web.') . "\r\n" . "\r\n"
. $linktxt
. "\r\n" . "\r\n" . (($invonly) ? t('You will need to supply this invitation code: $invite_code') . "\r\n" . "\r\n" : '') .t('Once you have registered, please connect with me via my profile page at:')
. "\r\n" . "\r\n" . $a->get_baseurl() . '/profile/' . $a->user['nickname'] ,
. "\r\n" . "\r\n" . $a->get_baseurl() . '/profile/' . $a->user['nickname']
. "\r\n" . "\r\n" . t('For more information about the Friendica project and why we feel it is important, please visit http://friendica.com') . "\r\n" . "\r\n" ,
'$submit' => t('Submit')
));

View File

@ -624,7 +624,7 @@ function item_post(&$a) {
dbesc($datarray['attach']),
intval($datarray['bookmark']),
intval($datarray['origin']),
intval($datarry['moderated'])
intval($datarray['moderated'])
);
$r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' LIMIT 1",

View File

@ -15,6 +15,13 @@ function message_post(&$a) {
$body = ((x($_REQUEST,'body')) ? escape_tags(trim($_REQUEST['body'])) : '');
$recipient = ((x($_REQUEST,'messageto')) ? intval($_REQUEST['messageto']) : 0 );
// Work around doubled linefeeds in Tinymce 3.5b2
$plaintext = intval(get_pconfig(local_user(),'system','plaintext'));
if(! $plaintext) {
$body = str_replace("\r\n","\n",$body);
$body = str_replace("\n\n","\n",$body);
}
$ret = send_message($recipient, $body, $subject, $replyto);
$norecip = false;

View File

@ -250,6 +250,20 @@ function network_content(&$a, $update = 0) {
if($cid)
$def_acl = array('allow_cid' => '<' . intval($cid) . '>');
if($nets) {
$r = q("select id from contact where uid = %d and network = '%s' and self = 0",
intval(local_user()),
dbesc($nets)
);
$str = '';
if(count($r))
foreach($r as $rr)
$str .= '<' . $rr['id'] . '>';
if(strlen($str))
$def_acl = array('allow_cid' => $str);
}
if(! $update) {
if($group) {
if(($t = group_public_members($group)) && (! get_pconfig(local_user(),'system','nowarn_insecure'))) {
@ -269,9 +283,9 @@ function network_content(&$a, $update = 0) {
'allow_location' => $a->user['allow_location'],
'default_location' => $a->user['default-location'],
'nickname' => $a->user['nickname'],
'lockstate' => ((($group) || (is_array($a->user) && ((strlen($a->user['allow_cid'])) || (strlen($a->user['allow_gid'])) || (strlen($a->user['deny_cid'])) || (strlen($a->user['deny_gid']))))) ? 'lock' : 'unlock'),
'acl' => populate_acl((($group || $cid) ? $def_acl : $a->user), $celeb),
'bang' => (($group || $cid) ? '!' : ''),
'lockstate' => ((($group) || ($cid) || ($nets) || (is_array($a->user) && ((strlen($a->user['allow_cid'])) || (strlen($a->user['allow_gid'])) || (strlen($a->user['deny_cid'])) || (strlen($a->user['deny_gid']))))) ? 'lock' : 'unlock'),
'acl' => populate_acl((($group || $cid || $nets) ? $def_acl : $a->user), $celeb),
'bang' => (($group || $cid || $nets) ? '!' : ''),
'visitor' => 'block',
'profile_uid' => local_user()
);

View File

@ -38,21 +38,22 @@ function photos_init(&$a) {
$o .= '<div id="profile-photo-wrapper"><img class="photo" style="width: 175px; height: 175px;" src="' . $a->get_baseurl() . '/photo/profile/' . $a->data['user']['uid'] . '.jpg" alt="' . $a->data['user']['username'] . '" /></div>';
$o .= '</div>';
$o .= '<div id="side-bar-photos-albums" class="widget">';
$o .= '<h3>' . '<a href="' . $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '">' . t('Photo Albums') . '</a></h3>';
if(! intval($a->data['user']['hidewall'])) {
$o .= '<div id="side-bar-photos-albums" class="widget">';
$o .= '<h3>' . '<a href="' . $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '">' . t('Photo Albums') . '</a></h3>';
$o .= '<ul>';
foreach($albums as $album) {
$o .= '<ul>';
foreach($albums as $album) {
// don't show contact photos. We once translated this name, but then you could still access it under
// a different language setting. Now we store the name in English and check in English (and translated for legacy albums).
// don't show contact photos. We once translated this name, but then you could still access it under
// a different language setting. Now we store the name in English and check in English (and translated for legacy albums).
if((! strlen($album['album'])) || ($album['album'] === 'Contact Photos') || ($album['album'] === t('Contact Photos')))
continue;
$o .= '<li>' . '<a href="photos/' . $a->argv[1] . '/album/' . bin2hex($album['album']) . '" >' . $album['album'] . '</a></li>';
if((! strlen($album['album'])) || ($album['album'] === 'Contact Photos') || ($album['album'] === t('Contact Photos')))
continue;
$o .= '<li>' . '<a href="photos/' . $a->argv[1] . '/album/' . bin2hex($album['album']) . '" >' . $album['album'] . '</a></li>';
}
$o .= '</ul>';
}
$o .= '</ul>';
if(local_user() && $a->data['user']['uid'] == local_user()) {
$o .= '<div id="photo-albums-upload-link"><a href="' . $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '/upload" >' .t('Upload New Photos') . '</a></div>';
}

16
mod/pretheme.php Normal file
View File

@ -0,0 +1,16 @@
<?php
function pretheme_init(&$a) {
if($_REQUEST['theme']) {
$theme = $_REQUEST['theme'];
$info = get_theme_info($theme);
if($info) {
// unfortunately there will be no translation for this string
$desc = $info['description'] . ' ' . $info['version'];
}
else $desc = '';
echo json_encode(array('img' => get_theme_screenshot($theme), 'desc' => $desc));
}
killme();
}

View File

@ -107,7 +107,7 @@ function profile_content(&$a, $update = 0) {
$is_owner = ((local_user()) && (local_user() == $a->profile['profile_uid']) ? true : false);
if($a->user['hidewall'] && (! $is_owner) && (! $remote_contact)) {
if($a->profile['hidewall'] && (! $is_owner) && (! $remote_contact)) {
notice( t('Access to this profile has been restricted.') . EOL);
return;
}

View File

@ -16,6 +16,10 @@
{{ endfor }}
</p>
{{ if $screenshot }}
<a href="$screenshot.0" ><img src="$screenshot.0" width="320" height="240" alt="$screenshot.1" /></a>
{{ endif }}
{{ if $admin_form }}
<h3>$settings</h3>
<form method="post" action="$baseurl/admin/$function/$plugin/">

View File

@ -11,13 +11,15 @@
<a class="comment-edit-photo-link" href="$mylink" title="$mytitle"><img class="my-comment-photo" src="$myphoto" alt="$mytitle" title="$mytitle" /></a>
</div>
<div class="comment-edit-photo-end"></div>
{{ if $qcomment }}
{{ for $qcomment as $qc }}
<span class="fakelink qcomment" onclick="commentInsert(this,$id); return false;" >$qc</span>
&nbsp;
{{ endfor }}
{{ endif }}
<textarea id="comment-edit-text-$id" class="comment-edit-text-empty" name="body" onFocus="commentOpen(this,$id);" onBlur="commentClose(this,$id);" >$comment</textarea>
{{ if $qcomment }}
<select id="qcomment-select-$id" name="qcomment-$id" class="qcomment" onchange="qCommentInsert(this,$id);" >
<option value=""></option>
{{ for $qcomment as $qc }}
<option value="$qc">$qc</option>
{{ endfor }}
</select>
{{ endif }}
<div class="comment-edit-text-end"></div>
<div class="comment-edit-submit-wrapper" id="comment-edit-submit-wrapper-$id" style="display: none;" >

2
view/contact_edit.tpl Executable file → Normal file
View File

@ -63,7 +63,7 @@
<div id="contact-edit-info-wrapper">
<h4>$lbl_info1</h4>
<textarea id="contact-edit-info" rows=8 cols=72 name="info" >$info</textarea>
<textarea id="contact-edit-info" rows="8" cols="60" name="info">$info</textarea>
<input class="contact-edit-submit" type="submit" name="submit" value="$submit" />
</div>
<div id="contact-edit-info-end"></div>

View File

@ -1,26 +1,25 @@
<div class="contact-wrapper" id="contact-entry-wrapper-$id" >
<div class="contact-photo-wrapper" >
<div class="contact-photo mframe" id="contact-entry-photo-$contact.id"
<div class="contact-entry-wrapper" id="contact-entry-wrapper-$contact.id" >
<div class="contact-entry-photo-wrapper" >
<div class="contact-entry-photo mframe" id="contact-entry-photo-$contact.id"
onmouseover="if (typeof t$contact.id != 'undefined') clearTimeout(t$contact.id); openMenu('contact-photo-menu-button-$contact.id')"
onmouseout="t$contact.id=setTimeout('closeMenu(\'contact-photo-menu-button-$contact.id\'); closeMenu(\'contact-photo-menu-$contact.id\');',200)" >
<a href="$contact.url" title="$contact.img_hover" /><img src="$contact.thumb" $contact.sparkle alt="$contact.name" /></a>
{{ if $contact.photo_menu }}
<a href="#" rel="#contact-photo-menu-$contact.id" class="contact-photo-menu-button icon s16 menu" id="contact-photo-menu-button-$contact.id">menu</a>
<ul class="contact-photo-menu menu-popup" id="contact-photo-menu-$contact.id">
$contact.photo_menu
</ul>
<span onclick="openClose('contact-photo-menu-$contact.id');" class="fakelink contact-photo-menu-button" id="contact-photo-menu-button-$contact.id">menu</span>
<div class="contact-photo-menu" id="contact-photo-menu-$contact.id">
<ul>
$contact.photo_menu
</ul>
</div>
{{ endif }}
</div>
</div>
<div class="contact-name" id="contact-entry-name-$contact.id" >$contact.name</div>
{{ if $contact.alt_text }}<div class="contact-details" id="contact-entry-rel-$contact.id" >$contact.alt_text</div>{{ endif }}
<div class="contact-details" id="contact-entry-url-$contact.id" >$contact.itemurl</div>
<div class="contact-details" id="contact-entry-network-$contact.id" >$contact.network</div>
<div class="contact-entry-photo-end" ></div>
<div class="contact-entry-name" id="contact-entry-name-$contact.id" >$contact.name</div>
<div class="contact-entry-end" ></div>
</div>

View File

@ -17,7 +17,9 @@
{{ endfor }}
{{ if $dropping }}
<a href="#" onclick="deleteCheckedItems();return false;">
<span class="icon s22 delete text">$dropping</span>
</a>
<div id="item-delete-selected" class="fakelink" onclick="deleteCheckedItems();">
<div id="item-delete-selected-icon" class="icon drophide" title="$dropping" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></div>
<div id="item-delete-selected-desc" >$dropping</div>
</div>
<div id="item-delete-selected-end"></div>
{{ endif }}

View File

@ -4,23 +4,23 @@ function string_plural_select_de($n){
return ($n != 1);
}
;
$a->strings["Post successful."] = "Beitrag erfolgreich ver<EFBFBD>ffentlicht.";
$a->strings["Post successful."] = "Beitrag erfolgreich veröffentlicht.";
$a->strings["[Embedded content - reload page to view]"] = "[Eingebetteter Inhalt - Seite neu laden zum Betrachten]";
$a->strings["Contact settings applied."] = "Einstellungen zum Kontakt angewandt.";
$a->strings["Contact update failed."] = "Konnte den Kontakt nicht aktualisieren.";
$a->strings["Permission denied."] = "Zugriff verweigert.";
$a->strings["Contact not found."] = "Kontakt nicht gefunden.";
$a->strings["Repair Contact Settings"] = "Kontakt-Einstellungen reparieren";
$a->strings["<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact may stop working."] = "<strong>ACHTUNG: Das sind Experten-Einstellungen!</strong> Wenn Du etwas falsches eingibst, funktioniert die Kommunikation mit diesem Kontakt evtl. nicht mehr.";
$a->strings["Please use your browser 'Back' button <strong>now</strong> if you are uncertain what to do on this page."] = "Bitte nutze den Zur<EFBFBD>ck-Button deines Browsers <strong>jetzt</strong>, wenn du dir unsicher bist, was auf dieser Seite gemacht wird.";
$a->strings["Return to contact editor"] = "Zur<EFBFBD>ck zum Kontakteditor";
$a->strings["<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact may stop working."] = "<strong>ACHTUNG: Das sind Experten-Einstellungen!</strong> Wenn Du etwas Falsches eingibst, funktioniert die Kommunikation mit diesem Kontakt evtl. nicht mehr.";
$a->strings["Please use your browser 'Back' button <strong>now</strong> if you are uncertain what to do on this page."] = "Bitte nutze den Zurück-Button deines Browsers <strong>jetzt</strong>, wenn du dir unsicher bist, was du tun willst.";
$a->strings["Return to contact editor"] = "Zurück zum Kontakteditor";
$a->strings["Name"] = "Name";
$a->strings["Account Nickname"] = "Account-Spitzname";
$a->strings["@Tagname - overrides Name/Nickname"] = "@Tagname - <EFBFBD>berschreibt Name/Spitzname";
$a->strings["@Tagname - overrides Name/Nickname"] = "@Tagname - überschreibt Name/Spitzname";
$a->strings["Account URL"] = "Account-URL";
$a->strings["Friend Request URL"] = "URL f<EFBFBD>r Freundschaftsanfragen";
$a->strings["Friend Confirm URL"] = "URL f<EFBFBD>r Best<73>tigungen von Freundschaftsanfragen";
$a->strings["Notification Endpoint URL"] = "URL-Endpunkt f<EFBFBD>r Benachrichtigungen";
$a->strings["Friend Request URL"] = "URL für Freundschaftsanfragen";
$a->strings["Friend Confirm URL"] = "URL für Bestätigungen von Freundschaftsanfragen";
$a->strings["Notification Endpoint URL"] = "URL-Endpunkt für Benachrichtigungen";
$a->strings["Poll/Feed URL"] = "Pull/Feed-URL";
$a->strings["New photo from this URL"] = "Neues Foto von dieser URL";
$a->strings["Submit"] = "Senden";
@ -28,7 +28,7 @@ $a->strings["Help:"] = "Hilfe:";
$a->strings["Help"] = "Hilfe";
$a->strings["Not Found"] = "Nicht gefunden";
$a->strings["Page not found."] = "Seite nicht gefunden.";
$a->strings["File exceeds size limit of %d"] = "Die Datei ist gr<EFBFBD><EFBFBD>er als das erlaubte Limit von %d";
$a->strings["File exceeds size limit of %d"] = "Die Datei ist größer als das erlaubte Limit von %d";
$a->strings["File upload failed."] = "Hochladen der Datei fehlgeschlagen.";
$a->strings["Friend suggestion sent."] = "Kontaktvorschlag gesendet.";
$a->strings["Suggest Friends"] = "Kontakte vorschlagen";
@ -40,7 +40,7 @@ $a->strings["link to source"] = "Link zum Originalbeitrag";
$a->strings["Events"] = "Veranstaltungen";
$a->strings["Create New Event"] = "Neue Veranstaltung erstellen";
$a->strings["Previous"] = "Vorherige";
$a->strings["Next"] = "N<EFBFBD>chste";
$a->strings["Next"] = "Nächste";
$a->strings["hour:minute"] = "Stunde:Minute";
$a->strings["Event details"] = "Veranstaltungsdetails";
$a->strings["Format is %s %s. Starting date and Description are required."] = "Format ist %s %s. Anfangsdatum und Beschreibung sind notwendig.";

9
view/field_themeselect.tpl Executable file
View File

@ -0,0 +1,9 @@
<div class='field select'>
<label for='id_$field.0'>$field.1</label>
<select name='$field.0' id='id_$field.0' onchange="previewTheme(this);" >
{{ for $field.4 as $opt=>$val }}<option value="$opt" {{ if $opt==$field.2 }}selected="selected"{{ endif }}>$val</option>{{ endfor }}
</select>
<span class='field_help'>$field.3</span>
<div id="theme-preview"></div>
</div>

View File

@ -1,29 +1,28 @@
<div id="group-sidebar" class="widget">
<div class="title tool">
<h3 class="label">$title</h3>
<a href="group/new" title="$createtext" class="action"><span class="icon text s16 add"> $add</span></a>
</div>
<div class="widget" id="group-sidebar">
<h3>$title</h3>
<div id="sidebar-group-list">
<ul>
{{ for $groups as $group }}
<li class="tool {{ if $group.selected }}selected{{ endif }}">
<a href="$group.href" class="label">
$group.text
</a>
{{ if $group.edit }}
<a href="$group.edit.href" class="action"><span class="icon text s10 edit">$group.edit.title</span></a>
{{ endif }}
<div id="sidebar-group-list">
<ul id="sidebar-group-ul">
{{ for $groups as $group }}
<li class="sidebar-group-li">
{{ if $group.cid }}
<input type="checkbox"
class="{{ if $group.selected }}ticked{{ else }}unticked {{ endif }} action"
onclick="contactgroupChangeMember('$group.id','$group.cid');return true;"
{{ if $group.ismember }}checked="checked"{{ endif }}
/>
{{ endif }}
{{ if $group.edit }}
<a class="groupsideedit" href="$group.edit.href" title="$edittext"><span id="edit-sidebar-group-element-$group.id" class="group-edit-icon iconspacer small-pencil"></span></a>
{{ endif }}
<a id="sidebar-group-element-$group.id" class="sidebar-group-element {{ if $group.selected }}group-selected{{ endif }}" href="$group.href">$group.text</a>
</li>
{{ endfor }}
</ul>
{{ endfor }}
</ul>
</div>
</div>
<div id="sidebar-new-group">
<a href="group/new">$createtext</a>
</div>
</div>

View File

@ -65,6 +65,22 @@
$("#comment-edit-text-" + id).val(tmpStr + ins);
}
function qCommentInsert(obj,id) {
var tmpStr = $("#comment-edit-text-" + id).val();
if(tmpStr == '$comment') {
tmpStr = '';
$("#comment-edit-text-" + id).addClass("comment-edit-text-full");
$("#comment-edit-text-" + id).removeClass("comment-edit-text-empty");
openMenu("comment-edit-submit-wrapper-" + id);
}
var ins = $(obj).val();
ins = ins.replace('&lt;','<');
ins = ins.replace('&gt;','>');
ins = ins.replace('&amp;','&');
ins = ins.replace('&quot;','"');
$("#comment-edit-text-" + id).val(tmpStr + ins);
}
function showHideComments(id) {
if( $('#collapsed-comments-' + id).is(':visible')) {
$('#collapsed-comments-' + id).hide();

View File

@ -1,9 +1,12 @@
<form id="profile-jot-form" action="$action" method="post">
<div id="jot">
<div id="profile-jot-desc" class="jothidden">&nbsp;</div>
<input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" value="$title" class="jothidden" style="display:none" />
<div id="character-counter" class="grey jothidden"></div>
<div id="profile-jot-wrapper" >
<div id="profile-jot-banner-wrapper">
<div id="profile-jot-desc" >&nbsp;</div>
<div id="character-counter" class="grey"></div>
</div>
<div id="profile-jot-banner-end"></div>
<form id="profile-jot-form" action="$action" method="post" >
<input type="hidden" name="type" value="$ptyp" />
<input type="hidden" name="profile_uid" value="$profile_uid" />
<input type="hidden" name="return" value="$return_path" />
@ -11,25 +14,54 @@
<input type="hidden" name="coord" id="jot-coord" value="" />
<input type="hidden" name="post_id" value="$post_id" />
<input type="hidden" name="preview" id="jot-preview" value="0" />
<div id="jot-title-wrap"><input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" value="$title" class="jothidden" style="display:none"></div>
<div id="jot-text-wrap">
<img id="profile-jot-text-loading" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
<textarea rows="5" cols="64" class="profile-jot-text" id="profile-jot-text" name="body" >{{ if $content }}$content{{ else }}$share{{ endif }}</textarea>
</div>
<ul id="jot-tools" class="jothidden" style="display:none">
<li><a href="#" onclick="return false;" id="wall-image-upload" title="$upload">$shortupload</a></a></li>
<li><a href="#" onclick="return false;" id="wall-file-upload" title="$attach">$shortattach</a></li>
<li><a id="profile-link" ondragenter="return linkdropper(event);" ondragover="return linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink(); return false;" title="$weblink">$shortweblink</a></li>
<li><a id="profile-video" onclick="jotVideoURL();return false;" title="$gvideo">$shortvideo</a></li>
<li><a id="profile-audio" onclick="jotAudioURL();return false;" title="$audio">$shortaudio</a></li>
<li><a id="profile-location" onclick="jotGetLocation();return false;" title="$setloc">$shortsetloc</a></li>
<li><a id="profile-nolocation" onclick="jotClearLocation();return false;" title="$noloc">$shortnoloc</a></li>
<li><a id="jot-preview-link" onclick="preview_post(); return false;" title="$preview">$preview</a></li>
$jotplugins
<div id="profile-jot-submit-wrapper" class="jothidden">
<input type="submit" id="profile-jot-submit" name="submit" value="$share" />
<li class="perms"><a id="jot-perms-icon" href="#profile-jot-acl-wrapper" class="icon s22 $lockstate $bang" title="$permset" ></a></li>
<li class="submit"><input type="submit" id="profile-jot-submit" name="submit" value="$share" /></li>
<li id="profile-rotator" class="loading" style="display: none"><img src="images/rotator.gif" alt="$wait" title="$wait" /></li>
</ul>
<div id="profile-upload-wrapper" style="display: $visitor;" >
<div id="wall-image-upload-div" ><a href="#" onclick="return false;" id="wall-image-upload" class="icon camera" title="$upload"></a></div>
</div>
<div id="profile-attach-wrapper" style="display: $visitor;" >
<div id="wall-file-upload-div" ><a href="#" onclick="return false;" id="wall-file-upload" class="icon attach" title="$attach"></a></div>
</div>
<div id="profile-link-wrapper" style="display: $visitor;" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" >
<a id="profile-link" class="icon link" title="$weblink" ondragenter="return linkdropper(event);" ondragover="return linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink(); return false;"></a>
</div>
<div id="profile-video-wrapper" style="display: $visitor;" >
<a id="profile-video" class="icon video" title="$video" onclick="jotVideoURL();return false;"></a>
</div>
<div id="profile-audio-wrapper" style="display: $visitor;" >
<a id="profile-audio" class="icon audio" title="$audio" onclick="jotAudioURL();return false;"></a>
</div>
<div id="profile-location-wrapper" style="display: $visitor;" >
<a id="profile-location" class="icon globe" title="$setloc" onclick="jotGetLocation();return false;"></a>
</div>
<div id="profile-nolocation-wrapper" style="display: none;" >
<a id="profile-nolocation" class="icon noglobe" title="$noloc" onclick="jotClearLocation();return false;"></a>
</div>
<div id="profile-jot-perms" class="profile-jot-perms" style="display: $pvisit;" >
<a href="#profile-jot-acl-wrapper" id="jot-perms-icon" class="icon $lockstate" title="$permset" ></a>$bang
</div>
<span onclick="preview_post();" id="jot-preview-link" class="fakelink">$preview</span>
<div id="profile-jot-perms-end"></div>
<div id="profile-jot-plugin-wrapper">
$jotplugins
</div>
<div id="profile-rotator-wrapper" style="display: $visitor;" >
<img id="profile-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
</div>
<div id="jot-preview-content" style="display:none;"></div>
@ -43,6 +75,10 @@
</div>
</div>
</form>
{{ if $content }}<script>initEditor();</script>{{ endif }}
</div>
<div id="profile-jot-end"></div>
</form>
</div>
{{ if $content }}<script>initEditor();</script>{{ endif }}

View File

@ -1,131 +1,68 @@
<header>
{# $langselector #}
<nav>
$langselector
<div id="site-location">$sitelocation</div>
<div id="banner">$banner</div>
</header>
<nav>
<ul>
{{ if $userinfo }}
<li id="nav-user-linkmenu" class="nav-menu-icon"><a href="#" rel="#nav-user-menu" title="$sitelocation"><img src="$userinfo.icon" alt="$userinfo.name"></a>
<ul id="nav-user-menu" class="menu-popup">
{{ for $nav.usermenu as $usermenu }}
<li><a class="$usermenu.2" href="$usermenu.0" title="$usermenu.3">$usermenu.1</a></li>
{{ endfor }}
{{ if $nav.notifications }}<li><a class="$nav.notifications.2" href="$nav.notifications.0" title="$nav.notifications.3" >$nav.notifications.1</a></li>{{ endif }}
{{ if $nav.messages }}<li><a class="$nav.messages.2" href="$nav.messages.0" title="$nav.messages.3" >$nav.messages.1</a></li>{{ endif }}
{{ if $nav.contacts }}<li><a class="$nav.contacts.2" href="$nav.contacts.0" title="$nav.contacts.3" >$nav.contacts.1</a></li>{{ endif }}
</ul>
</li>
{{ endif }}
{{ if $nav.logout }}<a id="nav-logout-link" class="nav-link $nav.logout.2" href="$nav.logout.0" title="$nav.logout.3" >$nav.logout.1</a> {{ endif }}
{{ if $nav.login }}<a id="nav-login-link" class="nav-login-link $nav.login.2" href="$nav.login.0" title="$nav.login.3" >$nav.login.1</a> {{ endif }}
<span id="nav-link-wrapper" >
{{ if $nav.register }}<a id="nav-register-link" class="nav-commlink $nav.register.2 $sel.register" href="$nav.register.0" title="$nav.register.3" >$nav.register.1</a>{{ endif }}
{{ if $nav.community }}
<li id="nav-community-link" class="nav-menu $sel.community">
<a class="$nav.community.2" href="$nav.community.0" title="$nav.community.3" >$nav.community.1</a>
</li>
{{ endif }}
{{ if $nav.network }}
<li id="nav-network-link" class="nav-menu $sel.network">
<a class="$nav.network.2" href="$nav.network.0" title="$nav.network.3" >$nav.network.1</a>
<span id="net-update" class="nav-notify"></span>
</li>
{{ endif }}
{{ if $nav.home }}
<li id="nav-home-link" class="nav-menu $sel.home">
<a class="$nav.home.2" href="$nav.home.0" title="$nav.home.3" >$nav.home.1</a>
<span id="home-update" class="nav-notify"></span>
</li>
{{ endif }}
{{ if $nav.help }} <a id="nav-help-link" class="nav-link $nav.help.2" target="friendika-help" href="$nav.help.0" title="$nav.help.3" >$nav.help.1</a>{{ endif }}
{{ if $nav.apps }}<a id="nav-apps-link" class="nav-link $nav.apps.2" href="$nav.apps.0" title="$nav.apps.3" >$nav.apps.1</a>{{ endif }}
<a id="nav-search-link" class="nav-link $nav.search.2" href="$nav.search.0" title="$nav.search.3" >$nav.search.1</a>
<a id="nav-directory-link" class="nav-link $nav.directory.2" href="$nav.directory.0" title="$nav.directory.3" >$nav.directory.1</a>
{{ if $nav.admin }}<a id="nav-admin-link" class="nav-link $nav.admin.2" href="$nav.admin.0" title="$nav.admin.3" >$nav.admin.1</a>{{ endif }}
{{ if $nav.network }}
<a id="nav-network-link" class="nav-commlink $nav.network.2 $sel.network" href="$nav.network.0" title="$nav.network.3" >$nav.network.1</a>
<span id="net-update" class="nav-ajax-left"></span>
{{ endif }}
{{ if $nav.home }}
<a id="nav-home-link" class="nav-commlink $nav.home.2 $sel.home" href="$nav.home.0" title="$nav.home.3" >$nav.home.1</a>
<span id="home-update" class="nav-ajax-left"></span>
{{ endif }}
{{ if $nav.community }}
<a id="nav-community-link" class="nav-commlink $nav.community.2 $sel.community" href="$nav.community.0" title="$nav.community.3" >$nav.community.1</a>
{{ endif }}
{{ if $nav.introductions }}
<a id="nav-notify-link" class="nav-commlink $nav.introductions.2 $sel.introductions" href="$nav.introductions.0" title="$nav.introductions.3" >$nav.introductions.1</a>
<span id="intro-update" class="nav-ajax-left"></span>
{{ endif }}
{{ if $nav.messages }}
<a id="nav-messages-link" class="nav-commlink $nav.messages.2 $sel.messages" href="$nav.messages.0" title="$nav.messages.3" >$nav.messages.1</a>
<span id="mail-update" class="nav-ajax-left"></span>
{{ endif }}
{{ if $nav.manage }}<a id="nav-manage-link" class="nav-commlink $nav.manage.2 $sel.manage" href="$nav.manage.0" title="$nav.manage.3">$nav.manage.1</a>{{ endif }}
{{ if $nav.notifications }}
<li id="nav-notifications-linkmenu" class="nav-menu-icon"><a href="$nav.notifications.0" rel="#nav-notifications-menu" title="$nav.notifications.1"><span class="icon s22 notify">$nav.notifications.1</span></a>
<span id="notify-update" class="nav-notify"></span>
<a id="nav-notifications-linkmenu" class="nav-commlink" href="$nav.notifications.0" rel="#nav-notifications-menu" title="$nav.notifications.1">$nav.notifications.1</a>
<span id="notify-update" class="nav-ajax-left"></span>
<ul id="nav-notifications-menu" class="menu-popup">
<li id="nav-notifications-mark-all"><a href="#" onclick="notifyMarkAll(); return false;">$nav.notifications.mark.1</a></li>
<li id="nav-notifications-see-all"><a href="$nav.notifications.all.0">$nav.notifications.all.1</a></li>
<li id="nav-notifications-mark-all"><a href="#" onclick="notifyMarkAll(); return false;">$nav.notifications.mark.1</a></li>
<li class="empty">$emptynotifications</li>
</ul>
</li>
{{ endif }}
<li id="nav-site-linkmenu" class="nav-menu-icon"><a href="#" rel="#nav-site-menu"><span class="icon s22 gear">Site</span></a>
<ul id="nav-site-menu" class="menu-popup">
{{ if $nav.manage }}<li><a class="$nav.manage.2" href="$nav.manage.0" title="$nav.manage.3">$nav.manage.1</a></li>{{ endif }}
{{ if $nav.settings }}<li><a class="$nav.settings.2" href="$nav.settings.0" title="$nav.settings.3">$nav.settings.1</a></li>{{ endif }}
{{ if $nav.admin }}<li><a class="$nav.admin.2" href="$nav.admin.0" title="$nav.admin.3" >$nav.admin.1</a></li>{{ endif }}
{{ if $nav.logout }}<li><a class="menu-sep $nav.logout.2" href="$nav.logout.0" title="$nav.logout.3" >$nav.logout.1</a></li>{{ endif }}
{{ if $nav.login }}<li><a class="$nav.login.2" href="$nav.login.0" title="$nav.login.3" >$nav.login.1</a><li>{{ endif }}
</ul>
</li>
{{ if $nav.help }}
<li id="nav-help-link" class="nav-menu $sel.help">
<a class="$nav.help.2" target="friendika-help" href="$nav.help.0" title="$nav.help.3" >$nav.help.1</a>
</li>
{{ endif }}
<li id="nav-search-link" class="nav-menu $sel.search">
<a class="$nav.search.2" href="$nav.search.0" title="$nav.search.3" >$nav.search.1</a>
</li>
<li id="nav-directory-link" class="nav-menu $sel.directory">
<a class="$nav.directory.2" href="$nav.directory.0" title="$nav.directory.3" >$nav.directory.1</a>
</li>
{{ if $nav.apps }}
<li id="nav-apps-link" class="nav-menu $sel.apps">
<a class=" $nav.apps.2" href="#" rel="#nav-apps-menu" title="$nav.apps.3" >$nav.apps.1</a>
<ul id="nav-apps-menu" class="menu-popup">
{{ for $apps as $ap }}
<li>$ap</li>
{{ endfor }}
</ul>
</li>
{{ endif }}
</ul>
{{ if $nav.settings }}<a id="nav-settings-link" class="nav-link $nav.settings.2" href="$nav.settings.0" title="$nav.settings.3">$nav.settings.1</a>{{ endif }}
{{ if $nav.profiles }}<a id="nav-profiles-link" class="nav-link $nav.profiles.2" href="$nav.profiles.0" title="$nav.profiles.3" >$nav.profiles.1</a>{{ endif }}
{{ if $nav.contacts }}<a id="nav-contacts-link" class="nav-link $nav.contacts.2" href="$nav.contacts.0" title="$nav.contacts.3" >$nav.contacts.1</a>{{ endif }}
</span>
<span id="nav-end"></span>
<span id="banner">$banner</span>
</nav>
<ul id="nav-notifications-template" style="display:none;" rel="template">
<li><a href="{0}"><img src="{1}">{2} <span class="notif-when">{3}</span></a></li>
<li class="{4}"><a href="{0}"><img src="{1}" height="24" width="24" alt="" />{2} <span class="notif-when">{3}</span></a></li>
</ul>
{#
{{ if $nav.logout }}<a id="nav-logout-link" class="nav-link $nav.logout.2" href="$nav.logout.0" title="$nav.logout.3" >$nav.logout.1</a> {{ endif }}
{{ if $nav.login }}<a id="nav-login-link" class="nav-login-link $nav.login.2" href="$nav.login.0" title="$nav.login.3" >$nav.login.1</a> {{ endif }}
<span id="nav-link-wrapper" >
{{ if $nav.register }}<a id="nav-register-link" class="nav-commlink $nav.register.2" href="$nav.register.0" title="$nav.register.3" >$nav.register.1</a>{{ endif }}
<a id="nav-help-link" class="nav-link $nav.help.2" target="friendika-help" href="$nav.help.0" title="$nav.help.3" >$nav.help.1</a>
{{ if $nav.apps }}<a id="nav-apps-link" class="nav-link $nav.apps.2" href="$nav.apps.0" title="$nav.apps.3" >$nav.apps.1</a>{{ endif }}
<a id="nav-search-link" class="nav-link $nav.search.2" href="$nav.search.0" title="$nav.search.3" >$nav.search.1</a>
<a id="nav-directory-link" class="nav-link $nav.directory.2" href="$nav.directory.0" title="$nav.directory.3" >$nav.directory.1</a>
{{ if $nav.admin }}<a id="nav-admin-link" class="nav-link $nav.admin.2" href="$nav.admin.0" title="$nav.admin.3" >$nav.admin.1</a>{{ endif }}
{{ if $nav.notifications }}
<a id="nav-notify-link" class="nav-commlink $nav.notifications.2" href="$nav.notifications.0" title="$nav.notifications.3" >$nav.notifications.1</a>
<span id="notify-update" class="nav-ajax-left"></span>
{{ endif }}
{{ if $nav.messages }}
<a id="nav-messages-link" class="nav-commlink $nav.messages.2" href="$nav.messages.0" title="$nav.messages.3" >$nav.messages.1</a>
<span id="mail-update" class="nav-ajax-left"></span>
{{ endif }}
{{ if $nav.manage }}<a id="nav-manage-link" class="nav-commlink $nav.manage.2" href="$nav.manage.0" title="$nav.manage.3">$nav.manage.1</a>{{ endif }}
{{ if $nav.settings }}<a id="nav-settings-link" class="nav-link $nav.settings.2" href="$nav.settings.0" title="$nav.settings.3">$nav.settings.1</a>{{ endif }}
{{ if $nav.profiles }}<a id="nav-profiles-link" class="nav-link $nav.profiles.2" href="$nav.profiles.0" title="$nav.profiles.3" >$nav.profiles.1</a>{{ endif }}
</span>
<span id="nav-end"></span>
<span id="banner">$banner</span>
#}

View File

@ -1,12 +1,10 @@
<div id="nets-sidebar" class="widget">
<h3>$title</h3>
<div id="nets-desc">$desc</div>
<a href="$base" class="nets-link{{ if $sel_all }} nets-selected{{ endif }} nets-all">$all</a>
<ul class="nets-ul">
<li class="tool {{ if $sel_all }}selected{{ endif }}"><a href="$base" class="nets-link nets-all">$all</a>
{{ for $nets as $net }}
<li class="tool {{ if $net.selected }}selected{{ endif }}"><a href="$base?f=&nets=$net.ref" class="nets-link">$net.name</a></li>
{{ endfor }}
{{ for $nets as $net }}
<li><a href="$base?nets=$net.ref" class="nets-link{{ if $net.selected }} nets-selected{{ endif }}">$net.name</a></li>
{{ endfor }}
</ul>
</div>

View File

@ -1,27 +1,11 @@
<div class="vcard">
<div class="tool">
<div class="fn label">$profile.name</div>
{{ if $profile.edit }}
<div class="action">
<a class="icon s16 edit ttright" href="#" rel="#profiles-menu" title="$profile.edit.3"><span>$profile.edit.1</span></a>
<ul id="profiles-menu" class="menu-popup">
{{ for $profile.menu.entries as $e }}
<li>
<a href="profiles/$e.id"><img src='$e.photo'>$e.profile_name</a>
</li>
{{ endfor }}
<li><a href="profile_photo" >$profile.menu.chg_photo</a></li>
<li><a href="profiles/new" id="profile-listing-new-link">$profile.menu.cr_new</a></li>
<div class="fn label">$profile.name</div>
</ul>
</div>
{{ endif }}
</div>
{{ if $pdesc }}<div class="title">$profile.pdesc</div>{{ endif }}
<div id="profile-photo-wrapper"><img class="photo" width="175" height="175" src="$profile.photo?rev=$profile.picdate" alt="$profile.name" /></div>
<div id="profile-photo-wrapper"><img class="photo" width="175" height="175" src="$profile.photo?rev=$profile.picdate" alt="$profile.name"></div>

View File

@ -1,15 +1,14 @@
<div id="saved-search-list" class="widget">
<h3 class="title">$title</h3>
<ul id="saved-search-ul">
{{ for $saved as $search }}
<li class="tool {{if $search.selected}}selected{{endif}}">
<a href="network/?f=&search=$search.encodedterm" class="label" >$search.term</a>
<a href="network/?f=&remove=1&search=$search.encodedterm" class="action icon s10 delete" title="$search.delete" onclick="return confirmDelete();"></a>
</li>
{{ endfor }}
</ul>
<div class="widget" id="saved-search-list">
<h3 id="search">$title</h3>
$searchbox
<ul id="saved-search-ul">
{{ for $saved as $search }}
<li class="saved-search-li clear">
<a title="$search.delete" onclick="return confirmDelete();" id="drop-saved-search-term-$search.id" class="iconspacer savedsearchdrop " href="network/?f=&amp;remove=1&amp;search=$search.encodedterm"></a>
<a id="saved-search-term-$search.id" class="savedsearchterm" href="network/?f=&amp;search=$search.encodedterm">$search.term</a>
</li>
{{ endfor }}
</ul>
<div class="clear"></div>
</div>

View File

@ -1,91 +1,54 @@
<div class="wall-item-decor">
<span class="icon s22 star $item.isstarred" id="starred-$item.id" title="$item.star.starred">$item.star.starred</span>
{{ if $item.lock }}<span class="icon s22 lock fakelink" onclick="lockview(event,$item.id);" title="$item.lock">$item.lock</span>{{ endif }}
<img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div>
<div class="wall-item-container $item.indent">
<div class="wall-item-item">
<div class="wall-item-info">
<div class="contact-photo-wrapper"
onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')"
onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)">
<div class="wall-item-outside-wrapper$item.indent$item.previewing" id="wall-item-outside-wrapper-$item.id" >
<div class="wall-item-content-wrapper$item.indent" id="wall-item-content-wrapper-$item.id" >
<div class="wall-item-info" id="wall-item-info-$item.id">
<div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$item.id"
onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')"
onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)">
<a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$item.id">
<img src="$item.thumb" class="contact-photo$item.sparkle" id="wall-item-photo-$item.id" alt="$item.name" />
</a>
<a href="#" rel="#wall-item-photo-menu-$item.id" class="contact-photo-menu-button icon s16 menu" id="wall-item-photo-menu-button-$item.id">menu</a>
<ul class="wall-item-menu menu-popup" id="wall-item-photo-menu-$item.id">
$item.item_photo_menu
</ul>
<img src="$item.thumb" class="wall-item-photo$item.sparkle" id="wall-item-photo-$item.id" style="height: 80px; width: 80px;" alt="$item.name" /></a>
<span onclick="openClose('wall-item-photo-menu-$item.id');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-$item.id">menu</span>
<div class="wall-item-photo-menu" id="wall-item-photo-menu-$item.id">
<ul>
$item.item_photo_menu
</ul>
</div>
</div>
<div class="wall-item-photo-end"></div>
<div class="wall-item-wrapper" id="wall-item-wrapper-$item.id" >
{{ if $item.lock }}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="$item.lock" onclick="lockview(event,$item.id);" /></div>
{{ else }}<div class="wall-item-lock"></div>{{ endif }}
<div class="wall-item-location" id="wall-item-location-$item.id">$item.location</div>
</div>
</div>
<div class="wall-item-author">
<a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-name-link"><span class="wall-item-name$item.sparkle" id="wall-item-name-$item.id" >$item.name</span></a>
<div class="wall-item-ago" id="wall-item-ago-$item.id">$item.ago</div>
</div>
<div class="wall-item-location">$item.location</div>
</div>
<div class="wall-item-content" id="wall-item-content-$item.id" >
<div class="wall-item-title" id="wall-item-title-$item.id">$item.title</div>
<div class="wall-item-title-end"></div>
<div class="wall-item-body" id="wall-item-body-$item.id" >$item.body</div>
</div>
<div class="wall-item-content">
{{ if $item.title }}<h2><a href="$item.plink.href">$item.title</a></h2>{{ endif }}
$item.body
<div class="wall-item-tools" id="wall-item-tools-$item.id">
<div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$item.id" >
{{ if $item.drop.dropping }}<a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon drophide" title="$item.drop.delete" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{ endif }}
</div>
{{ if $item.drop.dropping }}<input type="checkbox" onclick="checkboxhighlight(this);" title="$item.drop.select" class="item-select" name="itemselected[]" value="$item.id" />{{ endif }}
<div class="wall-item-delete-end"></div>
</div>
</div>
<div class="wall-item-bottom">
<div class="wall-item-links">
</div>
<div class="wall-item-tags">
{{ for $item.tags as $tag }}
<span class='tag'>$tag</span>
{{ endfor }}
</div>
</div>
<div class="wall-item-bottom">
<div class="">
{{ if $item.plink }}<a class="icon s16 link" title="$item.plink.title" href="$item.plink.href">$item.plink.title</a>{{ endif }}
</div>
<div class="wall-item-actions">
<div class="wall-item-actions-author">
<a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-name-link"><span class="wall-item-name$item.sparkle">$item.name</span></a> <span class="wall-item-ago">$item.ago</span>
</div>
<div class="wall-item-actions-social">
{{ if $item.star }}
<a href="#" id="star-$item.id" onclick="dostar($item.id); return false;" class="$item.star.classdo" title="$item.star.do">$item.star.do</a>
<a href="#" id="unstar-$item.id" onclick="dostar($item.id); return false;" class="$item.star.classundo" title="$item.star.undo">$item.star.undo</a>
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="$item.star.classtagger" title="$item.star.tagger">$item.star.tagger</a>
{{ endif }}
{{ if $item.vote }}
<a href="#" id="like-$item.id" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false">$item.vote.like.1</a>
<a href="#" id="dislike-$item.id" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false">$item.vote.dislike.1</a>
{{ endif }}
{{ if $item.vote.share }}
<a href="#" id="share-$item.id" title="$item.vote.share.0" onclick="jotShare($item.id); return false">$item.vote.share.1</a>
{{ endif }}
</div>
<div class="wall-item-actions-tools">
<div class="wall-item-wrapper-end"></div>
{{ if $item.drop.dropping }}
<input type="checkbox" title="$item.drop.select" name="itemselected[]" class="item-select" value="$item.id" />
<a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon delete s16" title="$item.drop.delete">$item.drop.delete</a>
{{ endif }}
{{ if $item.edpost }}
<a class="icon edit s16" href="$item.edpost.0" title="$item.edpost.1"></a>
{{ endif }}
</div>
</div>
</div>
<div class="wall-item-bottom">
<div class="wall-item-links"></div>
<div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div>
<div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div>
{{ if $item.conv }}
<div class="wall-item-conv" id="wall-item-conv-$item.id" >
<div class="wall-item-conv" id="wall-item-conv-$item.id" >
{{ if $item.conv }}
<a href='$item.conv.href' id='context-$item.id' title='$item.conv.title'>$item.conv.title</a>
{{ endif }}
</div>
{{ endif }}
</div>
<div class="wall-item-outside-wrapper-end$item.indent" ></div>
</div>

View File

@ -28,7 +28,7 @@ $nickname_block
{{inc field_custom.tpl with $field=$timezone }}{{endinc}}
{{inc field_input.tpl with $field=$defloc }}{{endinc}}
{{inc field_checkbox.tpl with $field=$allowloc }}{{endinc}}
{{inc field_select.tpl with $field=$theme }}{{endinc}}
{{inc field_themeselect.tpl with $field=$theme }}{{endinc}}
{{inc field_input.tpl with $field=$ajaxint }}{{endinc}}
{{inc field_input.tpl with $field=$itemspage_network }}{{endinc}}
{{inc field_checkbox.tpl with $field=$nosmile}}{{endinc}}

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

View File

@ -0,0 +1,75 @@
{{ if $page }}
<div>$page</div>
{{ endif }}
{{ if $lastusers_title }}
<h3 style="margin-top:0px;">Help or @NewHere ?</h3>
<a href="https://helpers.pyxis.uberspace.de/profile/helpers" style="margin-left: 10px; " title="Friendica Support" target="blank">Friendica Support</a><br>
<a href="https://letstalk.pyxis.uberspace.de/profile/letstalk" style="margin-left: 10px; " title="Let's talk" target="blank">Let's talk</a><br>
<a href="http://newzot.hydra.uberspace.de/profile/newzot" title="Local Friendica" style="margin-left: 10px; " target="blank">Local Friendica</a>
<a href="http://kakste.com/profile/newhere" title="#NewHere" style="margin-left: 10px; " target="blank">NewHere</a>
{{ endif }}
{{ if $lastusers_title }}
<h3>Connectable Services</h3>
<div id="right_service_icons" style="margin-left: 11px; margin-top: 5px;">
<a href="$url/facebook"><img alt="Facebook" src="view/theme/diabook-blue/icons/facebook.png" title="Facebook"></a>
<a href="$url/settings/connectors"><img alt="StatusNet" src="view/theme/diabook-blue/icons/StatusNet.png?" title="StatusNet"></a>
<a href="$url/settings/connectors"><img alt="LiveJournal" src="view/theme/diabook-blue/icons/livejournal.png?" title="LiveJournal"></a>
<a href="$url/settings/connectors"><img alt="Posterous" src="view/theme/diabook-blue/icons/posterous.png?" title="Posterous"></a>
<a href="$url/settings/connectors"><img alt="Tumblr" src="view/theme/diabook-blue/icons/tumblr.png?" title="Tumblr"></a>
<a href="$url/settings/connectors"><img alt="Twitter" src="view/theme/diabook-blue/icons/twitter.png?" title="Twitter"></a>
<a href="$url/settings/connectors"><img alt="WordPress" src="view/theme/diabook-blue/icons/wordpress.png?" title="WordPress"></a>
<a href="$url/settings/connectors"><img alt="E-Mail" src="view/theme/diabook-blue/icons/email.png?" title="E-Mail"></a>
</div>
{{ endif }}
{{ if $nv }}
<h3>Find Friends</h3>
<a class="$nv.directory.2" href="$nv.directory.0" style="margin-left: 10px; " title="$nv.directory.3" >$nv.directory.1</a><br>
<a class="$nv.match.2" href="$nv.match.0" style="margin-left: 10px; " title="$nv.match.3" >$nv.match.1</a><br>
<a class="$nv.suggest.2" href="$nv.suggest.0" style="margin-left: 10px; " title="$nv.suggest.3" >$nv.suggest.1</a>
<a class="$nv.invite.2" href="$nv.invite.0" style="margin-left: 10px; " title="$nav.invite.3" >$nv.invite.1</a>
{{ endif }}
{{ if $lastusers_title }}
<h3>PostIt to Friendica</h3>
<div style="padding-left: 8px;"><span ><a href="$fostitJS" title="PostIt">Post to Friendica</a> from anywhere by bookmarking the Link.</span></div>
{{ endif }}
{{ if $lastusers_title }}
<h3>$lastusers_title</h3>
<div id='lastusers-wrapper' class='items-wrapper'>
{{ for $lastusers_items as $i }}
$i
{{ endfor }}
</div>
{{ endif }}
{{ if $activeusers_title }}
<h3>$activeusers_title</h3>
<div class='items-wrapper'>
{{ for $activeusers_items as $i }}
$i
{{ endfor }}
</div>
{{ endif }}
{{ if $photos_title }}
<h3>$photos_title</h3>
<div id='ra-photos-wrapper' class='items-wrapper'>
{{ for $photos_items as $i }}
$i
{{ endfor }}
</div>
{{ endif }}
{{ if $like_title }}
<h3>$like_title</h3>
<ul id='likes'>
{{ for $like_items as $i }}
<li id='ra-photos-wrapper'>$i</li>
{{ endfor }}
</ul>
{{ endif }}

View File

@ -0,0 +1,10 @@
<div class="directory-item" id="directory-item-$id" >
<div class="directory-photo-wrapper" id="directory-photo-wrapper-$id" >
<div class="directory-photo" id="directory-photo-$id" >
<a href="$profile-link" class="directory-profile-link" id="directory-profile-link-$id" >
<img class="directory-photo-img" src="$photo" alt="$alt-text" title="$alt-text" />
</a>
</div>
</div>
</div>

View File

@ -0,0 +1,8 @@
fpostit
original author: Devlon Duthied
see his blog posting:
http://blog.duthied.com/2011/09/13/node-agnostic-friendika-bookmarklet/
original published at github https://github.com/duthied/Friendika-Bookmarklet

View File

@ -0,0 +1,6 @@
javascript: (function() {
the_url = 'localhost/view/theme/diabook/fpostit/fpostit.php?url=' + encodeURIComponent(window.location.href) + '&title=' + encodeURIComponent(document.title) + '&text=' + encodeURIComponent(''+(window.getSelection ? window.getSelection() : document.getSelection ? document.getSelection() : document.selection.createRange().text));
a_funct = function() {
if (!window.open(the_url, 'fpostit', 'location=yes,links=no,scrollbars=no,toolbar=no,width=600,height=300')) location.href = the_url};
if (/Firefox/.test(navigator.userAgent)) {setTimeout(a_funct, 0)}
else {a_funct()}})()"

View File

@ -0,0 +1,135 @@
<?php
if (!isset($_POST["friendika_acct_name"])) $_POST["friendika_acct_name"] = '';
if (!isset($_COOKIE['username'])) $_COOKIE['username'] = '';
if (!isset($_COOKIE['password'])) $_COOKIE['password'] = '';
if (!isset($hostname)) $hostname = '';
if (!isset($username)) $username = '';
if (($_POST["friendika_acct_name"] != '') && ($_POST["friendika_password"] != '')) {
setcookie("username", $_POST["friendika_acct_name"], time()+60*60*24*300);
setcookie("password", $_POST["friendika_password"], time()+60*60*24*300);
}
?>
<html>
<head>
<style>
body {
font-family: arial, Helvetica,sans-serif;
margin: 0px;
}
.wrap1 {
padding: 2px 5px;
background-color: #000;
margin-bottom: 10px;
}
.wrap2 {
margin-left: 10px;
font-size: 12px;
}
.logo {
margin-left: 3px;
margin-right: 5px;
float: left;
}
h2 {
color: #ffffff;
}
.error {
background-color: #FFFF66;
font-size: 12px;
margin-left: 10px;
}
</style>
</head>
<body>
<?php
if (isset($_GET['title'])) {
$title = $_GET['title'];
}
if (isset($_GET['text'])) {
$text = $_GET['text'];
}
if (isset($_GET['url'])) {
$url = $_GET['url'];
}
if ((isset($title)) && (isset($text)) && (isset($url))) {
$content = "$title\nsource:$url\n\n$text";
} else {
$content = $_POST['content'];
}
if (isset($_POST['submit'])) {
if (($_POST["friendika_acct_name"] != '') && ($_POST["friendika_password"] != '')) {
$acctname = $_POST["friendika_acct_name"];
$tmp_account_array = explode("@", $acctname);
if (isset($tmp_account_array[1])) {
$username = $tmp_account_array[0];
$hostname = $tmp_account_array[1];
}
$password = $_POST["friendika_password"];
$content = $_POST["content"];
$url = "http://" . $hostname . '/api/statuses/update';
$data = array('status' => $content);
// echo "posting to: $url<br/>";
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_USERPWD, "$username:$password");
curl_setopt($c, CURLOPT_POSTFIELDS, $data);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_FOLLOWLOCATION, true);
$c_result = curl_exec($c);
if(curl_errno($c)){
$error = curl_error($c);
showForm($error, $content);
}
curl_close($c);
if (!isset($error)) {
echo '<script language="javascript" type="text/javascript">window.close();</script>';
}
} else {
$error = "Missing account name and/or password...try again please";
showForm($error, $content);
}
} else {
showForm(null, $content);
}
function showForm($error, $content) {
$username_cookie = $_COOKIE['username'];
$password_cookie = $_COOKIE['password'];
echo <<<EOF
<div class='wrap1'>
<h2><img class='logo' src='friendika-32.png' align='middle';/>
Friendika Bookmarklet</h2>
</div>
<div class="wrap2">
<form method="post" action="{$_SERVER['PHP_SELF']}">
Enter the email address of the Friendika Account that you want to cross-post to:(example: user@friendika.org)<br /><br />
Account ID: <input type="text" name="friendika_acct_name" value="{$username_cookie}" size="50"/><br />
Password: <input type="password" name="friendika_password" value="{$password_cookie}" size="50"/><br />
<textarea name="content" id="content" rows="6" cols="70">{$content}</textarea><br />
<input type="submit" value="PostIt!" name="submit" />&nbsp;&nbsp;<span class='error'>$error</span>
</form>
<p></p>
</div>
EOF;
}
?>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 880 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 710 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 710 B

After

Width:  |  Height:  |  Size: 781 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 938 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 964 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -85,11 +85,7 @@
</li>
{{ if $nav.directory }}
<li id="nav-directory-link" class="nav-menu $sel.directory">
<a class="$nav.directory.2" href="$nav.directory.0" title="$nav.directory.3" >$nav.directory.1</a>
</li>
{{ endif }}
{{ if $nav.apps }}
<li id="nav-apps-link" class="nav-menu $sel.apps">

View File

@ -12,7 +12,7 @@
<div id="photo-photo">
{{ if $prevlink }}<div id="photo-prev-link"><a href="$prevlink.0">$prevlink.1</a></div>{{ endif }}
<a href="$photo.href" class="fancy-photo" title="$photo.title"><img src="$photo.src" /></a>
<a href="$photo.href" class="lightbox" title="$photo.title"><img src="$photo.src" /></a>
{{ if $nextlink }}<div id="photo-next-link"><a href="$nextlink.0">$nextlink.1</a></div>{{ endif }}
</div>

View File

@ -9,12 +9,13 @@
<ul id="profile-side-menu" class="menu-profile-side">
<li id="profile-side-status" class="menu-profile-list home"><a class="menu-profile-list-item" href="$ps.usermenu.status.0">$ps.usermenu.status.1</a></li>
<li id="profile-side-photos" class="menu-profile-list photos"><a class="menu-profile-list-item" href="$ps.usermenu.photos.0">$ps.usermenu.photos.1</a></li>
<li id="profile-side-photos" class="menu-profile-list pscontacts"><a class="menu-profile-list-item" href="$ps.usermenu.contacts.0">$ps.usermenu.contacts.1</a></li>
<li id="profile-side-events" class="menu-profile-list events"><a class="menu-profile-list-item" href="$ps.usermenu.events.0">$ps.usermenu.events.1</a></li>
<li id="profile-side-notes" class="menu-profile-list notes"><a class="menu-profile-list-item" href="$ps.usermenu.notes.0">$ps.usermenu.notes.1</a></li>
<li id="profile-side-foren" class="menu-profile-list foren"><a class="menu-profile-list-item" href="http://dir.friendika.com/directory/forum" target="blanc">Public Groups</a></li>
<li id="profile-side-foren" class="menu-profile-list foren"><a class="menu-profile-list-item" href="$ps.usermenu.pgroups.0" target="blanc">$ps.usermenu.pgroups.1</a></li>
<li id="profile-side-foren" class="menu-profile-list com_side"><a class="menu-profile-list-item" href="$ps.usermenu.community.0">$ps.usermenu.community.1</a></li>
</ul>
</div>

View File

@ -22,7 +22,7 @@
{{ if $pdesc }}<div class="title">$profile.pdesc</div>{{ endif }}
<div id="profile-photo-wrapper"><img class="photo" width="175" height="175" src="$profile.photo?rev=$profile.picdate" alt="$profile.name" /></div>
<div id="profile-photo-wrapper"><img class="photo" width="155" height="155" src="$profile.photo?rev=$profile.picdate" alt="$profile.name" /></div>

View File

@ -0,0 +1,20 @@
<div id="profile_side">
<div id="ps-usernameicon">
<a href="$ps.usermenu.status.0" title="$userinfo.name">
<img src="$userinfo.icon" id="ps-usericon" alt="$userinfo.name">
</a>
<a href="$ps.usermenu.status.0" id="ps-username" title="$userinfo.name">$userinfo.name</a>
</div>
<ul id="profile-side-menu" class="menu-profile-side">
<li id="profile-side-status" class="menu-profile-list home"><a class="menu-profile-list-item" href="$ps.usermenu.status.0">$ps.usermenu.status.1</a></li>
<li id="profile-side-photos" class="menu-profile-list photos"><a class="menu-profile-list-item" href="$ps.usermenu.photos.0">$ps.usermenu.photos.1</a></li>
<li id="profile-side-events" class="menu-profile-list events"><a class="menu-profile-list-item" href="$ps.usermenu.events.0">$ps.usermenu.events.1</a></li>
<li id="profile-side-notes" class="menu-profile-list notes"><a class="menu-profile-list-item" href="$ps.usermenu.notes.0">$ps.usermenu.notes.1</a></li>
<li id="profile-side-foren" class="menu-profile-list foren"><a class="menu-profile-list-item" href="http://dir.friendika.com/directory/forum" target="blanc">Public Groups</a></li>
<li id="profile-side-foren" class="menu-profile-list com_side"><a class="menu-profile-list-item" href="$ps.usermenu.community.0">$ps.usermenu.community.1</a></li>
</ul>
</div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -178,8 +178,8 @@
.icon.on { background-image: url("../../../view/theme/diabook-blue/icons/toogle_on.png"); background-repeat: no-repeat;}
.icon.off { background-image: url("../../../view/theme/diabook-blue/icons/toogle_off.png"); background-repeat: no-repeat;}
.prev { background-position: -90px -60px;}
.next { background-position: -110px -60px;}
.icon.prev { background-image: url("../../../view/theme/diabook-blue/icons/prev.png"); background-repeat: no-repeat;}
.icon.next { background-image: url("../../../view/theme/diabook-blue/icons/next.png"); background-repeat: no-repeat;}
/*.tagged { background-position: -130px -60px;}*/
.attachtype {
@ -387,15 +387,13 @@
margin-bottom: 5px;
width: 684px;
border-bottom: 1px solid #BDCDD4;
border-top: 1px solid #BDCDD4;
padding: 8px;
}
/* global */
body {
font-family: 'Lato', "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 13px;
font-size: 12.5px;
background-color: #ffffff;
color: #2d2d2d;
margin: 50px auto auto;
@ -887,6 +885,8 @@ ul.menu-popup .empty {
position: absolute;
padding-top: 4px;
padding-left: 5px;
word-wrap: break-word;
width: 130px;
}
#ps-username:hover{
text-decoration: none;
@ -933,6 +933,9 @@ ul.menu-popup .empty {
.menu-profile-list.com_side{
background: url("../../../view/theme/diabook-blue/icons/com_side.png") no-repeat;
}
.menu-profile-list.pscontacts{
background: url("../../../view/theme/diabook-blue/icons/pscontacts.png") no-repeat;
}
/* aside */
aside {
display: table-cell;
@ -1235,10 +1238,10 @@ body .pageheader{
}
.wall-item-container .wall-item-content {
font-size: 13px;
font-size: 12.5px;
max-width: 720px;
word-wrap: break-word;
line-height: 1.4;
line-height: 1.2;
}
.wall-item-container .wall-item-content img {

View File

@ -7,118 +7,254 @@
* Author:
*/
$a->theme_info = array(
'extends' => 'diabook',
);
//fancybox: provide $photo.href to photo_top.tpl to img in org. scale
//change css on network and profilepages
$cssFile = null;
//profile_side
$nav['usermenu']=array();
$userinfo = null;
/**
* prints last community activity
*/
function diabook_blue_community_info(){
$a = get_app();
//right_aside at networkpages
if(local_user()) {
// last 12 users
$aside['$lastusers_title'] = t('Last users');
$aside['$lastusers_items'] = array();
$sql_extra = "";
$publish = (get_config('system','publish_all') ? '' : " AND `publish` = 1 " );
$order = " ORDER BY `register_date` DESC ";
$r = q("SELECT `profile`.*, `profile`.`uid` AS `profile_uid`, `user`.`nickname`
FROM `profile` LEFT JOIN `user` ON `user`.`uid` = `profile`.`uid`
WHERE `is-default` = 1 $publish AND `user`.`blocked` = 0 $sql_extra $order LIMIT %d , %d ",
0,
9
);
$tpl = file_get_contents( dirname(__file__).'/directory_item.tpl');
if(count($r)) {
$photo = 'thumb';
foreach($r as $rr) {
$profile_link = $a->get_baseurl() . '/profile/' . ((strlen($rr['nickname'])) ? $rr['nickname'] : $rr['profile_uid']);
$entry = replace_macros($tpl,array(
'$id' => $rr['id'],
'$profile-link' => $profile_link,
'$photo' => $rr[$photo],
'$alt-text' => $rr['name'],
));
$aside['$lastusers_items'][] = $entry;
}
}
// last 10 liked items
$aside['$like_title'] = t('Last likes');
$aside['$like_items'] = array();
$r = q("SELECT `T1`.`created`, `T1`.`liker`, `T1`.`liker-link`, `item`.* FROM
(SELECT `parent-uri`, `created`, `author-name` AS `liker`,`author-link` AS `liker-link`
FROM `item` WHERE `verb`='http://activitystrea.ms/schema/1.0/like' GROUP BY `parent-uri` ORDER BY `created` DESC) AS T1
INNER JOIN `item` ON `item`.`uri`=`T1`.`parent-uri`
WHERE `T1`.`liker-link` LIKE '%s%%' OR `item`.`author-link` LIKE '%s%%'
GROUP BY `uri`
ORDER BY `T1`.`created` DESC
LIMIT 0,5",
$a->get_baseurl(),$a->get_baseurl()
);
$r = q("SELECT micro FROM contact WHERE uid=%d AND self=1", intval($a->user['uid']));
foreach ($r as $rr) {
$author = '<a href="' . $rr['liker-link'] . '">' . $rr['liker'] . '</a>';
$objauthor = '<a href="' . $rr['author-link'] . '">' . $rr['author-name'] . '</a>';
$userinfo = array(
'icon' => (count($r) ? $r[0]['micro']: $a->get_baseurl()."/images/default-profile-mm.jpg"),
'name' => $a->user['username'],
);
//var_dump($rr['verb'],$rr['object-type']); killme();
switch($rr['verb']){
case 'http://activitystrea.ms/schema/1.0/post':
switch ($rr['object-type']){
case 'http://activitystrea.ms/schema/1.0/event':
$post_type = t('event');
break;
default:
$post_type = t('status');
}
break;
default:
if ($rr['resource-id']){
$post_type = t('photo');
$m=array(); preg_match("/\[url=([^]]*)\]/", $rr['body'], $m);
$rr['plink'] = $m[1];
} else {
$post_type = t('status');
}
}
$plink = '<a href="' . $rr['plink'] . '">' . $post_type . '</a>';
$aside['$like_items'][] = sprintf( t('%1$s likes %2$s\'s %3$s'), $author, $objauthor, $plink);
}
$ps['usermenu'][status] = Array('profile/' . $a->user['nickname'], t('Home'), "", t('Your posts and conversations'));
$ps['usermenu'][profile] = Array('profile/' . $a->user['nickname']. '?tab=profile', t('Profile'), "", t('Your profile page'));
$ps['usermenu'][photos] = Array('photos/' . $a->user['nickname'], t('Photos'), "", t('Your photos'));
$ps['usermenu'][events] = Array('events/', t('Events'), "", t('Your events'));
$ps['usermenu'][notes] = Array('notes/', t('Personal notes'), "", t('Your personal photos'));
$ps['usermenu'][community] = Array('community/', t('Community'), "", "");
// last 12 photos
$aside['$photos_title'] = t('Last photos');
$aside['$photos_items'] = array();
$r = q("SELECT `photo`.`id`, `photo`.`resource-id`, `photo`.`scale`, `photo`.`desc`, `user`.`nickname`, `user`.`username` FROM
(SELECT `resource-id`, MAX(`scale`) as maxscale FROM `photo`
WHERE `profile`=0 AND `contact-id`=0 AND `album` NOT IN ('Contact Photos', '%s', 'Profile Photos', '%s')
AND `allow_cid`='' AND `allow_gid`='' AND `deny_cid`='' AND `deny_gid`='' GROUP BY `resource-id`) AS `t1`
INNER JOIN `photo` ON `photo`.`resource-id`=`t1`.`resource-id` AND `photo`.`scale` = `t1`.`maxscale`,
`user`
WHERE `user`.`uid` = `photo`.`uid`
AND `user`.`blockwall`=0
AND `user`.`hidewall`=0
ORDER BY `photo`.`edited` DESC
LIMIT 0, 9",
dbesc(t('Contact Photos')),
dbesc(t('Profile Photos'))
);
if(count($r)) {
$tpl = file_get_contents( dirname(__file__).'/directory_item.tpl');
foreach($r as $rr) {
$photo_page = $a->get_baseurl() . '/photos/' . $rr['nickname'] . '/image/' . $rr['resource-id'];
$photo_url = $a->get_baseurl() . '/photo/' . $rr['resource-id'] . '-' . $rr['scale'] .'.jpg';
$entry = replace_macros($tpl,array(
'$id' => $rr['id'],
'$profile-link' => $photo_page,
'$photo' => $photo_url,
'$alt-text' => $rr['username']." : ".$rr['desc'],
));
if($is_url = preg_match ("/\bnetwork\b/i", $_SERVER['REQUEST_URI'])) {
$tpl = get_markup_template('profile_side.tpl');
$aside['$photos_items'][] = $entry;
}
}
$fostitJS = "javascript: (function() {
the_url = '".$a->get_baseurl($ssl_state)."/view/theme/diabook-blue/fpostit/fpostit.php?url=' + encodeURIComponent(window.location.href) + '&title=' + encodeURIComponent(document.title) + '&text=' + encodeURIComponent(''+(window.getSelection ? window.getSelection() : document.getSelection ? document.getSelection() : document.selection.createRange().text));
a_funct = function() {
if (!window.open(the_url, 'fpostit', 'location=yes,links=no,scrollbars=no,toolbar=no,width=600,height=300')) location.href = the_url};
if (/Firefox/.test(navigator.userAgent)) {setTimeout(a_funct, 0)}
else {a_funct()}})()" ;
$aside['$fostitJS'] = $fostitJS;
//nav FIND FRIENDS
if(local_user()) {
$nv = array();
$nv['directory'] = Array('directory', t('Directory'), "", "");
$nv['match'] = Array('match', t('Similar Interests'), "", "");
$nv['suggest'] = Array('suggest', t('Friend Suggestions'), "", "");
$nv['invite'] = Array('invite', t('Invite Friends'), "", "");
$aside['$nv'] = $nv;
};
//Community Page
$page = '<div id="page-sidebar-right_aside" class="widget">
<div class="title tool">
<h3>'.t("Community Pages").'</h3></div>
<div id="sidebar-page-list"><ul>';
$a->page['aside'] .= replace_macros($tpl, array(
'$userinfo' => $userinfo,
'$ps' => $ps,
));
$pagelist = array();
$contacts = q("SELECT `id`, `url`, `name`, `micro`FROM `contact`
WHERE `network`= 'dfrn' AND `forum` = 1 AND `uid` = %d",
intval($a->user['uid'])
);
$pageD = array();
// Look if the profile is a community page
foreach($contacts as $contact) {
$pageD[] = array("url"=>$contact["url"], "name"=>$contact["name"], "id"=>$contact["id"], "micro"=>$contact['micro']);
};
$contacts = $pageD;
foreach($contacts as $contact) {
$page .= '<li style="list-style-type: none;" class="tool"><img height="20" width="20" style="float: left; margin-right: 3px;" src="' . $contact['micro'] .'" alt="' . $contact['url'] . '" /> <a href="'.$a->get_baseurl().'/redir/'.$contact["id"].'" style="margin-top: 2px;" title="' . $contact['url'] . '" class="label" target="external-link">'.
$contact["name"]."</a></li>";
}
$page .= '</ul></div></div>';
if (sizeof($contacts) > 0)
$aside['$page'] = $page;
//END Community Page
$url = $a->get_baseurl($ssl_state);
$aside['$url'] = $url;
$tpl = file_get_contents(dirname(__file__).'/communityhome.tpl');
$a->page['right_aside'] = replace_macros($tpl, $aside);
}
//profile_side at networkpages
if ($a->argv[0] === "network" && local_user()){
// USER MENU
if(local_user()) {
$r = q("SELECT micro FROM contact WHERE uid=%d AND self=1", intval($a->user['uid']));
$userinfo = array(
'icon' => (count($r) ? $r[0]['micro']: $a->get_baseurl()."/images/default-profile-mm.jpg"),
'name' => $a->user['username'],
);
$ps = array('usermenu'=>array());
$ps['usermenu']['status'] = Array('profile/' . $a->user['nickname'], t('Home'), "", t('Your posts and conversations'));
$ps['usermenu']['profile'] = Array('profile/' . $a->user['nickname']. '?tab=profile', t('Profile'), "", t('Your profile page'));
$ps['usermenu']['contacts'] = Array('contacts' , t('Contacts'), "", t('Your contacts'));
$ps['usermenu']['photos'] = Array('photos/' . $a->user['nickname'], t('Photos'), "", t('Your photos'));
$ps['usermenu']['events'] = Array('events/', t('Events'), "", t('Your events'));
$ps['usermenu']['notes'] = Array('notes/', t('Personal notes'), "", t('Your personal photos'));
$ps['usermenu']['community'] = Array('community/', t('Community'), "", "");
$ps['usermenu']['pgroups'] = Array('http://dir.friendika.com/directory/forum', t('Public Groups'), "", "");
$tpl = get_markup_template('profile_side.tpl');
$a->page['aside'] .= replace_macros($tpl, array(
'$userinfo' => $userinfo,
'$ps' => $ps,
));
}
// COMMUNITY
diabook_blue_community_info();
// CUSTOM CSS
$cssFile = $a->get_baseurl($ssl_state)."/view/theme/diabook-blue/style-network.css";
}
//right_aside at profile pages
if ($a->argv[0] === "profile"){
// COMMUNITY
diabook_blue_community_info();
// CUSTOM CSS
$cssFile = $a->get_baseurl($ssl_state)."/view/theme/diabook-blue/style-profile.css";
}
// custom css
if (!is_null($cssFile)) $a->page['htmlhead'] .= sprintf('<link rel="stylesheet" type="text/css" href="%s" />', $cssFile);
//js scripts
$a->page['htmlhead'] .= <<< EOT
<script>
//contacts
$('html').click(function() {
$('#nav-contacts-linkmenu').removeClass('selected');
document.getElementById( "nav-contacts-menu" ).style.display = "none";
$(function() {
$('a.lightbox').fancybox(); // Select all links with lightbox class
});
$('#nav-contacts-linkmenu').click(function(event){
event.stopPropagation();
});
//messages
$('html').click(function() {
$('#nav-messages-linkmenu').removeClass('selected');
document.getElementById( "nav-messages-menu" ).style.display = "none";
});
$('#nav-messages-linkmenu').click(function(event){
event.stopPropagation();
});
//notifications
$('html').click(function() {
$('#nav-notifications-linkmenu').removeClass('selected');
document.getElementById( "nav-notifications-menu" ).style.display = "none";
});
$('#nav-notifications-linkmenu').click(function(event){
event.stopPropagation();
});
//usermenu
$('html').click(function() {
$('#nav-user-linkmenu').removeClass('selected');
document.getElementById( "nav-user-menu" ).style.display = "none";
});
$('#nav-user-linkmenu').click(function(event){
event.stopPropagation();
});
//settingsmenu
$('html').click(function() {
$('#nav-site-linkmenu').removeClass('selected');
document.getElementById( "nav-site-menu" ).style.display = "none";
});
$('#nav-site-linkmenu').click(function(event){
event.stopPropagation();
});
//appsmenu
$('html').click(function() {
$('#nav-apps-link').removeClass('selected');
document.getElementById( "nav-apps-menu" ).style.display = "none";
});
$('#nav-apps-link').click(function(event){
event.stopPropagation();
});
$(document).ready(function() {
$("a.fancy-photo").fancybox(); // Select all links with lightbox class
$("a.fancy-album").fancybox();
});
</script>
EOT;

View File

@ -1,6 +1,5 @@
{{ if $item.indent }}{{ else }}
<div class="wall-item-decor">
{{ if $item.lock }}<span class="icon lock fakelink" onclick="lockview(event,$item.id);" title="$item.lock">$item.lock</span>{{ endif }}
<img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div>
{{ endif }}

View File

@ -1,6 +1,5 @@
{{ if $item.indent }}{{ else }}
<div class="wall-item-decor">
{{ if $item.lock }}<span class="icon lock fakelink" onclick="lockview(event,$item.id);" title="$item.lock">$item.lock</span>{{ endif }}
<img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div>
{{ endif }}

View File

@ -1,13 +1,45 @@
{{ if $page }}
<div>$page</div>
{{ endif }}
{{ if $lastusers_title }}
<h3 style="margin-top:0px;">Help or #NewHere?</h3>
<a href="https://helpers.pyxis.uberspace.de/profile/helpers" style="margin-left: 10px; color:#000;" title="Friendica Support" target="blank">Friendica Support</a><br>
<a href="https://letstalk.pyxis.uberspace.de/profile/letstalk" style="margin-left: 10px; color:#000;" title="Let's talk" target="blank">Let's talk</a><br>
<a href="http://kakste.com/profile/newhere" title="#NewHere" style="margin-left: 10px; color:#000;" target="blank">NewHere</a>
<h3 style="margin-top:0px;">Help or @NewHere ?</h3>
<a href="https://helpers.pyxis.uberspace.de/profile/helpers" style="margin-left: 10px; " title="Friendica Support" target="blank">Friendica Support</a><br>
<a href="https://letstalk.pyxis.uberspace.de/profile/letstalk" style="margin-left: 10px; " title="Let's talk" target="blank">Let's talk</a><br>
<a href="http://newzot.hydra.uberspace.de/profile/newzot" title="Local Friendica" style="margin-left: 10px; " target="blank">Local Friendica</a>
<a href="http://kakste.com/profile/newhere" title="@NewHere" style="margin-left: 10px; " target="blank">NewHere</a>
{{ endif }}
{{ if $lastusers_title }}
<h3>Connectable Services</h3>
<div id="right_service_icons" style="margin-left: 11px; margin-top: 5px;">
<a href="$url/facebook"><img alt="Facebook" src="view/theme/diabook/icons/facebook.png" title="Facebook"></a>
<a href="$url/settings/connectors"><img alt="StatusNet" src="view/theme/diabook/icons/StatusNet.png?" title="StatusNet"></a>
<a href="$url/settings/connectors"><img alt="LiveJournal" src="view/theme/diabook/icons/livejournal.png?" title="LiveJournal"></a>
<a href="$url/settings/connectors"><img alt="Posterous" src="view/theme/diabook/icons/posterous.png?" title="Posterous"></a>
<a href="$url/settings/connectors"><img alt="Tumblr" src="view/theme/diabook/icons/tumblr.png?" title="Tumblr"></a>
<a href="$url/settings/connectors"><img alt="Twitter" src="view/theme/diabook/icons/twitter.png?" title="Twitter"></a>
<a href="$url/settings/connectors"><img alt="WordPress" src="view/theme/diabook/icons/wordpress.png?" title="WordPress"></a>
<a href="$url/settings/connectors"><img alt="E-Mail" src="view/theme/diabook/icons/email.png?" title="E-Mail"></a>
</div>
{{ endif }}
{{ if $nv }}
<h3>Find Friends</h3>
<a class="$nv.directory.2" href="$nv.directory.0" style="margin-left: 10px; " title="$nv.directory.3" >$nv.directory.1</a><br>
<a class="$nv.match.2" href="$nv.match.0" style="margin-left: 10px; " title="$nv.match.3" >$nv.match.1</a><br>
<a class="$nv.suggest.2" href="$nv.suggest.0" style="margin-left: 10px; " title="$nv.suggest.3" >$nv.suggest.1</a>
<a class="$nv.invite.2" href="$nv.invite.0" style="margin-left: 10px; " title="$nav.invite.3" >$nv.invite.1</a>
{{ endif }}
{{ if $lastusers_title }}
<h3>PostIt to Friendica</h3>
<div style="padding-left: 8px;"><span ><a href="$fostitJS" title="PostIt">Post to Friendica</a> from anywhere by bookmarking this Link.</span></div>
{{ endif }}
{{ if $lastusers_title }}
<h3>$lastusers_title</h3>
<div class='items-wrapper'>
<div id='lastusers-wrapper' class='items-wrapper'>
{{ for $lastusers_items as $i }}
$i
{{ endfor }}
@ -25,19 +57,18 @@
{{ if $photos_title }}
<h3>$photos_title</h3>
<div class='items-wrapper'>
<div id='ra-photos-wrapper' class='items-wrapper'>
{{ for $photos_items as $i }}
$i
{{ endfor }}
</div>
{{ endif }}
{{ if $like_title }}
<h3>$like_title</h3>
<ul id='likes'>
{{ for $like_items as $i }}
<li>$i</li>
<li id='ra-photos-wrapper'>$i</li>
{{ endfor }}
</ul>
{{ endif }}

View File

@ -0,0 +1,8 @@
fpostit
original author: Devlon Duthied
see his blog posting:
http://blog.duthied.com/2011/09/13/node-agnostic-friendika-bookmarklet/
original published at github https://github.com/duthied/Friendika-Bookmarklet

View File

@ -0,0 +1,6 @@
javascript: (function() {
the_url = 'localhost/view/theme/diabook/fpostit/fpostit.php?url=' + encodeURIComponent(window.location.href) + '&title=' + encodeURIComponent(document.title) + '&text=' + encodeURIComponent(''+(window.getSelection ? window.getSelection() : document.getSelection ? document.getSelection() : document.selection.createRange().text));
a_funct = function() {
if (!window.open(the_url, 'fpostit', 'location=yes,links=no,scrollbars=no,toolbar=no,width=600,height=300')) location.href = the_url};
if (/Firefox/.test(navigator.userAgent)) {setTimeout(a_funct, 0)}
else {a_funct()}})()"

View File

@ -0,0 +1,135 @@
<?php
if (!isset($_POST["friendika_acct_name"])) $_POST["friendika_acct_name"] = '';
if (!isset($_COOKIE['username'])) $_COOKIE['username'] = '';
if (!isset($_COOKIE['password'])) $_COOKIE['password'] = '';
if (!isset($hostname)) $hostname = '';
if (!isset($username)) $username = '';
if (($_POST["friendika_acct_name"] != '') && ($_POST["friendika_password"] != '')) {
setcookie("username", $_POST["friendika_acct_name"], time()+60*60*24*300);
setcookie("password", $_POST["friendika_password"], time()+60*60*24*300);
}
?>
<html>
<head>
<style>
body {
font-family: arial, Helvetica,sans-serif;
margin: 0px;
}
.wrap1 {
padding: 2px 5px;
background-color: #000;
margin-bottom: 10px;
}
.wrap2 {
margin-left: 10px;
font-size: 12px;
}
.logo {
margin-left: 3px;
margin-right: 5px;
float: left;
}
h2 {
color: #ffffff;
}
.error {
background-color: #FFFF66;
font-size: 12px;
margin-left: 10px;
}
</style>
</head>
<body>
<?php
if (isset($_GET['title'])) {
$title = $_GET['title'];
}
if (isset($_GET['text'])) {
$text = $_GET['text'];
}
if (isset($_GET['url'])) {
$url = $_GET['url'];
}
if ((isset($title)) && (isset($text)) && (isset($url))) {
$content = "$title\nsource:$url\n\n$text";
} else {
$content = $_POST['content'];
}
if (isset($_POST['submit'])) {
if (($_POST["friendika_acct_name"] != '') && ($_POST["friendika_password"] != '')) {
$acctname = $_POST["friendika_acct_name"];
$tmp_account_array = explode("@", $acctname);
if (isset($tmp_account_array[1])) {
$username = $tmp_account_array[0];
$hostname = $tmp_account_array[1];
}
$password = $_POST["friendika_password"];
$content = $_POST["content"];
$url = "http://" . $hostname . '/api/statuses/update';
$data = array('status' => $content);
// echo "posting to: $url<br/>";
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_USERPWD, "$username:$password");
curl_setopt($c, CURLOPT_POSTFIELDS, $data);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_FOLLOWLOCATION, true);
$c_result = curl_exec($c);
if(curl_errno($c)){
$error = curl_error($c);
showForm($error, $content);
}
curl_close($c);
if (!isset($error)) {
echo '<script language="javascript" type="text/javascript">window.close();</script>';
}
} else {
$error = "Missing account name and/or password...try again please";
showForm($error, $content);
}
} else {
showForm(null, $content);
}
function showForm($error, $content) {
$username_cookie = $_COOKIE['username'];
$password_cookie = $_COOKIE['password'];
echo <<<EOF
<div class='wrap1'>
<h2><img class='logo' src='friendika-32.png' align='middle';/>
Friendika Bookmarklet</h2>
</div>
<div class="wrap2">
<form method="post" action="{$_SERVER['PHP_SELF']}">
Enter the email address of the Friendika Account that you want to cross-post to:(example: user@friendika.org)<br /><br />
Account ID: <input type="text" name="friendika_acct_name" value="{$username_cookie}" size="50"/><br />
Password: <input type="password" name="friendika_password" value="{$password_cookie}" size="50"/><br />
<textarea name="content" id="content" rows="6" cols="70">{$content}</textarea><br />
<input type="submit" value="PostIt!" name="submit" />&nbsp;&nbsp;<span class='error'>$error</span>
</form>
<p></p>
</div>
EOF;
}
?>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 880 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 710 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 710 B

After

Width:  |  Height:  |  Size: 781 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 938 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 964 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -9,6 +9,7 @@
<ul id="profile-side-menu" class="menu-profile-side">
<li id="profile-side-status" class="menu-profile-list home"><a class="menu-profile-list-item" href="$ps.usermenu.status.0">$ps.usermenu.status.1</a></li>
<li id="profile-side-photos" class="menu-profile-list photos"><a class="menu-profile-list-item" href="$ps.usermenu.photos.0">$ps.usermenu.photos.1</a></li>
<li id="profile-side-photos" class="menu-profile-list pscontacts"><a class="menu-profile-list-item" href="$ps.usermenu.contacts.0">$ps.usermenu.contacts.1</a></li>
<li id="profile-side-events" class="menu-profile-list events"><a class="menu-profile-list-item" href="$ps.usermenu.events.0">$ps.usermenu.events.1</a></li>
<li id="profile-side-notes" class="menu-profile-list notes"><a class="menu-profile-list-item" href="$ps.usermenu.notes.0">$ps.usermenu.notes.1</a></li>
<li id="profile-side-foren" class="menu-profile-list foren"><a class="menu-profile-list-item" href="$ps.usermenu.pgroups.0" target="blanc">$ps.usermenu.pgroups.1</a></li>

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 KiB

View File

@ -111,6 +111,7 @@
.icon.language { background-image: url("../../../view/theme/diabook/icons/language.png");}
.camera { background-image: url("../../../view/theme/diabook/icons/camera.png");
display: block; width: 28px; height: 28px; background-repeat: no-repeat;
}
@ -395,7 +396,7 @@
/* global */
body {
font-family: 'Lato', "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 13px;
font-size: 12.5px;
background-color: #ffffff;
color: #2d2d2d;
margin: 50px auto auto;
@ -877,6 +878,8 @@ ul.menu-popup .empty {
padding-top: 4px;
padding-left: 5px;
color: #2D2D2D;
word-wrap: break-word;
width: 130px;
}
#ps-username:hover{
text-decoration: none;
@ -923,6 +926,9 @@ ul.menu-popup .empty {
.menu-profile-list.com_side{
background: url("../../../view/theme/diabook-blue/icons/com_side.png") no-repeat;
}
.menu-profile-list.pscontacts{
background: url("../../../view/theme/diabook-blue/icons/pscontacts.png") no-repeat;
}
/* aside */
aside {
@ -934,6 +940,7 @@ aside {
float: left;
/* background: #F1F1F1; */
}
aside #page-sidebar{display: none;}
aside .vcard .fn {
font-size: 18px;
@ -1161,7 +1168,16 @@ right_aside .directory-item { width: 50px; height: 50px; vertical-align: center;
right_aside .directory-photo { margin: 0px; }
right_aside .directory-photo-img { max-width: 45px; max-height: 45px; }
right_aside #likes { margin: 0px; padding: 0px; list-style: none; }
right_aside .items-wrapper{ overflow: auto; width: 100%; border-bottom: 1px solid #D2D2D2;}
right_aside .items-wrapper{ overflow: auto; width: 100%; }
right_aside #lastusers-wrapper { padding-left: 6px; padding-top: 3px; overflow: auto; width: 100%; }
right_aside #ra-photos-wrapper { padding-left: 5px; padding-top: 3px; overflow: auto; width: 100%; }
#page-sidebar-right_aside{margin-top: 0px; margin-bottom: 30px;}
#page-sidebar-right_aside ul {margin-top: 0px;}
.icon.expand {
background-image: url("../../../view/theme/diabook/icons/expand.png");
float: right;
cursor: pointer;
}
/* wall item */
.tread-wrapper {
@ -1187,6 +1203,7 @@ right_aside .items-wrapper{ overflow: auto; width: 100%; border-bottom: 1px soli
.wall-item-container .wall-item-item, .wall-item-container .wall-item-bottom {
display: table-row;
}
.wall-item-bottom {
font-size: 13px;
}
@ -1231,14 +1248,14 @@ right_aside .items-wrapper{ overflow: auto; width: 100%; border-bottom: 1px soli
}
.wall-item-container .wall-item-content {
font-size: 13px;
max-width: 720px;
font-size: 12.5px;
max-width: 420px;
word-wrap: break-word;
line-height: 1.4;
line-height: 1.2;
}
.wall-item-container .wall-item-content img {
max-width: 700px;
max-width: 400px;
}
.wall-item-container .wall-item-links, .wall-item-container .wall-item-actions {
display: table-cell;

View File

@ -395,7 +395,7 @@
/* global */
body {
font-family: 'Lato', "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 13px;
font-size: 12.5px;
background-color: #ffffff;
color: #2d2d2d;
margin: 50px auto auto;
@ -877,6 +877,8 @@ ul.menu-popup .empty {
padding-top: 4px;
padding-left: 5px;
color: #2D2D2D;
word-wrap: break-word;
width: 130px;
}
#ps-username:hover{
text-decoration: none;
@ -1018,8 +1020,8 @@ aside #side-peoplefind-url {
margin: 0px 2px 2px 0px;
}
#contact-block .contact-block-link img {
widht: 55px;
height: 55px;
widht: 48px;
height: 48px;
}
#lost-password-link {
float: left;
@ -1096,7 +1098,7 @@ aside #side-peoplefind-url {
section {
display: table-cell;
vertical-align: top;
width: auto;
width: 610px;
padding: 0px 0px 0px 12px;
}
@ -1161,8 +1163,11 @@ right_aside .directory-item { width: 50px; height: 50px; vertical-align: center;
right_aside .directory-photo { margin: 0px; }
right_aside .directory-photo-img { max-width: 45px; max-height: 45px; }
right_aside #likes { margin: 0px; padding: 0px; list-style: none; }
right_aside .items-wrapper{ overflow: auto; width: 100%; border-bottom: 1px solid #D2D2D2;}
right_aside .items-wrapper{ overflow: auto; width: 100%; }
right_aside #lastusers-wrapper { padding-left: 6px; padding-top: 3px; overflow: auto; width: 100%; }
right_aside #ra-photos-wrapper { padding-left: 5px; padding-top: 3px; overflow: auto; width: 100%; }
#page-sidebar-right_aside{margin-top: 0px; margin-bottom: 30px;}
#page-sidebar-right_aside ul {margin-top: 0px;}
/* wall item */
.tread-wrapper {
border-bottom: 1px solid #D2D2D2;
@ -1187,6 +1192,7 @@ right_aside .items-wrapper{ overflow: auto; width: 100%; border-bottom: 1px soli
.wall-item-container .wall-item-item, .wall-item-container .wall-item-bottom {
display: table-row;
}
.wall-item-bottom {
font-size: 13px;
}
@ -1231,14 +1237,14 @@ right_aside .items-wrapper{ overflow: auto; width: 100%; border-bottom: 1px soli
}
.wall-item-container .wall-item-content {
font-size: 13px;
max-width: 720px;
font-size: 12.5px;
max-width: 420px;
word-wrap: break-word;
line-height: 1.4;
line-height: 1.2;
}
.wall-item-container .wall-item-content img {
max-width: 700px;
max-width: 400px;
}
.wall-item-container .wall-item-links, .wall-item-container .wall-item-actions {
display: table-cell;
@ -2026,8 +2032,8 @@ box-shadow: 1px 1px 5px 0;
/* ================== */
.contact-block-img {
width: 55px;
height: 55px;
width: 48px;
height: 48px;
padding-right: 3px;
}
.contact-block-div {

View File

@ -394,7 +394,7 @@
/* global */
body {
font-family: 'Lato', "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 13px;
font-size: 12.5px;
background-color: #ffffff;
color: #2d2d2d;
margin: 50px auto auto;
@ -876,6 +876,8 @@ ul.menu-popup .empty {
padding-top: 4px;
padding-left: 5px;
color: #2D2D2D;
word-wrap: break-word;
width: 130px;
}
#ps-username:hover{
text-decoration: none;
@ -1212,10 +1214,10 @@ body .pageheader{
}
.wall-item-container .wall-item-content {
font-size: 13px;
font-size: 12.5px;
max-width: 720px;
word-wrap: break-word;
line-height: 1.4;
line-height: 1.2;
}
.wall-item-container .wall-item-content img {

View File

@ -7,9 +7,6 @@
* Author:
*/
$a->theme_info = array(
'extends' => 'diabook',
);
//change css on network and profilepages
$cssFile = null;
@ -18,6 +15,9 @@ $cssFile = null;
/**
* prints last community activity
*/
function diabook_community_info(){
$a = get_app();
//right_aside at networkpages
@ -33,7 +33,7 @@ function diabook_community_info(){
FROM `profile` LEFT JOIN `user` ON `user`.`uid` = `profile`.`uid`
WHERE `is-default` = 1 $publish AND `user`.`blocked` = 0 $sql_extra $order LIMIT %d , %d ",
0,
12
9
);
$tpl = file_get_contents( dirname(__file__).'/directory_item.tpl');
if(count($r)) {
@ -61,7 +61,7 @@ function diabook_community_info(){
WHERE `T1`.`liker-link` LIKE '%s%%' OR `item`.`author-link` LIKE '%s%%'
GROUP BY `uri`
ORDER BY `T1`.`created` DESC
LIMIT 0,10",
LIMIT 0,5",
$a->get_baseurl(),$a->get_baseurl()
);
@ -109,7 +109,7 @@ function diabook_community_info(){
AND `user`.`blockwall`=0
AND `user`.`hidewall`=0
ORDER BY `photo`.`edited` DESC
LIMIT 0, 12",
LIMIT 0, 9",
dbesc(t('Contact Photos')),
dbesc(t('Profile Photos'))
);
@ -130,15 +130,74 @@ function diabook_community_info(){
}
}
$fostitJS = "javascript: (function() {
the_url = '".$a->get_baseurl($ssl_state)."/view/theme/diabook/fpostit/fpostit.php?url=' + encodeURIComponent(window.location.href) + '&title=' + encodeURIComponent(document.title) + '&text=' + encodeURIComponent(''+(window.getSelection ? window.getSelection() : document.getSelection ? document.getSelection() : document.selection.createRange().text));
a_funct = function() {
if (!window.open(the_url, 'fpostit', 'location=yes,links=no,scrollbars=no,toolbar=no,width=600,height=300')) location.href = the_url};
if (/Firefox/.test(navigator.userAgent)) {setTimeout(a_funct, 0)}
else {a_funct()}})()" ;
$aside['$fostitJS'] = $fostitJS;
//right_aside FIND FRIENDS
if(local_user()) {
$nv = array();
$nv['directory'] = Array('directory', t('Directory'), "", "");
$nv['match'] = Array('match', t('Similar Interests'), "", "");
$nv['suggest'] = Array('suggest', t('Friend Suggestions'), "", "");
$nv['invite'] = Array('invite', t('Invite Friends'), "", "");
$aside['$nv'] = $nv;
};
//Community Page
$page = '<div id="page-sidebar-right_aside" class="widget">
<div class="title tool">
<h3>'.t("Community Pages").'</h3></div>
<div id="sidebar-page-list"><ul>';
$pagelist = array();
$contacts = q("SELECT `id`, `url`, `name`, `micro`FROM `contact`
WHERE `network`= 'dfrn' AND `forum` = 1 AND `uid` = %d",
intval($a->user['uid'])
);
$pageD = array();
// Look if the profile is a community page
foreach($contacts as $contact) {
$pageD[] = array("url"=>$contact["url"], "name"=>$contact["name"], "id"=>$contact["id"], "micro"=>$contact['micro']);
};
$contacts = $pageD;
foreach($contacts as $contact) {
$page .= '<li style="list-style-type: none;" class="tool"><img height="20" width="20" style="float: left; margin-right: 3px;" src="' . $contact['micro'] .'" alt="' . $contact['url'] . '" /> <a href="'.$a->get_baseurl().'/redir/'.$contact["id"].'" style="margin-top: 2px;" title="' . $contact['url'] . '" class="label" target="external-link">'.
$contact["name"]."</a></li>";
}
$page .= '</ul></div></div>';
if (sizeof($contacts) > 0)
$aside['$page'] = $page;
//END Community Page
$url = $a->get_baseurl($ssl_state);
$aside['$url'] = $url;
$tpl = file_get_contents(dirname(__file__).'/communityhome.tpl');
$a->page['right_aside'] = replace_macros($tpl, $aside);
}
//profile_side at networkpages
if ($a->argv[0] === "network"){
if ($a->argv[0] === "network" && local_user()){
// USER MENU
if(local_user()) {
@ -152,11 +211,12 @@ if ($a->argv[0] === "network"){
$ps = array('usermenu'=>array());
$ps['usermenu']['status'] = Array('profile/' . $a->user['nickname'], t('Home'), "", t('Your posts and conversations'));
$ps['usermenu']['profile'] = Array('profile/' . $a->user['nickname']. '?tab=profile', t('Profile'), "", t('Your profile page'));
$ps['usermenu']['contacts'] = Array('contacts' , t('Contacts'), "", t('Your contacts'));
$ps['usermenu']['photos'] = Array('photos/' . $a->user['nickname'], t('Photos'), "", t('Your photos'));
$ps['usermenu']['events'] = Array('events/', t('Events'), "", t('Your events'));
$ps['usermenu']['notes'] = Array('notes/', t('Personal notes'), "", t('Your personal photos'));
$ps['usermenu']['community'] = Array('community/', t('Community'), "", "");
$ps['usermenu']['pgroups'] = Array('http://dir.friendika.com/directory/forum', t('Public Groups'), "", "");
$ps['usermenu']['pgroups'] = Array('http://dir.friendica.com/directory/forum', t('Public Groups'), "", "");
$tpl = get_markup_template('profile_side.tpl');
@ -200,6 +260,7 @@ $a->page['htmlhead'] .= <<< EOT
$(function() {
$('a.lightbox').fancybox(); // Select all links with lightbox class
});
</script>
EOT;

View File

@ -1,6 +1,5 @@
{{ if $item.indent }}{{ else }}
<div class="wall-item-decor">
{{ if $item.lock }}<span class="icon lock fakelink" onclick="lockview(event,$item.id);" title="$item.lock">$item.lock</span>{{ endif }}
<img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div>
{{ endif }}

View File

@ -1,6 +1,5 @@
{{ if $item.indent }}{{ else }}
<div class="wall-item-decor">
{{ if $item.lock }}<span class="icon lock fakelink" onclick="lockview(event,$item.id);" title="$item.lock">$item.lock</span>{{ endif }}
<img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div>
{{ endif }}

View File

@ -0,0 +1,9 @@
{{ if $page }}
<div>$page</div>
{{ endif }}
<h3>PostIt to Friendica</h3>
<div style="padding-left: 8px;">
<span><a href="$fostitJS" title="PostIt">Post to Friendica</a> from anywhere by bookmarking this Link.</span>
</div>
{{ endif }}

Some files were not shown because too many files have changed in this diff Show More