I'm creating a custom content management system with a rich text editor. I'm using tiny MCE but I'm failing to fit the text area in my content div. I have a <div></div> that is 680px. I want Tiny MCE to fit into the <div></div> properly. However it keeps on overflowing. How can I set the textarea to fit on a width of 680px? Thaks. A sample of my code is down below
<?php
require 'janta_class.php';
$jantaObj = new janta_class();
if (!isset($_GET['pgid']) || empty($_GET['pgid'])) {
$page_id = 1;
} else {
$page_id = $_GET['pgid'];
}
if (isset($page_id) && !empty($page_id)) {
$allowedTags = '<p><strong><em><u><h1><h2><h3><h4><h5><h6><img>';
$allowedTags.='<li><ol><ul><span><div><br><ins><del>';
//you might want to escape some literals here
$page_data = $jantaObj->get_page($page_id);
$page_content = $page_data['page_content'];
$page_title = $page_data['page_title'];
$page_content = strip_tags(stripslashes($page_content), $allowedTags);
}
?>
<!-- TinyMCE -->
<script type="text/javascript" src="./editor/jscripts/tiny_mce/tiny_mce.js"></script>
<script language="javascript" type="text/javascript">
tinyMCE.init({
theme : "advanced",
mode: "exact",
elements : "rteditor",
plugins : "autolink,lists,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,wordcount,advlist,autosave,visualblocks",
// Theme options
theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect",
theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak,restoredraft,visualblocks",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
// Example content CSS (should be your site CSS)
content_css : "css/content.css",
// Drop lists for link/image/media/template dialogs
template_external_list_url : "lists/template_list.js",
external_link_list_url : "lists/link_list.js",
external_image_list_url : "lists/image_list.js",
media_external_list_url : "lists/media_list.js",
// Style formats
style_formats : [
{title : 'Bold text', inline : 'b'},
{title : 'Red text', inline : 'span', styles : {color : '#ff0000'}},
{title : 'Red header', block : 'h1', styles : {color : '#ff0000'}},
{title : 'Example 1', inline : 'span', classes : 'example1'},
{title : 'Example 2', inline : 'span', classes : 'example2'},
{title : 'Table styles'},
{title : 'Table row 1', selector : 'tr', classes : 'tablerow1'}
],
// Replace values for the template plugin
template_replace_values : {
username : "Some User",
staffid : "991234"
},
height:"350px",
width:"600px"
});
</script>
<?php //echo $sHeader; ?>
<form method="post" action="">
<textarea id="rteditor" name="rteditor" rows="15" cols="80"><?php echo $page_content; ?></textarea>
<br />
<input type="submit" name="save" value="Submit" />
<input type="reset" name="reset" value="Reset" />
</form>
Do not use width with double quotes nor single quotes.
I have got the solution.
Put it like:
width: 300,
and it should work for you. I have tested it with my code.
Solution is to set the width in the tinymce initfunction. Be aware that you place integers there and don't use 'px':
width:"680"
Related
This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center.
Closed 10 years ago.
I was trying to update my website content by a pop up window. I made the content appear according to the ID but when I try to submit it an error appears on the pop up
An error occurred upon executing query.
Please notify the web developer about this error.
NOTE: You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use
near 'WHERE textID=16' at line 1
and I can't seem to find the bug. Can you see it?
Here's my complete code:
<!-- PHP -->
<?
include('global.php');
if(isset($_REQUEST['textID']))
$textID = $_REQUEST['textID'];
if(isset($_REQUEST['textContent']))
$textContent = $_REQUEST['textContent'];
if($_POST){
$query = "UPDATE text_tb SET ";
$query = $query."textContent='".$textContent."', ";
$query = $query."WHERE textID=".$textID."";
//echo $query;
ExecuteQuery($query);
echo "<script type=\"text/javascript\">
<!--
window.close();
//-->
</script>";
}
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Full featured example</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<!-- TinyMCE -->
<script type="text/javascript" src="../jscripts/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
tinyMCE.init({
// General options
mode : "textareas",
theme : "advanced",
plugins : "autolink,lists,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,wordcount,advlist,autosave,visualblocks",
// Theme options
theme_advanced_buttons1 : "newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,fontselect,fontsizeselect",
theme_advanced_buttons2 : "bullist,numlist,|,undo,redo,|,link,unlink,|,forecolor",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : false,
// Example content CSS (should be your site CSS)
content_css : "css/content.css",
// Drop lists for link/image/media/template dialogs
template_external_list_url : "lists/template_list.js",
external_link_list_url : "lists/link_list.js",
external_image_list_url : "lists/image_list.js",
media_external_list_url : "lists/media_list.js",
// Style formats
style_formats : [
{title : 'Bold text', inline : 'b'},
{title : 'Red text', inline : 'span', styles : {color : '#ff0000'}},
{title : 'Red header', block : 'h1', styles : {color : '#ff0000'}},
{title : 'Example 1', inline : 'span', classes : 'example1'},
{title : 'Example 2', inline : 'span', classes : 'example2'},
{title : 'Table styles'},
{title : 'Table row 1', selector : 'tr', classes : 'tablerow1'}
],
});
</script>
<!-- /TinyMCE -->
</head>
<body role="application">
<form method="post" action="<?php $_PHP_SELF ?>">
<div>
<!-- Gets replaced with TinyMCE, remember HTML in a textarea should be encoded -->
<div>
<textarea id="textContent" name="textContent" rows="15" cols="80" style="width: 80%">
<?
$result = mysql_query("SELECT * FROM text_tb WHERE textID ='".$textID."'");
while($row = mysql_fetch_array($result)){
echo $row['textContent'];
}
?>
</textarea>
</div>
<!-- Some integration calls
[Show]
[Hide]-->
<br />
<input type="submit" name="save" value="Submit" />
<input type="reset" name="reset" value="Reset" />
</div>
</form>
<!--<script type="text/javascript">
if (document.location.protocol == 'file:') {
alert("The examples might not work properly on the local file system due to security settings in your browser. Please use a real webserver.");
}
</script>-->
</body>
</html>
The problem is the comma at the end of the set. Change this line:
$query = $query."textContent='".$textContent."', ";
to:
$query = $query."textContent='".$textContent."' ";
This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
How to prevent SQL injection?
With my script when I copy a topic from Gmail and past it on my script to add it as a topic suddenly I face this problem.
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'no matter where the" at line 2
This problem happens just when I copy from Gmail although I past it on notepad then I copy it to my script
This is my code to add a topic:
<?php
#session_start();
if (!$_SESSION['username']){
echo "<meta http-equiv='refresh' content='0; url=../login.php'/>";
exit();
}
?>
<?php include "../config.php";?>
<html>
<head>
<meta charset="utf-8"/>
<link rel="stylesheet" type="text/css" href="admin.css" media="screen"/>
</head>
<body>
<!-- TinyMCE -->
<script type="text/javascript" src="../editor/tiny_mce.js"></script>
<script type="text/javascript">
tinyMCE.init({
// General options
mode : "textareas",
theme : "advanced",
plugins : "autolink,lists,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,wordcount,advlist,autosave",
// Theme options
theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect",
theme_advanced_buttons2 : "bullist,numlist,|,link,unlink,anchor,cleanup,insertdate,inserttime,preview,|,forecolor,backcolor,hr,|,fullscreen,,ltr,rtl",
theme_advanced_buttons3 : "media,removeformat,cleanup",
theme_advanced_buttons4 : "",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "right",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
// Example content CSS (should be your site CSS)
content_css : "css/content.css",
// Drop lists for link/image/media/template dialogs
template_external_list_url : "lists/template_list.js",
external_link_list_url : "lists/link_list.js",
external_image_list_url : "lists/image_list.js",
media_external_list_url : "lists/media_list.js",
// Style formats
style_formats : [
{title : 'Bold text', inline : 'b'},
{title : 'Red text', inline : 'span', styles : {color : '#ff0000'}},
{title : 'Red header', block : 'h1', styles : {color : '#ff0000'}},
{title : 'Example 1', inline : 'span', classes : 'example1'},
{title : 'Example 2', inline : 'span', classes : 'example2'},
{title : 'Table styles'},
{title : 'Table row 1', selector : 'tr', classes : 'tablerow1'}
],
// Replace values for the template plugin
template_replace_values : {
username : "Some User",
staffid : "991234"
}
});
</script>
<!-- /TinyMCE -->
<?php
#=======================================insert news==========================================
if ($_POST['submit']){
$topic_title =$_POST['topic_title'];
$topic =$_POST['topic'];
$id_topic =$_POST['topic_sec'];
$image1 =$_POST['image1'];
$image2 =$_POST['image2'];
$today =gmdate("d,m,Y");
$date =$_POST['date'];
$status =$_POST['status'];
$insert=mysql_query("insert into topics values('','$topic_title','$image1','$image2',
'$id_topic','$topic','$today','','$status')")or die (mysql_error());
}
if ($insert){echo "<script>alert(\"topic has been added\");</script>
<meta http-equiv='refresh' content='0; url=topics.php'/>
";}
?>
<div id='right'>add a new topic</div>
<form action='' method='post' dir='rtl'>
<table width='100%' cellpadding='5' cellspacing='10' dir='rtl'>
<tr>
<td>topic title</td>
<td><input type='text' name='topic_title' id='topic_title'/></td>
</tr>
<tr>
<td>upper image</td>
<td><input type='text' name='image1' size='70%'/></td>
</tr>
<td>left image</td>
<td><input type='text' name='image2' size='70%'/></td>
</tr>
<tr>
<td>topic section</td>
<td>
<select name='topic_sec'>
<?php
$select=mysql_query("select * from sections")or die (mysql_error());
while ($row=mysql_fetch_object($select)){
echo "<option value='$row->id_sec'>$row->sec_name</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td>topic</td>
<td >
<textarea cols='100' rows='25' name='topic' ></textarea>
</td>
</tr>
<tr>
<td>state</td>
<td>
<select name='status'>
<option value='1'>active</option>
<option value='2'>unactive</option>
</select>
</td>
</tr>
<tr>
<td colspan='2' ><input type='submit' id='subbot' name='submit' value='add'/></td>
</tr>
</table>
<input type='hidden' name='date' value='<?=$today;?>'/>
</form>
<br/>
</body>
</html>
You could use mysql_real_escape_string() to sanitize your variables before inserting them into the database - that should take care of any issues with single quotes, etc.
Incidentally, you should be doing some sanitizing of your POST variables (at the very least mysql_real_escape_string()) before inserting them into your database to avoid SQL Injection attacks.
I'm trying to get fancybox to open a php file; the file contains this code <?php echo "hi"; ?>.
Now when I set the image href attribute to a jpeg file it loads fine. But when I set it to a php file it doesn't load. Can I have help trying to get it to load a php file.
<a class= "fancyimg" href="http://mydomain.com/jquery.fancybox-1.3.4/count.php" ><img src="http://mydomain.com/jquery.fancybox-1.3.4/fancyimg2.jpg">
Here is part of my code
<script type="text/javascript">
$(document).ready(function() {
$(".fancyimg").fancybox({
'overlayShow' : false,
'transitionIn' : 'elastic',
'transitionOut' : 'elastic'
});
});
</script>
Use type attribute of fancybox as below to open php file.
$(".fancyimg").fancybox({
'width' : '75%',
'height' : '75%',
'autoScale' : false,
'type' : 'iframe',
'overlayShow' : false,
'transitionIn' : 'elastic',
'transitionOut' : 'elastic'
});
you can use something like this :
$(".fancyimg").click(function() {
$.fancybox.open({
href : $(this).attr("data-id"),
type : 'iframe',
padding : 5
});
});
and instead of href="http://mydomain.com/jquery.fancybox-1.3.4/count.php" put your link in a custom attribute called data-id like this :
<a class= "fancyimg" href="#" data-id="http://mydomain.com/jquery.fancybox-1.3.4/count.php" ><img src="http://mydomain.com/jquery.fancybox-1.3.4/fancyimg2.jpg"></a>
$("#btnOK").click(function(){
parent.$("#res"+(d)).load("Customise.php #uni", "PID="+$("#P option:selected").val());
parent.$.fancybox.close(function(){
$("#res"+(d-1)+" a#p").fancybox({
'transitionIn' : 'elastic',
'transitionOut' : 'elastic',
'width':400,
'height':300,
'overlayOpacity' : 0.5,
'type' : 'iframe'
});
});
});
after i click the button. i use a callback function to reintialise a#p it can't work?
any solution?
<div class="cell">
<label id="pID">PID</label> <br /> <input type="text" id="txtPID" size="3" value="<? if(is_numeric($pID)) print("$pID"); ?>"/>
<img src="Images/P.png" name="SelectP_button" id="SelectP_button" />
</div>
are you sure you want to select $("#res"+(d-1)+"a#p") ?
Im assuming that d is a number and you will therefore generate:
#res3a#p
in your selector, which is invalid, youre probably trying to do this
$("#res"+(d-1)+" a#p")
$("#btnOK").click(function(){
parent.$("#res"+(d)).load("Customise.php #uni", "PID="+$("#P option:selected").val());
parent.$.fancybox.close();
});
$("#res"+(d-1)+" a#p").fancybox({
'transitionIn' : 'elastic',
'transitionOut' : 'elastic',
'width':400,
'height':300,
'overlayOpacity' : 0.5,
'onClosed: function(){
$("#res"+(d-1)+" a#p").fancybox({
'transitionIn' : 'elastic',
'transitionOut' : 'elastic',
'width':400,
'height':300,
'overlayOpacity' : 0.5,
'type' : 'iframe'
});
},
'type' : 'iframe'
});
});
I have some TinyMCE textarea editor for my PHP programs like this one:
<!-- TinyMCE -->
<script type="text/javascript" src="../jscripts/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
tinyMCE.init({
// General options
mode : "textareas",
theme : "advanced",
skin : "o2k7",
plugins : >"autolink,lists,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,i>nsertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscree>n,noneditable,visualchars,nonbreaking,xhtmlxtras,template,inlinepopups,autosave",
// Theme options
theme_advanced_buttons1 : >"save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justif>yright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",
theme_advanced_buttons2 : >"cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,bl>ockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,>preview,|,forecolor,backcolor",
theme_advanced_buttons3 : >"tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advh>r,|,print,|,ltr,rtl,|,fullscreen",
theme_advanced_buttons4 : >"insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,at>tribs,|,visualchars,nonbreaking,template,pagebreak,restoredraft",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
// Example word content CSS (should be your site CSS) this one removes >paragraph margins
content_css : "css/word.css",
// Drop lists for link/image/media/template dialogs
template_external_list_url : "lists/template_list.js",
external_link_list_url : "lists/link_list.js",
external_image_list_url : "lists/image_list.js",
media_external_list_url : "lists/media_list.js",
// Replace values for the template plugin
template_replace_values : {
username : "Some User",
staffid : "991234"
}
});
</script>
<!-- /TinyMCE -->
Now I'd like to use all code above as a class, something like this:
<textarea id="test" name="test" class="tinymce"></textarea>
How and where should I create class="tinymce"?
I would like to use this class in many textareas at different php/html programs.
Here's an example of applying TinyMCE to specific classes:
<script type="text/javascript">
tinyMCE.init({
mode : "textareas",
theme : "simple",
editor_selector : "mceEditor",
editor_deselector : "mceNoEditor"
});
</script>
<form method="post" action="somepage">
<textarea id="content1" name="content1" class="mceEditor" cols="85" rows="10">This will be a editor, since it has a selector class.</textarea>
<textarea id="content2" name="content2" class="mceEditor" cols="85" rows="10">This will be a editor, since it has a selector class.</textarea>
<textarea id="content3" name="content3" class="mceNoEditor" cols="85" rows="10">This is not a editor since it has a deselector class.</textarea>
</form>
Full example: http://www.tinymce.com/tryit/selector_deselector.php
here you can find complete reference for TinyMce.
http://tinymce.moxiecode.com/js/tinymce/docs/api/index.html#class_tinymce.html
Good luck.