Mercurial > hg > rr-repo
comparison 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 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:ff03f76ab3fe |
---|---|
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | |
2 <!-- | |
3 Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. | |
4 For licensing, see LICENSE.html or http://ckeditor.com/license | |
5 --> | |
6 <html xmlns="http://www.w3.org/1999/xhtml"> | |
7 <head> | |
8 <title>Adding Event Handlers — CKEditor Sample</title> | |
9 <meta content="text/html; charset=utf-8" http-equiv="content-type"/> | |
10 <link href="../sample.css" rel="stylesheet" type="text/css"/> | |
11 </head> | |
12 <body> | |
13 <h1 class="samples"> | |
14 CKEditor Sample — Adding Event Handlers | |
15 </h1> | |
16 <div class="description"> | |
17 <p> | |
18 This sample shows how to add event handlers to CKEditor with PHP. | |
19 </p> | |
20 <p> | |
21 A snippet of the configuration code can be seen below; check the source code of this page for | |
22 the full definition: | |
23 </p> | |
24 <pre class="samples"><?php | |
25 // Include the CKEditor class. | |
26 include("ckeditor/ckeditor.php"); | |
27 | |
28 // Create a class instance. | |
29 $CKEditor = new CKEditor(); | |
30 | |
31 // Path to the CKEditor directory. | |
32 $CKEditor->basePath = '/ckeditor/'; | |
33 | |
34 // The initial value to be displayed in the editor. | |
35 $initialValue = 'This is some sample text.'; | |
36 | |
37 // Add event handler, <em>instanceReady</em> is fired when editor is loaded. | |
38 $CKEditor-><strong>addEventHandler</strong>('instanceReady', 'function (evt) { | |
39 alert("Loaded editor: " + evt.editor.name); | |
40 }'); | |
41 | |
42 // Create an editor instance. | |
43 $CKEditor->editor("editor1", $initialValue); | |
44 </pre> | |
45 </div> | |
46 <!-- This <div> holds alert messages to be display in the sample page. --> | |
47 <div id="alerts"> | |
48 <noscript> | |
49 <p> | |
50 <strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript | |
51 support, like yours, you should still see the contents (HTML data) and you should | |
52 be able to edit it normally, without a rich editor interface. | |
53 </p> | |
54 </noscript> | |
55 </div> | |
56 <form action="../sample_posteddata.php" method="post"> | |
57 <label>Editor 1:</label> | |
58 <?php | |
59 | |
60 /** | |
61 * Adds a global event, will hide the "Target" tab in the "Link" dialog window in all instances. | |
62 */ | |
63 function CKEditorHideLinkTargetTab(&$CKEditor) { | |
64 | |
65 $function = 'function (ev) { | |
66 // Take the dialog window name and its definition from the event data. | |
67 var dialogName = ev.data.name; | |
68 var dialogDefinition = ev.data.definition; | |
69 | |
70 // Check if the definition comes from the "Link" dialog window. | |
71 if ( dialogName == "link" ) | |
72 dialogDefinition.removeContents("target") | |
73 }'; | |
74 | |
75 $CKEditor->addGlobalEventHandler('dialogDefinition', $function); | |
76 } | |
77 | |
78 /** | |
79 * Adds a global event, will notify about an open dialog window. | |
80 */ | |
81 function CKEditorNotifyAboutOpenedDialog(&$CKEditor) { | |
82 $function = 'function (evt) { | |
83 alert("Loading a dialog window: " + evt.data.name); | |
84 }'; | |
85 | |
86 $CKEditor->addGlobalEventHandler('dialogDefinition', $function); | |
87 } | |
88 | |
89 // Include the CKEditor class. | |
90 include("../../ckeditor.php"); | |
91 | |
92 // Create a class instance. | |
93 $CKEditor = new CKEditor(); | |
94 | |
95 // Set a configuration option for all editors. | |
96 $CKEditor->config['width'] = 750; | |
97 | |
98 // Path to the CKEditor directory, ideally use an absolute path instead of a relative dir. | |
99 // $CKEditor->basePath = '/ckeditor/' | |
100 // If not set, CKEditor will try to detect the correct path. | |
101 $CKEditor->basePath = '../../'; | |
102 | |
103 // The initial value to be displayed in the editor. | |
104 $initialValue = '<p>This is some <strong>sample text</strong>. You are using <a href="http://ckeditor.com/">CKEditor</a>.</p>'; | |
105 | |
106 // Event that will be handled only by the first editor. | |
107 $CKEditor->addEventHandler('instanceReady', 'function (evt) { | |
108 alert("Loaded editor: " + evt.editor.name); | |
109 }'); | |
110 | |
111 // Create the first instance. | |
112 $CKEditor->editor("editor1", $initialValue); | |
113 | |
114 // Clear event handlers. Instances that will be created later will not have | |
115 // the 'instanceReady' listener defined a couple of lines above. | |
116 $CKEditor->clearEventHandlers(); | |
117 ?> | |
118 <br /> | |
119 <label>Editor 2:</label> | |
120 <?php | |
121 // Configuration that will only be used by the second editor. | |
122 $config['width'] = '600'; | |
123 $config['toolbar'] = 'Basic'; | |
124 | |
125 // Add some global event handlers (for all editors). | |
126 CKEditorHideLinkTargetTab($CKEditor); | |
127 CKEditorNotifyAboutOpenedDialog($CKEditor); | |
128 | |
129 // Event that will only be handled by the second editor. | |
130 // Instead of calling addEventHandler(), events may be passed as an argument. | |
131 $events['instanceReady'] = 'function (evt) { | |
132 alert("Loaded second editor: " + evt.editor.name); | |
133 }'; | |
134 | |
135 // Create the second instance. | |
136 $CKEditor->editor("editor2", $initialValue, $config, $events); | |
137 ?> | |
138 <p> | |
139 <input type="submit" value="Submit"/> | |
140 </p> | |
141 </form> | |
142 <div id="footer"> | |
143 <hr /> | |
144 <p> | |
145 CKEditor - The text editor for the Internet - <a class="samples" href="http://ckeditor.com/">http://ckeditor.com</a> | |
146 </p> | |
147 <p id="copy"> | |
148 Copyright © 2003-2013, <a class="samples" href="http://cksource.com/">CKSource</a> - Frederico | |
149 Knabben. All rights reserved. | |
150 </p> | |
151 </div> | |
152 </body> | |
153 </html> |