git-svn-id: https://192.168.0.254/svn/Proyectos.FundacionLQDVI_WebCongresos/trunk@2 94ccb1af-fd9d-d947-8d90-7f70ea60afc8
362 lines
10 KiB
PHP
362 lines
10 KiB
PHP
<?php
|
|
/**
|
|
* @version $Id: kunena.bbcode.js.php 951 2009-08-15 01:45:15Z mahagr $
|
|
* Kunena Component
|
|
* @package Kunena
|
|
*
|
|
* @Copyright (C) 2008 - 2009 Kunena Team All rights reserved
|
|
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
|
|
* @link http://www.kunena.com
|
|
*
|
|
* Based on FireBoard Component
|
|
* @Copyright (C) 2006 - 2007 Best Of Joomla All rights reserved
|
|
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
|
|
* @link http://www.bestofjoomla.com
|
|
*
|
|
* Based on Joomlaboard Component
|
|
* @copyright (C) 2000 - 2004 TSMF / Jan de Graaff / All Rights Reserved
|
|
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
|
|
* @author TSMF & Jan de Graaff
|
|
**/
|
|
?>
|
|
|
|
<script language = "JavaScript" type = "text/javascript">
|
|
<?php
|
|
$fbConfig =& CKunenaConfig::getInstance();
|
|
?>
|
|
<!--
|
|
// bbCode control by
|
|
// subBlue design
|
|
// www.subBlue.com
|
|
// adapted for Joomlaboard by the Two Shoes Module Factory (www.tsmf.net)
|
|
// Startup variables
|
|
var imageTag = false;
|
|
var theSelection = false;
|
|
var baseHeight;
|
|
|
|
// Check for Browser & Platform for PC & IE specific bits
|
|
// More details from: http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html
|
|
var clientPC = navigator.userAgent.toLowerCase(); // Get client info
|
|
var clientVer = parseInt(navigator.appVersion); // Get browser version
|
|
var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
|
|
var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1)
|
|
&& (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1)
|
|
&& (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1));
|
|
var is_moz = 0;
|
|
var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));
|
|
var is_mac = (clientPC.indexOf("mac")!=-1);
|
|
var s;
|
|
var newheight = 300;
|
|
var change;
|
|
|
|
function dE(n)
|
|
{
|
|
s = document.postform.speicher.value;
|
|
if (document.getElementById(n).style.display == "none")
|
|
{
|
|
if (s != "") {document.getElementById(s).style.display = "none";}
|
|
document.getElementById(n).style.display = "block";
|
|
s=document.getElementById(n).id;
|
|
document.postform.speicher.value = s;
|
|
}
|
|
else
|
|
{
|
|
document.getElementById(n).style.display = "none";
|
|
s = "";
|
|
document.postform.speicher.value = s;
|
|
}
|
|
}
|
|
|
|
function size_messagebox(change)
|
|
{
|
|
newheight = newheight + change;
|
|
if (newheight > 200) {document.postform.message.style.height = newheight + "px";}
|
|
else {
|
|
document.postform.message.style.height = "300px";
|
|
newheight = 300;}
|
|
}
|
|
|
|
/**
|
|
* Color pallette. From http://www.phpbb.de
|
|
*/
|
|
function colorPalette(dir, width, height)
|
|
{
|
|
var r = 0, g = 0, b = 0;
|
|
var numberList = new Array(6);
|
|
var color = '';
|
|
numberList[0] = '00';
|
|
numberList[1] = '40';
|
|
numberList[2] = '80';
|
|
numberList[3] = 'BF';
|
|
numberList[4] = 'FF';
|
|
document.writeln('<table class="fb-color_table" cellspacing="1" cellpadding="0" border="0" style="width: 100%;">');
|
|
for (r = 0; r < 5; r++)
|
|
{
|
|
if (dir == 'h') {document.writeln('<tr>');}
|
|
for (g = 0; g < 5; g++) {
|
|
if (dir == 'v') {document.writeln('<tr>');}
|
|
for (b = 0; b < 5; b++) {
|
|
color = String(numberList[r]) + String(numberList[g]) + String(numberList[b]);
|
|
document.write('<td id="' + color + '" style="background-color:#' + color + '; width: ' + width + '; height: ' + height + ';">');
|
|
document.write(' ');
|
|
document.writeln('</td>');
|
|
}
|
|
if (dir == 'v') {document.writeln('</tr>');}
|
|
}
|
|
if (dir == 'h') {document.writeln('</tr>');}
|
|
}
|
|
document.writeln('</table>');
|
|
}
|
|
|
|
jQuery(document).ready(function()
|
|
{
|
|
jQuery('table.fb-color_table td').click( function()
|
|
{
|
|
// var color = jQuery(this).css('background-color');
|
|
var color = jQuery(this).attr('id');
|
|
bbfontstyle('[color=#' + color + ']', '[/color]'); return false;
|
|
} );
|
|
jQuery('select#fb-bbcode_size').change( function()
|
|
{
|
|
var size = jQuery(this).val();
|
|
bbfontstyle('[size=' + size + ']', '[/size]'); return false;
|
|
} );
|
|
} );
|
|
|
|
// From http://www.massless.org/mozedit/
|
|
|
|
function mozWrap(txtarea, open, close)
|
|
{
|
|
var selLength = txtarea.textLength;
|
|
var selStart = txtarea.selectionStart;
|
|
var selEnd = txtarea.selectionEnd;
|
|
var scrollTop = txtarea.scrollTop;
|
|
|
|
if (selEnd == 1 || selEnd == 2)
|
|
{
|
|
selEnd = selLength;
|
|
}
|
|
|
|
var s1 = (txtarea.value).substring(0,selStart);
|
|
var s2 = (txtarea.value).substring(selStart, selEnd)
|
|
var s3 = (txtarea.value).substring(selEnd, selLength);
|
|
|
|
txtarea.value = s1 + open + s2 + close + s3;
|
|
txtarea.selectionStart = selEnd + open.length + close.length;
|
|
txtarea.selectionEnd = txtarea.selectionStart;
|
|
txtarea.focus();
|
|
txtarea.scrollTop = scrollTop;
|
|
|
|
return;
|
|
}
|
|
|
|
// Insert at Claret position. Code from
|
|
// http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130
|
|
function storeCaret(textEl)
|
|
{
|
|
if (textEl.createTextRange)
|
|
{
|
|
textEl.caretPos = document.selection.createRange().duplicate();
|
|
}
|
|
}
|
|
|
|
// Insert BBCode in textarea. Code from
|
|
// http://www.phpbb.de/
|
|
function bbfontstyle(bbopen, bbclose) {
|
|
theSelection = false;
|
|
var txtarea = document.postform.message;
|
|
txtarea.focus();
|
|
if ((clientVer >= 4) && is_ie && is_win) {
|
|
theSelection = document.selection.createRange().text;
|
|
if (theSelection)
|
|
{
|
|
// Add tags around selection
|
|
document.selection.createRange().text = bbopen + theSelection + bbclose;
|
|
document.postform.message.focus();
|
|
theSelection = '';
|
|
if (document.postform.previewspeicher.value == "preview") {fbGetPreview(document.postform.message.value,<?php echo KUNENA_COMPONENT_ITEMID?>);}
|
|
return;
|
|
}
|
|
}
|
|
|
|
else if (document.postform.message.selectionEnd && (document.postform.message.selectionEnd - document.postform.message.selectionStart > 0))
|
|
{
|
|
mozWrap(document.postform.message, bbopen, bbclose);
|
|
document.postform.message.focus();
|
|
theSelection = '';
|
|
if (document.postform.previewspeicher.value == "preview") {fbGetPreview(document.postform.message.value,<?php echo KUNENA_COMPONENT_ITEMID?>);}
|
|
return;
|
|
}
|
|
//The new position for the cursor after adding the bbcode
|
|
var caret_pos = getCaretPosition(txtarea).start;
|
|
var new_pos = caret_pos + bbopen.length;
|
|
|
|
// Open tag
|
|
insert_text(bbopen + bbclose);
|
|
|
|
// Center the cursor when we don't have a selection
|
|
// Gecko and proper browsers
|
|
if (!isNaN(txtarea.selectionStart))
|
|
{
|
|
txtarea.selectionStart = new_pos;
|
|
txtarea.selectionEnd = new_pos;
|
|
}
|
|
// IE
|
|
else if (document.selection)
|
|
{
|
|
var range = txtarea.createTextRange();
|
|
range.move("character", new_pos);
|
|
range.select();
|
|
storeCaret(txtarea);
|
|
}
|
|
|
|
txtarea.focus();
|
|
if (document.postform.previewspeicher.value == "preview") {fbGetPreview(document.postform.message.value,<?php echo KUNENA_COMPONENT_ITEMID?>);}
|
|
return;
|
|
}
|
|
|
|
// Insert text at position. Code from
|
|
// http://www.phpbb.de/
|
|
function insert_text(text, spaces, popup)
|
|
{
|
|
var txtarea;
|
|
|
|
if (!popup)
|
|
{
|
|
txtarea = document.postform.message;
|
|
}
|
|
else
|
|
{
|
|
txtarea = opener.document.postform.message;
|
|
}
|
|
if (spaces)
|
|
{
|
|
text = ' ' + text + ' ';
|
|
}
|
|
|
|
if (!isNaN(txtarea.selectionStart))
|
|
{
|
|
var sel_start = txtarea.selectionStart;
|
|
var sel_end = txtarea.selectionEnd;
|
|
|
|
mozWrap(txtarea, text, '')
|
|
txtarea.selectionStart = sel_start + text.length;
|
|
txtarea.selectionEnd = sel_end + text.length;
|
|
}
|
|
else if (txtarea.createTextRange && txtarea.caretPos)
|
|
{
|
|
if (baseHeight != txtarea.caretPos.boundingHeight)
|
|
{
|
|
txtarea.focus();
|
|
storeCaret(txtarea);
|
|
}
|
|
|
|
var caret_pos = txtarea.caretPos;
|
|
caret_pos.text = caret_pos.text.charAt(caret_pos.text.length - 1) == ' ' ? caret_pos.text + text + ' ' : caret_pos.text + text;
|
|
}
|
|
else
|
|
{
|
|
txtarea.value = txtarea.value + text;
|
|
}
|
|
if (!popup)
|
|
{
|
|
txtarea.focus();
|
|
}
|
|
}
|
|
|
|
// Caret Position object. Code from
|
|
// http://www.phpbb.de/
|
|
function caretPosition()
|
|
{
|
|
var start = null;
|
|
var end = null;
|
|
}
|
|
|
|
// Get the caret position in an textarea. Code from
|
|
// http://www.phpbb.de/
|
|
function getCaretPosition(txtarea)
|
|
{
|
|
var caretPos = new caretPosition();
|
|
|
|
// simple Gecko/Opera way
|
|
if(txtarea.selectionStart || txtarea.selectionStart == 0)
|
|
{
|
|
caretPos.start = txtarea.selectionStart;
|
|
caretPos.end = txtarea.selectionEnd;
|
|
}
|
|
// dirty and slow IE way
|
|
else if(document.selection)
|
|
{
|
|
|
|
// get current selection
|
|
var range = document.selection.createRange();
|
|
|
|
// a new selection of the whole txtarea
|
|
var range_all = document.body.createTextRange();
|
|
range_all.moveToElementText(txtarea);
|
|
|
|
// calculate selection start point by moving beginning of range_all to beginning of range
|
|
var sel_start;
|
|
for (sel_start = 0; range_all.compareEndPoints('StartToStart', range) < 0; sel_start++)
|
|
{
|
|
range_all.moveStart('character', 1);
|
|
}
|
|
|
|
txtarea.sel_start = sel_start;
|
|
|
|
// we ignore the end value for IE, this is already dirty enough and we don't need it
|
|
caretPos.start = txtarea.sel_start;
|
|
caretPos.end = txtarea.sel_start;
|
|
}
|
|
|
|
return caretPos;
|
|
}
|
|
//#######################################################
|
|
//code used in My Profile (userprofile.php)
|
|
function textCounter(field, countfield, maxlimit) {
|
|
if(field.value.length > maxlimit){
|
|
field.value = field.value.substring(0, maxlimit);
|
|
}
|
|
else{
|
|
countfield.value = maxlimit - field.value.length;
|
|
}
|
|
}
|
|
|
|
|
|
function submitForm() {
|
|
submitme=1;
|
|
formname=document.postform.fb_authorname.value;
|
|
if ((formname.length<1)) {
|
|
alert("<?php @print( _POST_FORGOT_NAME_ALERT); ?>");
|
|
submitme=0;
|
|
}
|
|
<?php if ($fbConfig->askemail) { ?>
|
|
formmail=document.postform.email.value;
|
|
if ((formmail.length<1)) {
|
|
alert("<?php @print( _POST_FORGOT_EMAIL_ALERT); ?>");
|
|
submitme=0;
|
|
}
|
|
<?php } ?>
|
|
formsubject=document.postform.subject.value;
|
|
if ((formsubject.length<1)) {
|
|
alert("<?php @print( _POST_FORGOT_SUBJECT_ALERT); ?>");
|
|
submitme=0;
|
|
}
|
|
if (submitme>0) {
|
|
// var message = document.postform.message.value;
|
|
// message = message.replace(/</g,"<");
|
|
// message = message.replace(/>/g,">");
|
|
// document.postform.message.value = message;
|
|
//change the following line to true to submit form
|
|
return true;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
function cancelForm() {
|
|
document.forms['postform'].action.value = "cancel";
|
|
return true;
|
|
}
|
|
//-->
|
|
</script>
|