Merge branch 'newacl' into newui

This commit is contained in:
Fabio Comuni 2011-07-25 08:59:28 +02:00
commit dfba0f13c8
10 changed files with 324 additions and 187 deletions

View file

@ -4,7 +4,7 @@
* Description: Plugin to add contact information to the about page (/friendika) * Description: Plugin to add contact information to the about page (/friendika)
* Version: 1.0 * Version: 1.0
* Author: Tobias Diekershoff <https://diekershoff.homeunix.net/friendika/profile/tobias> * Author: Tobias Diekershoff <https://diekershoff.homeunix.net/friendika/profile/tobias>
* License: 3-clause BSD license (same as Friendika) * License: 3-clause BSD license
*/ */
function impressum_install() { function impressum_install() {

View file

@ -12,7 +12,7 @@
* Author: Tobias Diekershoff * Author: Tobias Diekershoff
* tobias.diekershoff@gmx.net * tobias.diekershoff@gmx.net
* *
* License: 3-clause BSD license (same as Friendika) * License: 3-clause BSD license
* *
* Configuration: * Configuration:
* Add the following two lines to your .htconfig.php file: * Add the following two lines to your .htconfig.php file:

View file

@ -10,7 +10,7 @@
* Author: Tobias Diekershoff * Author: Tobias Diekershoff
* tobias.diekershoff@gmx.net * tobias.diekershoff@gmx.net
* *
* License:3-clause BSD license (same as Friendika) * License:3-clause BSD license
* *
* Configuration: * Configuration:
* To activate the plugin itself add it to the $a->config['system']['addon'] * To activate the plugin itself add it to the $a->config['system']['addon']

View file

@ -11,7 +11,7 @@
* Author: Tobias Diekershoff * Author: Tobias Diekershoff
* tobias.diekershoff@gmx.net * tobias.diekershoff@gmx.net
* *
* License:3-clause BSD license (same as Friendika) * License:3-clause BSD license
* *
* Configuration: * Configuration:
* To use this plugin you need a OAuth Consumer key pair (key & secret) * To use this plugin you need a OAuth Consumer key pair (key & secret)

View file

@ -1,6 +1,6 @@
<?php <?php
define ( 'FRIENDIKA_VERSION', '2.2.1048' ); define ( 'FRIENDIKA_VERSION', '2.2.1050' );
define ( 'DFRN_PROTOCOL_VERSION', '2.21' ); define ( 'DFRN_PROTOCOL_VERSION', '2.21' );
define ( 'DB_UPDATE_VERSION', 1076 ); define ( 'DB_UPDATE_VERSION', 1076 );

View file

@ -4,7 +4,8 @@
var editor=false; var editor=false;
var textlen = 0; var textlen = 0;
function initEditor(){ function initEditor(cb){
if (editor==false){
$("#profile-jot-text-loading").show(); $("#profile-jot-text-loading").show();
tinyMCE.init({ tinyMCE.init({
theme : "advanced", theme : "advanced",
@ -61,18 +62,20 @@ function initEditor(){
ed.pasteAsPlainText = true; ed.pasteAsPlainText = true;
$("#profile-jot-text-loading").hide(); $("#profile-jot-text-loading").hide();
$("#profile-jot-submit-wrapper").show(); $("#profile-jot-submit-wrapper").show();
if (typeof cb!="undefined") cb();
}); });
} }
}); });
editor = true; editor = true;
// setup acl popup // setup acl popup
$("#profile-jot-acl-wrapper").hide();
$("a#jot-perms-icon").fancybox({ $("a#jot-perms-icon").fancybox({
'transitionIn' : 'none', 'transitionIn' : 'none',
'transitionOut' : 'none' 'transitionOut' : 'none'
}); });
} else {
if (typeof cb!="undefined") cb();
}
} }
</script> </script>
@ -181,13 +184,18 @@ function initEditor(){
} }
} }
function jotShare(id) { function jotShare(id) {
$('#like-rotator-' + id).show(); $('#like-rotator-' + id).show();
$.get('share/' + id, function(data) { $.get('share/' + id, function(data) {
if (!editor) $("#profile-jot-text").val("");
initEditor(function(){
tinyMCE.execCommand('mceInsertRawHTML',false,data); tinyMCE.execCommand('mceInsertRawHTML',false,data);
$('#like-rotator-' + id).hide(); $('#like-rotator-' + id).hide();
$(window).scrollTop(0); $(window).scrollTop(0);
}); });
});
} }
function linkdropper(event) { function linkdropper(event) {
@ -203,9 +211,12 @@ function initEditor(){
if(reply && reply.length) { if(reply && reply.length) {
$('#profile-rotator').show(); $('#profile-rotator').show();
$.get('parse_url?url=' + reply, function(data) { $.get('parse_url?url=' + reply, function(data) {
if (!editor) $("#profile-jot-text").val("");
initEditor(function(){
tinyMCE.execCommand('mceInsertRawHTML',false,data); tinyMCE.execCommand('mceInsertRawHTML',false,data);
$('#profile-rotator').hide(); $('#profile-rotator').hide();
}); });
});
} }
} }

View file

@ -2,9 +2,12 @@
<script language="javascript" type="text/javascript" src="$baseurl/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script> <script language="javascript" type="text/javascript" src="$baseurl/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
<script language="javascript" type="text/javascript"> <script language="javascript" type="text/javascript">
var editor; var editor=false;
var textlen = 0; var textlen = 0;
function initEditor(cb) {
if (editor==false) {
$("#profile-jot-text-loading").show();
tinyMCE.init({ tinyMCE.init({
theme : "advanced", theme : "advanced",
mode : "specific_textareas", mode : "specific_textareas",
@ -57,19 +60,46 @@ tinyMCE.init({
} }
$('#character-counter').text(textlen); $('#character-counter').text(textlen);
}); });
ed.onInit.add(function(ed) { ed.onInit.add(function(ed) {
ed.pasteAsPlainText = true; ed.pasteAsPlainText = true;
$("#profile-jot-text-loading").hide();
$("#profile-jot-submit-wrapper").show();
$("#profile-upload-wrapper").show();
$("#profile-attach-wrapper").show();
$("#profile-link-wrapper").show();
$("#profile-youtube-wrapper").show();
$("#profile-video-wrapper").show();
$("#profile-audio-wrapper").show();
$("#profile-location-wrapper").show();
$("#profile-nolocation-wrapper").show();
$("#profile-title-wrapper").show();
$("#profile-jot-plugin-wrapper").show();
$("#character-counter").show();
if (typeof cb!="undefined") cb();
}); });
} }
}); });
editor = true;
// setup acl popup
$("a#jot-perms-icon").fancybox({
'transitionIn' : 'none',
'transitionOut' : 'none'
});
} else {
if (typeof cb!="undefined") cb();
}
} // initEditor
</script> </script>
<script type="text/javascript" src="include/ajaxupload.js" ></script> <script type="text/javascript" src="include/ajaxupload.js" ></script>
<script> <script>
var ispublic = '$ispublic'; var ispublic = '$ispublic';
$(document).ready(function() { $(document).ready(function() {
/* enable tinymce on focus */
$("#profile-jot-text").focus(function(){
if (editor) return;
$(this).val("");
initEditor();
});
var uploader = new window.AjaxUpload( var uploader = new window.AjaxUpload(
'wall-image-upload', 'wall-image-upload',
{ action: 'wall_upload/$nickname', { action: 'wall_upload/$nickname',
@ -179,10 +209,13 @@ tinyMCE.init({
function jotShare(id) { function jotShare(id) {
$('#like-rotator-' + id).show(); $('#like-rotator-' + id).show();
$.get('share/' + id, function(data) { $.get('share/' + id, function(data) {
if (!editor) $("#profile-jot-text").val("");
initEditor(function(){
tinyMCE.execCommand('mceInsertRawHTML',false,data); tinyMCE.execCommand('mceInsertRawHTML',false,data);
$('#like-rotator-' + id).hide(); $('#like-rotator-' + id).hide();
$(window).scrollTop(0); $(window).scrollTop(0);
}); });
});
} }
function linkdropper(event) { function linkdropper(event) {
@ -198,9 +231,12 @@ tinyMCE.init({
if(reply && reply.length) { if(reply && reply.length) {
$('#profile-rotator').show(); $('#profile-rotator').show();
$.get('parse_url?url=' + reply, function(data) { $.get('parse_url?url=' + reply, function(data) {
if (!editor) $("#profile-jot-text").val("");
initEditor(function(){
tinyMCE.execCommand('mceInsertRawHTML',false,data); tinyMCE.execCommand('mceInsertRawHTML',false,data);
$('#profile-rotator').hide(); $('#profile-rotator').hide();
}); });
});
} }
} }

View file

@ -2,7 +2,7 @@
<div id="profile-jot-wrapper" > <div id="profile-jot-wrapper" >
<div id="profile-jot-banner-wrapper"> <div id="profile-jot-banner-wrapper">
<div id="profile-jot-desc" >&nbsp;</div> <div id="profile-jot-desc" >&nbsp;</div>
<div id="character-counter" class="grey">0</div> <div id="character-counter" class="grey" style="display: none;">0</div>
<div id="profile-rotator-wrapper" style="display: $visitor;" > <div id="profile-rotator-wrapper" style="display: $visitor;" >
<img id="profile-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display:none;" /> <img id="profile-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display:none;" />
</div> </div>
@ -17,58 +17,59 @@
<input type="hidden" name="title" id="jot-title" value="" /> <input type="hidden" name="title" id="jot-title" value="" />
<input type="hidden" name="post_id" value="$post_id" /> <input type="hidden" name="post_id" value="$post_id" />
<textarea rows="5" style="width:100%" class="profile-jot-text" id="profile-jot-text" name="body" >$content</textarea> <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>
{{ if $content }}<script>initEditor();</script>{{ endif }}
<div id="profile-jot-submit-wrapper" > <div id="profile-jot-submit-wrapper" style="display:none">
<div id="profile-jot-perms" class="profile-jot-perms" style="display: $visitor;" ><a id="jot-perms-icon" class="icon $lockstate" title="$permset" onClick="openClose('profile-jot-acl-wrapper'); openClose('profile-jot-email-wrapper'); openClose('profile-jot-networks');return false;"></a>$bang</div> <div id="profile-jot-perms" class="profile-jot-perms" style="display: $visitor;" >
<a href="#profile-jot-acl-wrapper" id="jot-perms-icon" class="icon $lockstate" title="$permset" ></a>$bang</div>
<input type="submit" id="profile-jot-submit" name="submit" value="$share" /> <input type="submit" id="profile-jot-submit" name="submit" value="$share" />
</div> </div>
<div id="profile-upload-wrapper" class="jot-tool" style="display: $visitor;" > <div id="profile-upload-wrapper" class="jot-tool" style="display: none;" >
<div id="wall-image-upload-div" ><a onclick="return false;" id="wall-image-upload" class="icon border camera" title="$upload"></a></div> <div id="wall-image-upload-div" ><a onclick="return false;" id="wall-image-upload" class="icon border camera" title="$upload"></a></div>
</div> </div>
<div id="profile-attach-wrapper" class="jot-tool" style="display: $visitor;" > <div id="profile-attach-wrapper" class="jot-tool" style="display: none;" >
<div id="wall-file-upload-div" ><a href="#" onclick="return false;" id="wall-file-upload" class="icon border attach" title="$attach"></a></div> <div id="wall-file-upload-div" ><a href="#" onclick="return false;" id="wall-file-upload" class="icon border attach" title="$attach"></a></div>
</div> </div>
<div id="profile-link-wrapper" class="jot-tool" style="display: $visitor;" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" > <div id="profile-link-wrapper" class="jot-tool" style="display: none;" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" >
<a id="profile-link" class="icon border link" title="$weblink" ondragenter="return linkdropper(event);" ondragover="return linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink(); return false;"></a> <a id="profile-link" class="icon border link" title="$weblink" ondragenter="return linkdropper(event);" ondragover="return linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink(); return false;"></a>
</div> </div>
<div id="profile-youtube-wrapper" class="jot-tool" style="display: $visitor;" > <div id="profile-youtube-wrapper" class="jot-tool" style="display: none;" >
<a id="profile-youtube" class="icon border youtube" title="$youtube" onclick="jotGetVideo(); return false;"></a> <a id="profile-youtube" class="icon border youtube" title="$youtube" onclick="jotGetVideo(); return false;"></a>
</div> </div>
<div id="profile-video-wrapper" class="jot-tool" style="display: $visitor;" > <div id="profile-video-wrapper" class="jot-tool" style="display: none;" >
<a id="profile-video" class="icon border video" title="$video" onclick="jotVideoURL(); return false;"></a> <a id="profile-video" class="icon border video" title="$video" onclick="jotVideoURL(); return false;"></a>
</div> </div>
<div id="profile-audio-wrapper" class="jot-tool" style="display: $visitor;" > <div id="profile-audio-wrapper" class="jot-tool" style="display: none;" >
<a id="profile-audio" class="icon border audio" title="$audio" onclick="jotAudioURL(); return false;"></a> <a id="profile-audio" class="icon border audio" title="$audio" onclick="jotAudioURL(); return false;"></a>
</div> </div>
<div id="profile-location-wrapper" class="jot-tool" style="display: $visitor;" > <div id="profile-location-wrapper" class="jot-tool" style="display: none;" >
<a id="profile-location" class="icon border globe" title="$setloc" onclick="jotGetLocation(); return false;"></a> <a id="profile-location" class="icon border globe" title="$setloc" onclick="jotGetLocation(); return false;"></a>
</div> </div>
<div id="profile-nolocation-wrapper" class="jot-tool" style="display: none;" > <div id="profile-nolocation-wrapper" class="jot-tool" style="display: none;" >
<a id="profile-nolocation" class="icon border noglobe" title="$noloc" onclick="jotClearLocation(); return false;"></a> <a id="profile-nolocation" class="icon border noglobe" title="$noloc" onclick="jotClearLocation(); return false;"></a>
</div> </div>
<div id="profile-title-wrapper" class="jot-tool" style="display: $visitor;" > <div id="profile-title-wrapper" class="jot-tool" style="display: none;" >
<a id="profile-title" class="icon border article" title="$title" onclick="jotTitle(); return false;"></a> <a id="profile-title" class="icon border article" title="$title" onclick="jotTitle(); return false;"></a>
</div> </div>
<div id="profile-jot-plugin-wrapper"> <div id="profile-jot-plugin-wrapper" style="display: none;">
$jotplugins $jotplugins
</div> </div>
<div id="profile-jot-tools-end"></div> <div id="profile-jot-tools-end"></div>
<div id="profile-jot-email-wrapper" style="display: none;" > <div style="display: none;">
<div id="profile-jot-email-label">$emailcc</div><input type="text" name="emailcc" id="profile-jot-email" title="$emtitle"> <div id="profile-jot-acl-wrapper" style="width:auto;height:auto;overflow:auto;">
$acl
<hr style="clear:both"/>
<div id="profile-jot-email-label">$emailcc</div><input type="text" name="emailcc" id="profile-jot-email" title="$emtitle" />
<div id="profile-jot-email-end"></div> <div id="profile-jot-email-end"></div>
</div>
<div id="profile-jot-networks" style="display: none;" >
$jotnets $jotnets
</div> </div>
<div id="profile-jot-networks-end"></div> </div>
<div id="profile-jot-acl-wrapper" style="display: none;" >$acl</div>
<div id="profile-jot-end"></div> <div id="profile-jot-end"></div>
</form> </form>

View file

@ -21,6 +21,9 @@ $langselector
{{ if $nav.network }}<li><a id="nav-network-link" class="nav-commlink $nav.network.2" href="$nav.network.0">$nav.network.1</a></li>{{ endif }} {{ if $nav.network }}<li><a id="nav-network-link" class="nav-commlink $nav.network.2" href="$nav.network.0">$nav.network.1</a></li>{{ endif }}
{{ if $nav.community }}
<li><a id="nav-community-link" class="nav-commlink $nav.community.2" href="$nav.community.0" title="$nav.community.3" >$nav.community.1</a></li>
{{ endif }}
{{ if $nav.notifications }}<li><a id="nav-notify-link" class="nav-commlink $nav.notifications.2" href="$nav.notifications.0">$nav.notifications.1</a></li>{{ endif }} {{ if $nav.notifications }}<li><a id="nav-notify-link" class="nav-commlink $nav.notifications.2" href="$nav.notifications.0">$nav.notifications.1</a></li>{{ endif }}
{{ if $nav.messages }}<li><a id="nav-messages-link" class="nav-commlink $nav.messages.2" href="$nav.messages.0">$nav.messages.1</a></li>{{ endif }} {{ if $nav.messages }}<li><a id="nav-messages-link" class="nav-commlink $nav.messages.2" href="$nav.messages.0">$nav.messages.1</a></li>{{ endif }}

View file

@ -321,9 +321,10 @@ aside #viewcontacts { text-align: right;}
padding: 5px; padding: 5px;
} }
#profile-jot-acl-wrapper { #profile-jot-acl-wrapper {
margin: 0px 10%; margin: 0px 10px;
border: 1px solid #555753; border: 1px solid #555753;
border-top: 0px; border-top: 0px;
display:block!important;
} }
#group_allow_wrapper, #group_allow_wrapper,
#group_deny_wrapper, #group_deny_wrapper,
@ -342,25 +343,6 @@ aside #viewcontacts { text-align: right;}
#acl-permit-wrapper,
#acl-deny-wrapper { padding: 5px; }
#acl-allow-group-label,
#acl-allow-contact-label,
#acl-deny-group-label,
#acl-deny-contact-label { display: block }
#group_allow, #contact_allow,
#group_deny, #contact_deny,
#profile-jot-acl-wrapper select { width: 100%; }
#acl-wrapper-end,
#profile-jot-end { clear: both; height: 5px; }
/** /**
* section * section
*/ */
@ -1130,3 +1112,107 @@ div[id$="wrapper"] br { clear: left; }
.cc-license { margin-top: 100px; font-size: 0.7em; } .cc-license { margin-top: 100px; font-size: 0.7em; }
footer { display: block; margin: 50px 20%; clear: both; } footer { display: block; margin: 50px 20%; clear: both; }
#profile-jot-text {
height: 20px;
color:#cccccc;
border: 1px solid #cccccc;
}
/** acl **/
#photo-edit-perms-select,
#photos-upload-permissions-wrapper,
#profile-jot-acl-wrapper{
display:block!important;
}
#acl-wrapper {
width: 690px;
float:left;
}
#acl-search {
float:right;
background: #ffffff url("../../../images/search_18.png") no-repeat right center;
padding-right:20px;
}
#acl-showall {
float: left;
display: block;
width: auto;
height: 18px;
background-color: #cccccc;
background-image: url("../../../images/show_all_off.png");
background-position: 7px 7px;
background-repeat: no-repeat;
padding: 7px 10px 7px 30px;
-webkit-border-radius: 5px ;
-moz-border-radius: 5px;
border-radius: 5px;
color: #999999;
}
#acl-showall.selected {
color: #000000;
background-color: #ff9900;
background-image: url("../../../images/show_all_on.png");
}
#acl-list {
height: 210px;
border: 1px solid #cccccc;
clear: both;
margin-top: 30px;
overflow: auto;
}
#acl-list-content {
}
.acl-list-item {
display: block;
width: 150px;
height: 30px;
border: 1px solid #cccccc;
margin: 5px;
float: left;
}
.acl-list-item img{
width:22px;
height: 22px;
float: left;
margin: 4px;
}
.acl-list-item p { font-size: 10px; margin: 0px; padding: 2px 0px 1px; }
.acl-list-item a {
font-size: 8px;
display: block;
width: 40px;
height: 10px;
float: left;
color: #999999;
background-color: #cccccc;
background-position: 3px 3px;
background-repeat: no-repeat;
margin-right: 5px;
-webkit-border-radius: 2px ;
-moz-border-radius: 2px;
border-radius: 2px;
padding-left: 15px;
}
#acl-wrapper a:hover {
text-decoration: none;
color:#000000;
}
.acl-button-show { background-image: url("../../../images/show_off.png"); }
.acl-button-hide { background-image: url("../../../images/hide_off.png"); }
.acl-button-show.selected {
color: #000000;
background-color: #9ade00;
background-image: url("../../../images/show_on.png");
}
.acl-button-hide.selected {
color: #000000;
background-color: #ff4141;
background-image: url("../../../images/hide_on.png");
}
.acl-list-item.groupshow { border-color: #9ade00; }
.acl-list-item.grouphide { border-color: #ff4141; }
/** /acl **/