Tag: php
Add TinyMCE to author description in Wordpress
Ok, second chance to me, after the Restrict authors access to edit comments plugin I did the second one.
I think that the name is quite explicative: I wanted to add the wysiwyg to the user description .
-
<?php
-
/*
-
Plugin Name: Add TinyMce to Author Profile
-
Plugin URI: http://www.laboratoriocaffeina.it/development/2007/08/22/add-tinymce-to-author-description-in-wordpress.html
-
Description: Adds WYSIWYG to Author profile
-
Version: 0.1
-
Author: cedmax
-
Author URI: http://www.dioblog.it
-
*/
-
-
add_action('admin_head', 'add_tinymce');
-
}
-
-
remove_filter('pre_user_description', 'wp_filter_kses');
-
add_filter('pre_user_description', 'wpautop');
-
-
function add_tinymce() {?>
-
-
<script type="text/javascript" src="<?php echo get_settings('home'); ?>/wp-includes/js/tinymce/tiny_mce_gzip.php?ver=20070326"></script>
-
<script type="text/javascript">
-
//<![CDATA[
-
-
function brstonewline(element_id, html, body) {
-
html = html.replace(/<br\s*\/>/gi, '\n');;
-
return html;
-
}
-
-
function insertHTML(html) {
-
tinyMCE.execCommand('mceInsertContent',false, html);
-
}
-
-
tinyMCE.init({
-
mode : "exact",
-
elements : "description",
-
theme : "advanced",
-
theme_advanced_buttons1 : "bold,italic,underline,separator,strikethrough,undo,redo,link,unlink",
-
force_p_newlines : false,
-
force_br_newlines : true,
-
gecko_spellcheck : true,
-
theme_advanced_buttons2 : "",
-
theme_advanced_buttons3 : "",
-
theme_advanced_toolbar_location : "top",
-
theme_advanced_toolbar_align : "left",
-
save_callback : "brstonewline",
-
height : "300",
-
extended_valid_elements : "a[name|href|title],font[face|size|color|style],span[class|align|style]"
-
});
-
//]]>
-
</script>
-
-
<?php } ?>
INSTRUCTION:
download v.0.1 and copy the file into wp-content/plugins.
activate it.
Now you should see in the edit user details the wysiwyg editor.
You can manage to modify TinyMCE script, following instruction
Hope you like it
tested on wordpress 2.2
IN ORDER TO LET IT WORK IN 2.5
replace this part of code:
-
function add_tinymce() {?>
-
-
<script type="text/javascript" src="<?php echo get_settings('home'); ?>/wp-includes/js/tinymce/tiny_mce_gzip.php?ver=20070326"></script>
-
<script type="text/javascript">
-
//<![CDATA[
-
-
function brstonewline(element_id, html, body) {
-
html = html.replace(/<br\s*\/>/gi, '\n');;
-
return html;
-
}
-
-
function insertHTML(html) {
-
tinyMCE.execCommand('mceInsertContent',false, html);
-
}
-
-
tinyMCE.init({
-
mode : "exact",
-
elements : "description",
-
theme : "advanced",
-
theme_advanced_buttons1 : "bold,italic,underline,separator,strikethrough,undo,redo,link,unlink",
-
force_p_newlines : false,
-
force_br_newlines : true,
-
gecko_spellcheck : true,
-
theme_advanced_buttons2 : "",
-
theme_advanced_buttons3 : "",
-
theme_advanced_toolbar_location : "top",
-
theme_advanced_toolbar_align : "left",
-
save_callback : "brstonewline",
-
height : "300",
-
extended_valid_elements : "a[name|href|title],font[face|size|color|style],span[class|align|style]"
-
});
-
//]]>
-
</script>
-
<?php } ?>
with this:
-
function add_tinymce() {?>
-
-
<script type="text/javascript" src="<?php echo get_settings('home'); ?>/wp-admin/js/editor.js?ver=20080325"></script>
-
-
<script type="text/javascript" src="<?php echo get_settings('home'); ?>/wp-includes/js/tinymce/tiny_mce_config.php?ver=20080327"></script>
-
<script type="text/javascript">
-
//<![CDATA[
-
window.onload= function() {
-
tinyMCE.execCommand("mceAddControl", false, "description");
-
}
-
// ]]>
-
-
</script>
-
-
<?php } ?>
Restrict authors access to edit comments, the plugin
It's my first wordpress plugin, please be kind ;-)
I've noticed that in wordpress (surely 2.2, not tested on previous, so please tell me if it works) there's no capability separation for editing post and comments (on their post). Even using the Role Manager Plugin.
from wordpress codex:
Manage->Comments -- meaning: "show post"-link; "edit post"-, "edit comment"- and "delete comment"-links only on own posts since edit-comment.php (http://trac.wordpress.org/file/trunk/wp-admin/edit-comments.php) looks for "current_user_can('edit_post', $comment->comment_post_ID)"'
I run a lot of multiple authors blogs and sometimes I need only administrators to edit comments (and I'm not the only one).
So I developed this:
-
<?php
-
/*
-
Plugin Name: Restrict author access to edit comments
-
Plugin URI: http://www.laboratoriocaffeina.it/development/2007/07/20/restrict-authors-access-to-edit-comments-the-plugin.html
-
Description: Block author access to edit comments, leave it only for admin and editors
-
Version: 0.3
-
Author: cedmax
-
Author URI: http://www.dioblog.it
-
*/
-
-
function check_user_capabilities() {
-
global $user_level;
-
-
-
if ($user_level <9){
-
echo "<div class='wrap'><h2>Restricted area</h2></div>";
-
include('admin-footer.php');
-
-
}
-
}
-
}
-
-
add_action('init', 'check_user_capabilities');
-
-
?>
update
thanks to brad I found out that the direct edit comment link in wordpress points to comments.php and not to edit-comments.php.
so I've changed the script.
update 2
Thanks to Fred (sorry I didn't understand immediatly) and Claus I spotted out another error in version 0.2
Now I've done the v.0.3 changing the hook function: now it works not on the content but on the initialization of the page, so it is not possible for the author to work on comments at all. thanks to everyone :-)
simply download v.0.3, unzip, put the .php file under wp-contents/plugins and activate it from wordpress plugins panel.
Css Naked Day ‘07
siete pronti a spogliarvi?
il 5 aprile sarà il giorno del css naked day.
noi probabilmente (se diego è d'accordo) svestiremo qualche nostro blog, chi farà lo stesso?
è abbastanza semplice:
basta inserire la funzione is_naked_day()
e il seguente codice al posto del link al css (previo cambiare percorso del file, ovviamente)
-
<?php
-
if ( is_naked_day() ) {
-
echo "<!--
-
It's Naked Day didn't ya know it
-
See http://naked.dustindiaz.com for more information
-
-->";
-
}
-
else {
-
?>
-
<style type="text/css">
-
<!--
-
@import"/css/your_style_sheet.css";
-
-->
-
</style>
-
<?php
-
}
-
?>
eventualmente si può anche inserire questo per spiegare ai propri utenti cos'è successo:
-
<h3>What happened to the design?</h3>
-
<p>To know more about why styles are disabled on this website visit the
-
<a href="http://naked.dustindiaz.com" title="Web Standards Naked Day Host Website">
-
Annual CSS Naked Day</a> website for more information.</p>
se invece usate wordpress c'è il naked day plugin
edit
se avete 10000 css caricati da dei plugin c'è anche naked day plugin noscript
