basic support for plaintext editor configuration (disable tinymce), currently only zero themes - and not all the post tools currently work (as some of them emit html).

This commit is contained in:
friendica 2012-02-06 20:28:50 -08:00
parent 76308eca67
commit 2b77002471
2 changed files with 114 additions and 88 deletions

View File

@ -838,98 +838,102 @@ function status_editor($a,$x, $notes_cid = 0) {
$geotag = (($x['allow_location']) ? get_markup_template('jot_geotag.tpl') : ''); $geotag = (($x['allow_location']) ? get_markup_template('jot_geotag.tpl') : '');
$tpl = get_markup_template('jot-header.tpl'); $plaintext = false;
if(local_user() && intval(get_pconfig(local_user(),'system','plaintext')))
$plaintext = true;
$tpl = get_markup_template('jot-header.tpl');
$a->page['htmlhead'] .= replace_macros($tpl, array( $a->page['htmlhead'] .= replace_macros($tpl, array(
'$newpost' => 'true', '$newpost' => 'true',
'$baseurl' => $a->get_baseurl(), '$baseurl' => $a->get_baseurl(),
'$geotag' => $geotag, '$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
'$nickname' => $x['nickname'], '$geotag' => $geotag,
'$ispublic' => t('Visible to <strong>everybody</strong>'), '$nickname' => $x['nickname'],
'$linkurl' => t('Please enter a link URL:'), '$ispublic' => t('Visible to <strong>everybody</strong>'),
'$vidurl' => t("Please enter a video link/URL:"), '$linkurl' => t('Please enter a link URL:'),
'$audurl' => t("Please enter an audio link/URL:"), '$vidurl' => t("Please enter a video link/URL:"),
'$term' => t('Tag term:'), '$audurl' => t("Please enter an audio link/URL:"),
'$whereareu' => t('Where are you right now?'), '$term' => t('Tag term:'),
'$title' => t('Enter a title for this item') '$whereareu' => t('Where are you right now?'),
)); '$title' => t('Enter a title for this item')
));
$tpl = get_markup_template("jot.tpl"); $tpl = get_markup_template("jot.tpl");
$jotplugins = ''; $jotplugins = '';
$jotnets = ''; $jotnets = '';
$mail_disabled = ((function_exists('imap_open') && (! get_config('system','imap_disabled'))) ? 0 : 1); $mail_disabled = ((function_exists('imap_open') && (! get_config('system','imap_disabled'))) ? 0 : 1);
$mail_enabled = false; $mail_enabled = false;
$pubmail_enabled = false; $pubmail_enabled = false;
if(($x['is_owner']) && (! $mail_disabled)) { if(($x['is_owner']) && (! $mail_disabled)) {
$r = q("SELECT * FROM `mailacct` WHERE `uid` = %d AND `server` != '' LIMIT 1", $r = q("SELECT * FROM `mailacct` WHERE `uid` = %d AND `server` != '' LIMIT 1",
intval(local_user()) intval(local_user())
); );
if(count($r)) { if(count($r)) {
$mail_enabled = true; $mail_enabled = true;
if(intval($r[0]['pubmail'])) if(intval($r[0]['pubmail']))
$pubmail_enabled = true; $pubmail_enabled = true;
}
} }
}
if($mail_enabled) { if($mail_enabled) {
$selected = (($pubmail_enabled) ? ' checked="checked" ' : ''); $selected = (($pubmail_enabled) ? ' checked="checked" ' : '');
$jotnets .= '<div class="profile-jot-net"><input type="checkbox" name="pubmail_enable"' . $selected . ' value="1" /> ' $jotnets .= '<div class="profile-jot-net"><input type="checkbox" name="pubmail_enable"' . $selected . ' value="1" /> ' . t("Post to Email") . '</div>';
. t("Post to Email") . '</div>'; }
}
call_hooks('jot_tool', $jotplugins); call_hooks('jot_tool', $jotplugins);
call_hooks('jot_networks', $jotnets); call_hooks('jot_networks', $jotnets);
if($notes_cid) if($notes_cid)
$jotnets .= '<input type="hidden" name="contact_allow[]" value="' . $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( $o .= replace_macros($tpl,array(
'$return_path' => $a->cmd, '$return_path' => $a->cmd,
'$action' => 'item', '$action' => 'item',
'$share' => (($x['button']) ? $x['button'] : t('Share')), '$share' => (($x['button']) ? $x['button'] : t('Share')),
'$upload' => t('Upload photo'), '$upload' => t('Upload photo'),
'$shortupload' => t('upload photo'), '$shortupload' => t('upload photo'),
'$attach' => t('Attach file'), '$attach' => t('Attach file'),
'$shortattach' => t('attach file'), '$shortattach' => t('attach file'),
'$weblink' => t('Insert web link'), '$weblink' => t('Insert web link'),
'$shortweblink' => t('web link'), '$shortweblink' => t('web link'),
'$video' => t('Insert video link'), '$video' => t('Insert video link'),
'$shortvideo' => t('video link'), '$shortvideo' => t('video link'),
'$audio' => t('Insert audio link'), '$audio' => t('Insert audio link'),
'$shortaudio' => t('audio link'), '$shortaudio' => t('audio link'),
'$setloc' => t('Set your location'), '$setloc' => t('Set your location'),
'$shortsetloc' => t('set location'), '$shortsetloc' => t('set location'),
'$noloc' => t('Clear browser location'), '$noloc' => t('Clear browser location'),
'$shortnoloc' => t('clear location'), '$shortnoloc' => t('clear location'),
'$title' => "", '$title' => "",
'$placeholdertitle' => t('Set title'), '$placeholdertitle' => t('Set title'),
'$wait' => t('Please wait'), '$wait' => t('Please wait'),
'$permset' => t('Permission settings'), '$permset' => t('Permission settings'),
'$shortpermset' => t('permissions'), '$shortpermset' => t('permissions'),
'$ptyp' => (($notes_cid) ? 'note' : 'wall'), '$ptyp' => (($notes_cid) ? 'note' : 'wall'),
'$content' => '', '$content' => '',
'$post_id' => '', '$post_id' => '',
'$baseurl' => $a->get_baseurl(), '$baseurl' => $a->get_baseurl(),
'$defloc' => $x['default_location'], '$defloc' => $x['default_location'],
'$visitor' => $x['visitor'], '$visitor' => $x['visitor'],
'$pvisit' => (($notes_cid) ? 'none' : $x['visitor']), '$pvisit' => (($notes_cid) ? 'none' : $x['visitor']),
'$emailcc' => t('CC: email addresses'), '$emailcc' => t('CC: email addresses'),
'$public' => t('Public post'), '$public' => t('Public post'),
'$jotnets' => $jotnets, '$jotnets' => $jotnets,
'$emtitle' => t('Example: bob@example.com, mary@example.com'), '$emtitle' => t('Example: bob@example.com, mary@example.com'),
'$lockstate' => $x['lockstate'], '$lockstate' => $x['lockstate'],
'$acl' => $x['acl'], '$acl' => $x['acl'],
'$bang' => $x['bang'], '$bang' => $x['bang'],
'$profile_uid' => $x['profile_uid'], '$profile_uid' => $x['profile_uid'],
'$preview' => t('Preview'), '$preview' => t('Preview'),
)); ));
return $o; return $o;
} }

View File

@ -3,14 +3,27 @@
var editor=false; var editor=false;
var textlen = 0; var textlen = 0;
var plaintext = '$editselect';
function initEditor(cb){ function initEditor(cb){
if (editor==false){ if (editor==false){
$("#profile-jot-text-loading").show(); $("#profile-jot-text-loading").show();
if(plaintext == 'none') {
$("#profile-jot-text-loading").hide();
$("#profile-jot-text").css({ 'height': 200, 'color': '#000' });
$(".jothidden").show();
editor = true;
$("a#jot-perms-icon").fancybox({
'transitionIn' : 'elastic',
'transitionOut' : 'elastic'
});
if (typeof cb!="undefined") cb();
return;
}
tinyMCE.init({ tinyMCE.init({
theme : "advanced", theme : "advanced",
mode : "specific_textareas", mode : "specific_textareas",
editor_selector: /(profile-jot-text|prvmail-text)/, editor_selector: $editselect,
auto_focus: "profile-jot-text", auto_focus: "profile-jot-text",
plugins : "bbcode,paste,autoresize", plugins : "bbcode,paste,autoresize",
theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code", theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",
@ -123,7 +136,7 @@ function enableOnUser(){
name: 'userfile', name: 'userfile',
onSubmit: function(file,ext) { $('#profile-rotator').show(); }, onSubmit: function(file,ext) { $('#profile-rotator').show(); },
onComplete: function(file,response) { onComplete: function(file,response) {
tinyMCE.execCommand('mceInsertRawHTML',false,response); addeditortext(response);
$('#profile-rotator').hide(); $('#profile-rotator').hide();
} }
} }
@ -134,7 +147,7 @@ function enableOnUser(){
name: 'userfile', name: 'userfile',
onSubmit: function(file,ext) { $('#profile-rotator').show(); }, onSubmit: function(file,ext) { $('#profile-rotator').show(); },
onComplete: function(file,response) { onComplete: function(file,response) {
tinyMCE.execCommand('mceInsertRawHTML',false,response); addeditortext(response);
$('#profile-rotator').hide(); $('#profile-rotator').hide();
} }
} }
@ -167,7 +180,7 @@ function enableOnUser(){
reply = bin2hex(reply); reply = bin2hex(reply);
$('#profile-rotator').show(); $('#profile-rotator').show();
$.get('parse_url?binurl=' + reply, function(data) { $.get('parse_url?binurl=' + reply, function(data) {
tinyMCE.execCommand('mceInsertRawHTML',false,data); addeditortext(data);
$('#profile-rotator').hide(); $('#profile-rotator').hide();
}); });
} }
@ -176,14 +189,14 @@ function enableOnUser(){
function jotVideoURL() { function jotVideoURL() {
reply = prompt("$vidurl"); reply = prompt("$vidurl");
if(reply && reply.length) { if(reply && reply.length) {
tinyMCE.execCommand('mceInsertRawHTML',false,'[video]' + reply + '[/video]'); addeditortext('[video]' + reply + '[/video]');
} }
} }
function jotAudioURL() { function jotAudioURL() {
reply = prompt("$audurl"); reply = prompt("$audurl");
if(reply && reply.length) { if(reply && reply.length) {
tinyMCE.execCommand('mceInsertRawHTML',false,'[audio]' + reply + '[/audio]'); addeditortext('[audio]' + reply + '[/audio]');
} }
} }
@ -200,7 +213,7 @@ function enableOnUser(){
$.get('share/' + id, function(data) { $.get('share/' + id, function(data) {
if (!editor) $("#profile-jot-text").val(""); if (!editor) $("#profile-jot-text").val("");
initEditor(function(){ initEditor(function(){
tinyMCE.execCommand('mceInsertRawHTML',false,data); addeditortext(data);
$('#like-rotator-' + id).hide(); $('#like-rotator-' + id).hide();
$(window).scrollTop(0); $(window).scrollTop(0);
}); });
@ -224,7 +237,7 @@ function enableOnUser(){
$.get('parse_url?binurl=' + reply, function(data) { $.get('parse_url?binurl=' + reply, function(data) {
if (!editor) $("#profile-jot-text").val(""); if (!editor) $("#profile-jot-text").val("");
initEditor(function(){ initEditor(function(){
tinyMCE.execCommand('mceInsertRawHTML',false,data); addeditortext(data);
$('#profile-rotator').hide(); $('#profile-rotator').hide();
}); });
}); });
@ -253,6 +266,15 @@ function enableOnUser(){
$('#profile-nolocation-wrapper').hide(); $('#profile-nolocation-wrapper').hide();
} }
function addeditortext(data) {
if(plaintext == 'none') {
var currentText = $("#profile-jot-text").val();
$("#profile-jot-text").val(currentText + data);
}
else
tinyMCE.execCommand('mceInsertRawHTML',false,data);
}
$geotag $geotag
</script> </script>