Mercurial > hg > rr-repo
diff sites/all/libraries/ckeditor/_samples/php/events.php @ 0:ff03f76ab3fe
initial version
author | danieleb <danielebarchiesi@me.com> |
---|---|
date | Wed, 21 Aug 2013 18:51:11 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sites/all/libraries/ckeditor/_samples/php/events.php Wed Aug 21 18:51:11 2013 +0100 @@ -0,0 +1,153 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<!-- +Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +--> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>Adding Event Handlers — CKEditor Sample</title> + <meta content="text/html; charset=utf-8" http-equiv="content-type"/> + <link href="../sample.css" rel="stylesheet" type="text/css"/> +</head> +<body> + <h1 class="samples"> + CKEditor Sample — Adding Event Handlers + </h1> + <div class="description"> + <p> + This sample shows how to add event handlers to CKEditor with PHP. + </p> + <p> + A snippet of the configuration code can be seen below; check the source code of this page for + the full definition: + </p> + <pre class="samples"><?php +// Include the CKEditor class. +include("ckeditor/ckeditor.php"); + +// Create a class instance. +$CKEditor = new CKEditor(); + +// Path to the CKEditor directory. +$CKEditor->basePath = '/ckeditor/'; + +// The initial value to be displayed in the editor. +$initialValue = 'This is some sample text.'; + +// Add event handler, <em>instanceReady</em> is fired when editor is loaded. +$CKEditor-><strong>addEventHandler</strong>('instanceReady', 'function (evt) { + alert("Loaded editor: " + evt.editor.name); +}'); + +// Create an editor instance. +$CKEditor->editor("editor1", $initialValue); +</pre> + </div> + <!-- This <div> holds alert messages to be display in the sample page. --> + <div id="alerts"> + <noscript> + <p> + <strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript + support, like yours, you should still see the contents (HTML data) and you should + be able to edit it normally, without a rich editor interface. + </p> + </noscript> + </div> + <form action="../sample_posteddata.php" method="post"> + <label>Editor 1:</label> +<?php + +/** + * Adds a global event, will hide the "Target" tab in the "Link" dialog window in all instances. + */ +function CKEditorHideLinkTargetTab(&$CKEditor) { + + $function = 'function (ev) { + // Take the dialog window name and its definition from the event data. + var dialogName = ev.data.name; + var dialogDefinition = ev.data.definition; + + // Check if the definition comes from the "Link" dialog window. + if ( dialogName == "link" ) + dialogDefinition.removeContents("target") + }'; + + $CKEditor->addGlobalEventHandler('dialogDefinition', $function); +} + +/** + * Adds a global event, will notify about an open dialog window. + */ +function CKEditorNotifyAboutOpenedDialog(&$CKEditor) { + $function = 'function (evt) { + alert("Loading a dialog window: " + evt.data.name); + }'; + + $CKEditor->addGlobalEventHandler('dialogDefinition', $function); +} + +// Include the CKEditor class. +include("../../ckeditor.php"); + +// Create a class instance. +$CKEditor = new CKEditor(); + +// Set a configuration option for all editors. +$CKEditor->config['width'] = 750; + +// Path to the CKEditor directory, ideally use an absolute path instead of a relative dir. +// $CKEditor->basePath = '/ckeditor/' +// If not set, CKEditor will try to detect the correct path. +$CKEditor->basePath = '../../'; + +// The initial value to be displayed in the editor. +$initialValue = '<p>This is some <strong>sample text</strong>. You are using <a href="http://ckeditor.com/">CKEditor</a>.</p>'; + +// Event that will be handled only by the first editor. +$CKEditor->addEventHandler('instanceReady', 'function (evt) { + alert("Loaded editor: " + evt.editor.name); +}'); + +// Create the first instance. +$CKEditor->editor("editor1", $initialValue); + +// Clear event handlers. Instances that will be created later will not have +// the 'instanceReady' listener defined a couple of lines above. +$CKEditor->clearEventHandlers(); +?> + <br /> + <label>Editor 2:</label> +<?php +// Configuration that will only be used by the second editor. +$config['width'] = '600'; +$config['toolbar'] = 'Basic'; + +// Add some global event handlers (for all editors). +CKEditorHideLinkTargetTab($CKEditor); +CKEditorNotifyAboutOpenedDialog($CKEditor); + +// Event that will only be handled by the second editor. +// Instead of calling addEventHandler(), events may be passed as an argument. +$events['instanceReady'] = 'function (evt) { + alert("Loaded second editor: " + evt.editor.name); +}'; + +// Create the second instance. +$CKEditor->editor("editor2", $initialValue, $config, $events); +?> + <p> + <input type="submit" value="Submit"/> + </p> + </form> + <div id="footer"> + <hr /> + <p> + CKEditor - The text editor for the Internet - <a class="samples" href="http://ckeditor.com/">http://ckeditor.com</a> + </p> + <p id="copy"> + Copyright © 2003-2013, <a class="samples" href="http://cksource.com/">CKSource</a> - Frederico + Knabben. All rights reserved. + </p> + </div> +</body> +</html>