Merge pull request #537 from fermionic/20121121-features

Port Features from Red
pull/538/head
friendica 2012-11-22 20:54:16 -08:00
commit 226d1ba7c1
37 zmienionych plików z 352 dodań i 58 usunięć

Wyświetl plik

@ -9,6 +9,7 @@ require_once('include/pgettext.php');
require_once('include/nav.php');
require_once('include/cache.php');
require_once('library/Mobile_Detect/Mobile_Detect.php');
require_once('include/features.php');
define ( 'FRIENDICA_PLATFORM', 'Friendica');
define ( 'FRIENDICA_VERSION', '3.0.1534' );
@ -359,6 +360,7 @@ if(! class_exists('App')) {
public $category;
// Allow themes to control internal parameters
// by changing App values in theme.php
@ -1232,7 +1234,7 @@ if(! function_exists('profile_sidebar')) {
// show edit profile to yourself
if ($profile['uid'] == local_user()) {
if ($profile['uid'] == local_user() && feature_enabled(local_user(),'multi_profiles')) {
$profile['edit'] = array($a->get_baseurl(). '/profiles', t('Profiles'),"", t('Manage/edit profiles'));
$r = q("SELECT * FROM `profile` WHERE `uid` = %d",

Wyświetl plik

@ -83,6 +83,8 @@ function network_to_name($s) {
NETWORK_LINKEDIN => t('LinkedIn'),
NETWORK_XMPP => t('XMPP/IM'),
NETWORK_MYSPACE => t('MySpace'),
NETWORK_MAIL2 => t('Email'),
NETWORK_GPLUS => t('Google+')
);
call_hooks('network_to_name', $nets);

Wyświetl plik

@ -47,6 +47,8 @@ function networks_widget($baseurl,$selected = '') {
if(! local_user())
return '';
if(! feature_enabled(local_user(),'networks'))
return '';
$r = q("select distinct(network) from contact where uid = %d and self = 0",
intval(local_user())
@ -80,6 +82,9 @@ function fileas_widget($baseurl,$selected = '') {
if(! local_user())
return '';
if(! feature_enabled(local_user(),'filing'))
return '';
$saved = get_pconfig(local_user(),'system','filetags');
if(! strlen($saved))
return;
@ -106,8 +111,12 @@ function fileas_widget($baseurl,$selected = '') {
}
function categories_widget($baseurl,$selected = '') {
$a = get_app();
if(! feature_enabled($a->profile['profile_uid'],'categories'))
return '';
$saved = get_pconfig($a->profile['profile_uid'],'system','filetags');
if(! strlen($saved))
return;
@ -196,4 +205,4 @@ function common_friends_visitor_widget($profile_uid) {
'$items' => $r
));
};
};

Wyświetl plik

@ -686,7 +686,7 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
'$mode' => $mode,
'$user' => $a->user,
'$threads' => $threads,
'$dropping' => ($page_dropping?t('Delete Selected Items'):False),
'$dropping' => ($page_dropping && feature_enabled(local_user(),'multi_delete') ? t('Delete Selected Items') : False),
));
return $o;
@ -887,9 +887,12 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
$geotag = (($x['allow_location']) ? get_markup_template('jot_geotag.tpl') : '');
$plaintext = false;
if(local_user() && intval(get_pconfig(local_user(),'system','plaintext')))
$plaintext = true;
/* $plaintext = false;
if( local_user() && (intval(get_pconfig(local_user(),'system','plaintext')) || !feature_enabled(local_user(),'richtext')) )
$plaintext = true;*/
$plaintext = true;
if( local_user() && feature_enabled(local_user(),'richtext') )
$plaintext = false;
$tpl = get_markup_template('jot-header.tpl');
$a->page['htmlhead'] .= replace_macros($tpl, array(
@ -958,7 +961,7 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
if($notes_cid)
$jotnets .= '<input type="hidden" name="contact_allow[]" value="' . $notes_cid .'" />';
$tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins));
// $tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins));
$o .= replace_macros($tpl,array(
'$return_path' => $a->query_string,
@ -981,7 +984,7 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
'$title' => "",
'$placeholdertitle' => t('Set title'),
'$category' => "",
'$placeholdercategory' => t('Categories (comma-separated list)'),
'$placeholdercategory' => (feature_enabled(local_user(),'categories') ? t('Categories (comma-separated list)') : ''),
'$wait' => t('Please wait'),
'$permset' => t('Permission settings'),
'$shortpermset' => t('permissions'),
@ -1000,7 +1003,8 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
'$acl' => $x['acl'],
'$bang' => $x['bang'],
'$profile_uid' => $x['profile_uid'],
'$preview' => t('Preview'),
'$preview' => ((feature_enabled($x['profile_uid'],'preview')) ? t('Preview') : ''),
'$jotplugins' => $jotplugins,
'$sourceapp' => t($a->sourcename),
'$cancel' => t('Cancel'),
'$rand_num' => random_digits(12)

Wyświetl plik

@ -0,0 +1,67 @@
<?php
/*
* Features management
*/
function feature_enabled($uid,$feature) {
//return true;
$x = get_pconfig($uid,'feature',$feature);
$arr = array('uid' => $uid, 'feature' => $feature, 'enabled' => $x);
call_hooks('feature_enabled',$arr);
return($arr['enabled']);
}
function get_features() {
$arr = array(
// General
'general' => array(
'General Features',
//array('expire', t('Content Expiration'), t('Remove old posts/comments after a period of time')),
array('multi_profiles', t('Multiple Profiles'), t('Ability to create multiple profiles')),
),
// Post composition
'composition' => array(
'Post Composition Features',
array('richtext', t('Richtext Editor'), t('Enable richtext editor')),
array('preview', t('Post Preview'), t('Allow previewing posts and comments before publishing them')),
),
// Network sidebar widgets
'widgets' => array(
'Network Sidebar Widgets',
array('archives', t('Search by Date'), t('Ability to select posts by date ranges')),
array('groups', t('Group Filter'), t('Enable widget to display Network posts only from selected group')),
array('networks', t('Network Filter'), t('Enable widget to display Network posts only from selected network')),
array('savedsearch', t('Saved Searches'), t('Save search terms for re-use')),
),
// Network tabs
'net_tabs' => array(
'Network Tabs',
array('personal_tab', t('Network Personal Tab'), t('Enable tab to display only Network posts that you\'ve interacted on')),
array('new_tab', t('Network New Tab'), t('Enable tab to display only new Network posts (from the last 12 hours)')),
array('link_tab', t('Network Shared Links Tab'), t('Enable tab to display only Network posts with links in them')),
),
// Item tools
'tools' => array(
'Post/Comment Tools',
array('multi_delete', t('Multiple Deletion'), t('Select and delete multiple posts/comments at once')),
array('edit_posts', t('Edit Sent Posts'), t('Edit and correct posts and comments after sending')),
array('commtag', t('Tagging'), t('Ability to tag existing posts')),
array('categories', t('Post Categories'), t('Add categories to your posts')),
array('filing', t('Saved Folders'), t('Ability to file posts under folders')),
array('dislike', t('Dislike Posts'), t('Ability to dislike posts/comments')),
array('star_posts', t('Star Posts'), t('Ability to mark special posts with a star indicator')),
),
);
call_hooks('get_features',$arr);
return $arr;
}

Wyświetl plik

@ -4031,10 +4031,13 @@ function posted_dates($uid,$wall) {
function posted_date_widget($url,$uid,$wall) {
$o = '';
if(! feature_enabled($uid,'archives'))
return $o;
// For former Facebook folks that left because of "timeline"
if($wall && intval(get_pconfig($uid,'system','no_wall_archive_widget')))
return $o;
/* if($wall && intval(get_pconfig($uid,'system','no_wall_archive_widget')))
return $o;*/
$ret = posted_dates($uid,$wall);
if(! count($ret))

Wyświetl plik

@ -111,6 +111,7 @@ function nav(&$a) {
if(local_user()) {
$nav['network'] = array('network', t('Network'), "", t('Conversations from your friends'));
$nav['net_reset'] = array('network/0?f=&order=comment&nets=all', t('Network Reset'), "", t('Load Network page with no filters'));
$nav['home'] = array('profile/' . $a->user['nickname'], t('Home'), "", t('Your posts and conversations'));
@ -135,7 +136,9 @@ function nav(&$a) {
}
$nav['settings'] = array('settings', t('Settings'),"", t('Account settings'));
$nav['profiles'] = array('profiles', t('Profiles'),"", t('Manage/edit profiles'));
if(feature_enabled(local_user(),'multi_profiles'))
$nav['profiles'] = array('profiles', t('Profiles'),"", t('Manage/Edit Profiles'));
$nav['contacts'] = array('contacts', t('Contacts'),"", t('Manage/edit friends and contacts'));
}

Wyświetl plik

@ -28,9 +28,12 @@ function editpost_content(&$a) {
return;
}
$plaintext = false;
if(local_user() && intval(get_pconfig(local_user(),'system','plaintext')))
$plaintext = true;
/* $plaintext = false;
if( local_user() && intval(get_pconfig(local_user(),'system','plaintext')) || !feature_enabled(local_user(),'richtext') )
$plaintext = true;*/
$plaintext = true;
if( local_user() && feature_enabled(local_user(),'richtext') )
$plaintext = false;
$o .= '<h2>' . t('Edit post') . '</h2>';
@ -130,7 +133,7 @@ function editpost_content(&$a) {
'$title' => $itm[0]['title'],
'$placeholdertitle' => t('Set title'),
'$category' => file_tag_file_to_list($itm[0]['file'], 'category'),
'$placeholdercategory' => t('Categories (comma-separated list)'),
'$placeholdercategory' => (feature_enabled(local_user(),'categories') ? t('Categories (comma-separated list)') : ''),
'$emtitle' => t('Example: bob@example.com, mary@example.com'),
'$lockstate' => $lockstate,
'$acl' => '', // populate_acl((($group) ? $group_acl : $a->user), $celeb),

Wyświetl plik

@ -309,7 +309,11 @@ function item_post(&$a) {
// First figure out if it's a status post that would've been
// created using tinymce. Otherwise leave it alone.
$plaintext = (local_user() ? intval(get_pconfig(local_user(),'system','plaintext')) : 0);
/* $plaintext = (local_user() ? intval(get_pconfig(local_user(),'system','plaintext')) || !feature_enabled($profile_uid,'richtext') : 0);
if((! $parent) && (! $api_source) && (! $plaintext)) {
$body = fix_mce_lf($body);
}*/
$plaintext = (local_user() ? !feature_enabled($profile_uid,'richtext') : 0);
if((! $parent) && (! $api_source) && (! $plaintext)) {
$body = fix_mce_lf($body);
}

Wyświetl plik

@ -46,7 +46,11 @@ function message_post(&$a) {
// Work around doubled linefeeds in Tinymce 3.5b2
$plaintext = intval(get_pconfig(local_user(),'system','plaintext'));
/* $plaintext = intval(get_pconfig(local_user(),'system','plaintext') && !feature_enabled(local_user(),'richtext'));
if(! $plaintext) {
$body = fix_mce_lf($body);
}*/
$plaintext = intval(!feature_enabled(local_user(),'richtext'));
if(! $plaintext) {
$body = fix_mce_lf($body);
}
@ -229,9 +233,12 @@ function message_content(&$a) {
$o .= $header;
$plaintext = false;
/* $plaintext = false;
if(intval(get_pconfig(local_user(),'system','plaintext')))
$plaintext = true;
$plaintext = true;*/
$plaintext = true;
if( local_user() && feature_enabled(local_user(),'richtext') )
$plaintext = false;
$tpl = get_markup_template('msg-header.tpl');

Wyświetl plik

@ -181,7 +181,7 @@ function network_init(&$a) {
$a->page['content'] .= '<h2>' . t('Search Results For:') . ' ' . $search . '</h2>';
}
$a->page['aside'] .= group_side('network/0','network',true,$group_id);
$a->page['aside'] .= (feature_enabled(local_user(),'groups') ? group_side('network/0','network',true,$group_id) : '');
$a->page['aside'] .= posted_date_widget($a->get_baseurl() . '/network',local_user(),false);
$a->page['aside'] .= networks_widget($a->get_baseurl(true) . '/network',(x($_GET, 'nets') ? $_GET['nets'] : ''));
$a->page['aside'] .= saved_searches($search);
@ -191,6 +191,9 @@ function network_init(&$a) {
function saved_searches($search) {
if(! feature_enabled(local_user(),'savedsearch'))
return '';
$a = get_app();
$srchurl = '/network?f='
@ -403,30 +406,30 @@ function network_content(&$a, $update = 0) {
'title' => t('Sort by Post Date'),
),
array(
/* array(
'label' => t('Personal'),
'url' => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&conv=1',
'sel' => $conv_active,
'title' => t('Posts that mention or involve you'),
),
array(
),*/
/* array(
'label' => t('New'),
'url' => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ($len_naked_cmd ? '/' : '') . 'new' . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : ''),
'sel' => $new_active,
'title' => t('Activity Stream - by date'),
),
array(
),*/
/* array(
'label' => t('Starred'),
'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&star=1',
'sel'=>$starred_active,
'title' => t('Favourite Posts'),
),
array(
),*/
/* array(
'label' => t('Shared Links'),
'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&bmark=1',
'sel'=>$bookmarked_active,
'title'=> t('Interesting Links'),
),
), */
// array(
// 'label' => t('Spam'),
// 'url'=>$a->get_baseurl(true) . '/network?f=&spam=1'
@ -436,6 +439,53 @@ function network_content(&$a, $update = 0) {
);
if(feature_enabled(local_user(),'personal_tab')) {
$tabs[] = array(
'label' => t('Personal'),
'url' => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&conv=1',
'sel' => $conv_active,
'title' => t('Posts that mention or involve you'),
);
}
if(feature_enabled(local_user(),'new_tab')) {
$tabs[] = array(
'label' => t('New'),
'url' => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ($len_naked_cmd ? '/' : '') . 'new' . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : ''),
'sel' => $new_active,
'title' => t('Activity Stream - by date'),
);
}
if(feature_enabled(local_user(),'link_tab')) {
$tabs[] = array(
'label' => t('Shared Links'),
'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&bmark=1',
'sel'=>$bookmarked_active,
'title'=> t('Interesting Links'),
);
}
if(feature_enabled(local_user(),'star_posts')) {
$tabs[] = array(
'label' => t('Starred'),
'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&star=1',
'sel'=>$starred_active,
'title' => t('Favourite Posts'),
);
}
// Not yet implemented
/* if(feature_enabled(local_user(),'spam_filter')) {
$tabs[] = array(
'label' => t('Spam'),
'url'=>$a->get_baseurl(true) . '/network?f=&spam=1',
'sel'=> $spam_active,
'title' => t('Posts flagged as SPAM'),
);
}*/
// save selected tab, but only if not in search or file mode
if(!x($_GET,'search') && !x($_GET,'file')) {
set_pconfig( local_user(), 'network.view','tab.selected',array($all_active, $postord_active, $conv_active, $new_active, $starred_active, $bookmarked_active, $spam_active) );

Wyświetl plik

@ -554,9 +554,12 @@ function profiles_content(&$a) {
require_once('include/profile_selectors.php');
$editselect = 'textareas';
if(intval(get_pconfig(local_user(),'system','plaintext')))
$editselect = 'none';
/* $editselect = 'textareas';
if( intval(get_pconfig(local_user(),'system','plaintext')) || !feature_enabled(local_user(),'richtext') )
$editselect = 'none';*/
$editselect = 'none';
if( feature_enabled(local_user(),'richtext') )
$editselect = 'textareas';
$a->page['htmlhead'] .= replace_macros(get_markup_template('profed_head.tpl'), array(
'$baseurl' => $a->get_baseurl(true),

Wyświetl plik

@ -4,6 +4,9 @@ function search_saved_searches() {
$o = '';
if(! feature_enabled(local_user(),'savedsearch'))
return $o;
$r = q("select `id`,`term` from `search` WHERE `uid` = %d",
intval(local_user())
);

Wyświetl plik

@ -31,6 +31,11 @@ function settings_init(&$a) {
'url' => $a->get_baseurl(true).'/settings',
'selected' => (($a->argc == 1)?'active':''),
),
array(
'label' => t('Additional features'),
'url' => $a->get_baseurl(true).'/settings/features',
'selected' => (($a->argc > 1) && ($a->argv[1] === 'features') ? 'active' : ''),
),
array(
'label' => t('Display settings'),
'url' => $a->get_baseurl(true).'/settings/display',
@ -231,7 +236,18 @@ function settings_post(&$a) {
return;
}
if(($a->argc > 1) && ($a->argv[1] == 'display')) {
if(($a->argc > 1) && ($a->argv[1] === 'features')) {
check_form_security_token_redirectOnErr('/settings/features', 'settings_features');
foreach($_POST as $k => $v) {
if(strpos($k,'feature_') === 0) {
set_pconfig(local_user(),'feature',substr($k,8),((intval($v)) ? 1 : 0));
}
}
info( t('Features updated') . EOL);
return;
}
if(($a->argc > 1) && ($a->argv[1] === 'display')) {
check_form_security_token_redirectOnErr('/settings/display', 'settings_display');
@ -612,6 +628,7 @@ function settings_content(&$a) {
return $o;
}
if(($a->argc > 1) && ($a->argv[1] === 'addon')) {
$settings_addons = "";
@ -631,6 +648,30 @@ function settings_content(&$a) {
return $o;
}
if(($a->argc > 1) && ($a->argv[1] === 'features')) {
$arr = array();
$features = get_features();
foreach($features as $fname => $fdata) {
$arr[$fname] = array();
$arr[$fname][0] = $fdata[0];
foreach(array_slice($fdata,1) as $f) {
$arr[$fname][1][] = array('feature_' .$f[0],$f[1],((intval(get_pconfig(local_user(),'feature',$f[0]))) ? "1" : ''),$f[2],array(t('Off'),t('On')));
}
}
$tpl = get_markup_template("settings_features.tpl");
$o .= replace_macros($tpl, array(
'$form_security_token' => get_form_security_token("settings_features"),
'$title' => t('Additional Features'),
'$features' => $arr,
'$submit' => t('Submit'),
'$field_yesno' => 'field_yesno.tpl',
));
return $o;
}
if(($a->argc > 1) && ($a->argv[1] === 'connectors')) {
$settings_connectors = "";

Wyświetl plik

@ -113,7 +113,7 @@ class Item extends BaseObject {
$drop = array(
'dropping' => $dropping,
'pagedrop' => $item['pagedrop'],
'pagedrop' => ((feature_enabled($conv->get_profile_owner(),'multi_delete')) ? $item['pagedrop'] : ''),
'select' => t('Select'),
'delete' => t('Delete'),
);
@ -184,9 +184,14 @@ class Item extends BaseObject {
'classdo' => (($item['starred']) ? "hidden" : ""),
'classundo' => (($item['starred']) ? "" : "hidden"),
'starred' => t('starred'),
'tagger' => t("add tag"),
'classtagger' => "",
);
$tagger = '';
if(feature_enabled($conv->get_profile_owner(),'commtag')) {
$tagger = array(
'add' => t("add tag"),
'class' => "",
);
}
}
} else {
$indent = 'comment';
@ -195,7 +200,7 @@ class Item extends BaseObject {
if($conv->is_writable()) {
$buttons = array(
'like' => array( t("I like this \x28toggle\x29"), t("like")),
'dislike' => array( t("I don't like this \x28toggle\x29"), t("dislike")),
'dislike' => ((feature_enabled($conv->get_profile_owner(),'dislike')) ? array( t("I don't like this \x28toggle\x29"), t("dislike")) : ''),
);
if ($shareable) $buttons['share'] = array( t('Share this'), t('share'));
}
@ -249,14 +254,15 @@ class Item extends BaseObject {
'owner_photo' => $this->get_owner_photo(),
'owner_name' => template_escape($this->get_owner_name()),
'plink' => get_plink($item),
'edpost' => $edpost,
'edpost' => ((feature_enabled($conv->get_profile_owner(),'edit_posts')) ? $edpost : ''),
'isstarred' => $isstarred,
'star' => $star,
'filer' => $filer,
'star' => ((feature_enabled($conv->get_profile_owner(),'star_posts')) ? $star : ''),
'tagger' => $tagger,
'filer' => ((feature_enabled($conv->get_profile_owner(),'filing')) ? $filer : ''),
'drop' => $drop,
'vote' => $buttons,
'like' => $like,
'dislike' => $dislike,
'dislike' => $dislike,
'switchcomment' => t('Comment'),
'comment' => $this->get_comment_box($indent),
'previewing' => ($conv->is_preview() ? ' preview ' : ''),
@ -570,7 +576,7 @@ class Item extends BaseObject {
'$edimg' => t('Image'),
'$edurl' => t('Link'),
'$edvideo' => t('Video'),
'$preview' => t('Preview'),
'$preview' => ((feature_enabled($conv->get_profile_owner(),'preview')) ? t('Preview') : ''),
'$indent' => $indent,
'$sourceapp' => t($a->sourcename),
'$ww' => (($conv->get_mode() === 'network') ? $ww : ''),

Wyświetl plik

@ -16,7 +16,9 @@
<input type="hidden" name="preview" id="jot-preview" value="0" />
<input type="hidden" name="post_id_random" value="$rand_num" />
<div id="jot-title-wrap"><input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" value="$title" class="jothidden" style="display:none"></div>
{{ if $placeholdercategory }}
<div id="jot-category-wrap"><input name="category" id="jot-category" type="text" placeholder="$placeholdercategory" value="$category" class="jothidden" style="display:none" /></div>
{{ endif }}
<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>

Wyświetl plik

@ -0,0 +1,20 @@
<h1>$title</h1>
<form action="settings/features" method="post" autocomplete="off">
<input type='hidden' name='form_security_token' value='$form_security_token'>
{{ for $features as $f }}
<h3 class="settings-heading">$f.0</h3>
{{ for $f.1 as $fcat }}
{{ inc $field_yesno with $field=$fcat }}{{endinc}}
{{ endfor }}
{{ endfor }}
<div class="settings-submit-wrapper" >
<input type="submit" name="submit" class="settings-features-submit" value="$submit" />
</div>
</form>

Wyświetl plik

@ -14,7 +14,9 @@
<input type="hidden" name="post_id" value="$post_id" />
<input type="hidden" name="preview" id="jot-preview" value="0" />
<input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" value="$title" class="jothidden" style="display:none">
{{ if $placeholdercategory }}
<div id="jot-category-wrap"><input name="category" id="jot-category" type="text" placeholder="$placeholdercategory" value="$category" class="jothidden" style="display:none" /></div>
{{ endif }}
<div id="character-counter" class="grey"></div>
<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>

Wyświetl plik

@ -100,7 +100,9 @@
{{ if $item.vote }}
<a href="#" id="like-$item.id" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false">$item.vote.like.1</a>
{{ if $item.vote.dislike }}
<a href="#" id="dislike-$item.id" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
{{ endif }}
{{ endif }}
{{ if $item.vote.share }}
@ -111,7 +113,10 @@
{{ if $item.star }}
<a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle">
<img src="images/star_dummy.png" class="icon star" alt="$item.star.do" /> </a>
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
{{ endif }}
{{ if $item.tagger }}
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.tagger.add"></a>
{{ endif }}
{{ if $item.filer }}

Wyświetl plik

@ -12,7 +12,9 @@
<input type="hidden" name="post_id_random" value="$rand_num" />
<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="character-counter" class="grey jothidden"></div>
{{ if $placeholdercategory }}
<div id="jot-category-wrap"><input name="category" id="jot-category" type="text" placeholder="$placeholdercategory" value="$category" class="jothidden" style="display:none" /></div>
{{ endif }}
<textarea rows="5" cols="64" class="profile-jot-text" id="profile-jot-text" name="body">{{ if $content }}$content{{ else }}$share{{ endif }}
</textarea>

Wyświetl plik

@ -49,13 +49,19 @@
{{ if $item.star }}
<li>
<a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a>
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
</li>
{{ endif }}
{{ if $item.tagger }}
<li>
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.tagger.add"></a>
</li>
{{ endif }}
{{ if $item.vote }}
<li class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id">
<a href="#" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a>
{{ if $item.vote.dislike }}
<a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
{{ endif }}
{{ if $item.vote.share }}
<a href="#" id="share-$item.id"
class="icon recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>{{ endif }}

Wyświetl plik

@ -17,7 +17,9 @@
<input type="hidden" name="preview" id="jot-preview" value="0" />
<input type="hidden" name="post_id_random" value="$rand_num" />
<div id="jot-title-wrap"><input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" value="$title" class="jothidden" style="display:none"></div>
{{ if $placeholdercategory }}
<div id="jot-category-wrap"><input name="category" id="jot-category" type="text" placeholder="$placeholdercategory" value="$category" class="jothidden" style="display:none" /></div>
{{ endif }}
<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>

Wyświetl plik

@ -117,6 +117,12 @@
<!--<span id="net-update" class="nav-ajax-left"></span>-->
{{ endif }}
{{ if $nav.network }}
<li>
<a class="nav-menu-icon network-reset-link nav-link" href="$nav.net_reset.0" title="$nav.net_reset.3">$nav.net_reset.1</a>
</li>
{{ endif }}
{{ if $nav.home }}
<li><a id="nav-home-link" class="$nav.home.2 $sel.home nav-load-page-link" href="$nav.home.0" title="$nav.home.3" >$nav.home.1</a></li>
<!--<span id="home-update" class="nav-ajax-left"></span>-->

Wyświetl plik

@ -278,6 +278,7 @@ nav .nav-link {
}
#network-menu-list {
width: 9em;
left: 3px;
}
@ -2750,7 +2751,7 @@ aside input[type='text'] {
margin-left: 100px;
margin-bottom: 20px;
}
.settings-submit, .profile-edit-submit-button {
.settings-submit, .profile-edit-submit-button, .settings-features-submit {
padding: 0.25em 0.5em;
margin-bottom: 10px;
font-size: 18px;
@ -3420,7 +3421,7 @@ aside input[type='text'] {
display: block;
margin-left: 20px;
color: #666666;
clear: left;
}
@ -3457,7 +3458,7 @@ aside input[type='text'] {
}
.hidden { display: none!important; }
.field.radio .field_help { clear: left; margin-left: 20px; }
.field.radio .field_help { margin-left: 20px; }
/**
* ADMIN

Wyświetl plik

@ -67,7 +67,9 @@
{{ if $item.vote }}
<div class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id">
<a href="#" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a>
{{ if $item.vote.dislike }}
<a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
{{ endif }}
{{ if $item.vote.share }}<a href="#" class="icon recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>{{ endif }}
<img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div>
@ -81,7 +83,9 @@
{{ if $item.star }}
<a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a>
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
{{ endif }}
{{ if $item.tagger }}
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.tagger.add"></a>
{{ endif }}
{{ if $item.filer }}
<a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item filer-icon" title="$item.filer"></a>

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 939 B

Wyświetl plik

@ -16,7 +16,9 @@
<input type="hidden" name="preview" id="jot-preview" value="0" />
<input type="hidden" name="post_id_random" value="$rand_num" />
<div id="jot-title-wrap"><input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" value="$title" class="jothidden" style="display:none"></div>
{{ if $placeholdercategory }}
<div id="jot-category-wrap"><input name="category" id="jot-category" type="text" placeholder="$placeholdercategory" value="$category" class="jothidden" style="display:none" /></div>
{{ endif }}
<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>

Wyświetl plik

@ -130,6 +130,14 @@
</ul>
</div>
{{ if $nav.network }}
<div class="nav-button-container nav-menu-link" rel="#network-reset-button">
<a class="nav-menu-icon network-reset-link nav-link" href="$nav.net_reset.0" title="$nav.net_reset.3">
<img class="network-reset-link" src="$baseurl/view/theme/frost/images/net-reset.png">
</a>
</div>
{{ endif }}
</span>
<!--<span id="nav-end"></span>-->
<span id="banner">$banner</span>

Wyświetl plik

@ -3204,6 +3204,9 @@ aside input[type='text'] {
float: left;
width: 200px;
}
.field.yesno label {
font-weight: 700;
}
.field input,
.field textarea {

Wyświetl plik

@ -66,7 +66,9 @@
{{ if $item.vote }}
<div class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id">
<a href="#" class="tool like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a>
{{ if $item.vote.dislike }}
<a href="#" class="tool dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
{{ endif }}
{{ if $item.vote.share }}<a href="#" class="tool recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>{{ endif }}
<img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div>
@ -80,7 +82,9 @@
{{ if $item.star }}
<a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item tool $item.isstarred" title="$item.star.toggle"></a>
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item tool tagged" title="$item.star.tagger"></a>
{{ endif }}
{{ if $item.tagger }}
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item tool tagged" title="$item.tagger.add"></a>
{{ endif }}
{{ if $item.filer }}
<a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item filer-icon" title="$item.filer"></a>

Wyświetl plik

@ -1,7 +1,10 @@
<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" title="$placeholdertitle" value="$title" class="jothidden" style="display:none" /><input name="category" id="jot-category" type="text" placeholder="$placeholdercategory" title="$placeholdercategory" value="$category" class="jothidden" style="display:none" />
<input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" title="$placeholdertitle" value="$title" class="jothidden" style="display:none" />
{{ if $placeholdercategory }}
<input name="category" id="jot-category" type="text" placeholder="$placeholdercategory" title="$placeholdercategory" value="$category" class="jothidden" style="display:none" />
{{ endif }}
<div id="character-counter" class="grey jothidden"></div>

Wyświetl plik

@ -93,8 +93,9 @@
{{ 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.tagger }}
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="$item.tagger.class" title="$item.tagger.add">$item.tagger.add</a>
{{ endif }}
{{ if $item.filer }}
<a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item filer-icon" title="$item.filer">$item.filer</a>
@ -102,7 +103,9 @@
{{ 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>
{{ if $item.vote.dislike }}
<a href="#" id="dislike-$item.id" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false">$item.vote.dislike.1</a>
{{ endif }}
{{ endif }}
{{ if $item.vote.share }}

Wyświetl plik

@ -18,9 +18,11 @@
<div id="jot-title-wrap">
<input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" value="$title" class="jothidden" style="display:none">
</div>
{{ if $placeholdercategory }}
<div id="jot-category-wrap">
<input name="category" id="jot-category" type="text" placeholder="$placeholdercategory" value="$category" class="jothidden" style="display:none" />
</div>
{{ endif }}
<div id="jot-text-wrap">
<img id="profile-jot-text-loading" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" /><br>
<textarea rows="5" cols="80" class="profile-jot-text" id="profile-jot-text" name="body" >

Wyświetl plik

@ -85,7 +85,9 @@
{{ if $item.vote }}
<div class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id">
<a href="#" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a>
{{ if $item.vote.dislike }}
<a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
{{ endif }}
{{ if $item.vote.share }}
<a href="#" class="icon recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a> {{ endif }}
<img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
@ -100,7 +102,9 @@
{{ if $item.star }}
<a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a>
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
{{ endif }}
{{ if $item.tagger }}
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.tagger.add"></a>
{{ endif }}
{{ if $item.filer }}

Wyświetl plik

@ -50,7 +50,7 @@
{{ if $item.vote }}
<div class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id">
<a href="#" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a>
<a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
{{ if $item.vote.dislike }}<a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>{{ endif }}
{{ if $item.vote.share }}<a href="#" class="icon recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>{{ endif }}
<img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div>
@ -64,7 +64,9 @@
{{ if $item.star }}
<a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a>
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
{{ endif }}
{{ if $item.tagger }}
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.tagger.add"></a>
{{ endif }}
<div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$item.id" >

Wyświetl plik

@ -93,7 +93,9 @@
{{ endif }}{{ endif }}
{{ if $item.vote }}
<a href="#" id="like-$item.id" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"><i class="icon-thumbs-up icon-large"></i></a>
{{ if $item.vote.dislike }}
<a href="#" id="dislike-$item.id" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"><i class="icon-thumbs-down icon-large"></i></a>
{{ endif }}
{{ endif }}
{{ if $item.vote.share }}
<a href="#" id="share-$item.id" title="$item.vote.share.0" onclick="jotShare($item.id); return false"><i class="icon-share icon-large"></i></a>
@ -101,7 +103,9 @@
{{ if $item.star }}
<a href="#" id="star-$item.id" onclick="dostar($item.id); return false;" class="$item.star.classdo" title="$item.star.do"><i class="icon-star icon-large"></i></a>
<a href="#" id="unstar-$item.id" onclick="dostar($item.id); return false;" class="$item.star.classundo" title="$item.star.undo"><i class="icon-star-empty icon-large"></i></a>
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="$item.star.classtagger" title="$item.star.tagger"><i class="icon-tags icon-large"></i></a>
{{ endif }}
{{ if $item.tagger }}
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="$item.tagger.class" title="$item.tagger.add"><i class="icon-tags icon-large"></i></a>
{{ endif }}
{{ if $item.filer }}
<a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item filer-icon" title="$item.filer"><i class="icon-folder-close icon-large"></i></a>

Wyświetl plik

@ -64,7 +64,7 @@
{{ if $item.vote }}
<div class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id">
<a href="#" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a>
<a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
{{ if $item.vote.dislike }}<a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>{{ endif }}
{{ if $item.vote.share }}<a href="#" class="icon recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>{{ endif }}
<img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div>
@ -78,7 +78,9 @@
{{ if $item.star }}
<a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a>
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
{{ endif }}
{{ if $item.tagger }}
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.tagger.add"></a>
{{ endif }}
{{ if $item.filer }}
<a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item filer-icon" title="$item.filer"></a>