92An Warez Forum

商业资源,站长论坛,vBulletin中文非官方站长交流站-"互联网只有分享才有进步"

 

Adding EditArea for Template & Plugin Editing Mod Information 0.1

你看到的是 vBulletin 3.7.X 英文插件 版面中的一个主题 Adding EditArea for Template & Plugin Editing Mod Information 0.1, 一级版面 vBulletin 3.7.X 专版 ;


返回   92An.CoM Warez Forum > vBulletin 3.7.X 专版 > vBulletin 3.7.X 英文插件
注册账号 论坛规则 论坛帮助 日历事件 搜索 今日新帖 标记版面已读

发表新主题  回复

 

主题工具

Adding EditArea for Template & Plugin Editing Mod Information 0.1 详细 »»

Adding EditArea for Template & Plugin Editing Mod Information 0.1
版本: , by Xiao.T (92AN-站长) Xiao.T 当前在线
开发者上次在线: Nov 2008 显示可打印版本 邮寄本页给好友

分类: [3.7.X] 版本: 未知 评分:
释出: 2008-04-06 上次更新: 从未 安装: 0
 
没有作者支持.

This isnt a Plugin or Mod, but a collection of code changes to allow the use of Edit Area to edit vbulletin templates and in the plugin code editor areas.

http://cdolivet.net/editarea/
Edit area
Here is EditArea, a free javascript editor for source code. (That is no way a WYSIWYG editor).
This editor is designed to edit souce code files in a textarea. The main goal is to allow text formatting, search and replace and real-time syntax highlight (for small text).
Download the zip file from the website above and unpack the zip file. Upload the edit_area folder into your /clientscript/ directory in your vbb installation. (See additional instructions at the bottom). You should now have a /clientscript/edit_area folder with files such as edit_area.css , edit_area.js and so on in it. Be sure that you also uploaded the images, langs, plugs and reg_syntax folders.


This requires changes to two files, one of them being optional.

The first file to edit is the includes/adminfunctions.php file
Using the UNMODIFIED 3.7.0 beta 2 version (Unsure of actual locations of the code in 3.6.8 and ealier versions, but the edits are basicly the same)

The first edit is adding the javascript to the page.
Open up the file includes/adminfunctions.php and look for the first
代码:
<script type=\"text/javascript\">
It should be around line 295.

Before that line, add
代码:
<script language=\"Javascript\" type=\"text/javascript\" src=\"../clientscript/edit_area/edit_area_full.js\"></script>
*Read http://cdolivet.net/editarea/editarea/docs/include.html for advanced options.

Now, we will look for the function print_textarea_row which starts around line 894

This is where the majority of the code changes are.

Comment out line 915 (add // infront of the line)
代码:
$resizer = "<div class=\"smallfont\"><a href=\"#\" $ie_reflow_css onclick=\"return resize_textarea(1, '{$vbulletin->textarea_id}')\">$vbphrase[increase_size]</a> <a href=\"#\" $ie_reflow_css onclick=\"return resize_textarea(-1, '{$vbulletin->textarea_id}')\">$vbphrase[decrease_size]</a></div>";
And then add the following code after the line you just commented out.
代码:
    if (!$doeditbutton OR strpos($name,'[') !== false)    {        $javascript_source = '';    } else {        $javascript_source = '            <script language="Javascript" type="text/javascript">                // initialisation                editAreaLoader.init({                    id: "'.$vbulletin->textarea_id.'"                    ,language: "en"                    ,syntax: "html"                    ,start_highlight: true	                    ,font_size: "8"                    ,font_family: "verdana, monospace"                    ,allow_resize: "both"                    ,allow_toggle: true                    ,replace_tab_by_spaces: 4                    ,min_height: 350                    ,syntax_selection_allow: "css,html,js,php,xml"                    ,toolbar: " search, go_to_line,fullscreen, |, undo, redo, |, select_font,|, syntax_selection, |, change_smooth_selection, highlight, reset_highlight, |, help"                });	            </script>        ';    }
Please read up on http://cdolivet.net/editarea/editare...iguration.html to adjust some of the settings to your new editor interface

The last change in this file is a few lines down from the code you just pasted. Should be line 943.

Add
代码:
 $javascript_source.
to the begining of the following line
HTML 代码:
"<div id=\"ctrl_$name\"><textarea name=\"$name\" id=\"{$vbulletin->textarea_id}\"" . iif($textareaclass, " class=\"$textareaclass\"") . " rows=\"$rows\" cols=\"$cols\" wrap=\"virtual\" dir=\"$direction\" tabindex=\"1\"" . iif($vbulletin->debug, " title=\"name=&quot;$name&quot;\"") . ">" . iif($htmlise, htmlspecialchars_uni($value), $value) . "</textarea>$resizer</div>",
It should look like
HTML 代码:
 $javascript_source . "<div id=\"ctrl_$name\"> ...
Save and close this file!

Right now, the template editor usable and with a full screen option built into it, you shouldnt need a reason to use the Large Edit Box option. However, those changes are also quite easy to do so i will add those.

Open up the file admincp/textarea.php

On line 48,
HTML 代码:
opener.document.getElementsByName('<?php echo $vbulletin->GPC['name']; ?>')[0].value = textarea.value;
Change too
HTML 代码:
opener.document.getElementsByName('<?php echo $vbulletin->GPC['name']; ?>')[0].value = editAreaLoader.getValue("popuptextarea");
Before the closing </head> tag, add
HTML 代码:
<script language="Javascript" type="text/javascript" src="/clientscript/edit_area/edit_area_full.js"></script> 
*Read http://cdolivet.net/editarea/editarea/docs/include.html for advanced options.

Replace the existing <body> tag (the entire line) with the following
HTML 代码:
<body onload="self.focus(); editAreaLoader.setValue('popuptextarea', opener.editAreaLoader.getValue('<?php echo $vbulletin->GPC['name']; ?>'));" style="margin:0px"><script language="Javascript" type="text/javascript">    // initialisation    editAreaLoader.init({        id: "popuptextarea"        ,language: "en"        ,syntax: "html"	        ,start_highlight: true	        ,font_size: "8"        ,font_family: "verdana, monospace"        ,allow_resize: "both"        ,allow_toggle: true        ,replace_tab_by_spaces: 4        ,syntax_selection_allow: "css,html,js,php,xml"        ,toolbar: " search, go_to_line, fullscreen, |, undo, redo, |, select_font,|, syntax_selection, |, change_smooth_selection, highlight, reset_highlight, |, help"    });	</script> 
And you're done.


Some screenshots of the result..

**Note:
For whatever reason, you cannot save text from the Large Edit Box into the main window IF you have the Edit Area editor enabled! you MUST uncheck the Toggle Editor checkbox before clicking the Large Edit Box button. If you fail to do that, you may or may not save your changes and you may loose the textarea data all together.

For whatever reasons, while
HTML 代码:
editAreaLoader.setValue('popuptextarea', opener.editAreaLoader.getValue('<?php echo $vbulletin->GPC['name']; ?>'))
works, the reverse
HTML 代码:
opener.editAreaLoader.setValue('<?php echo $vbulletin->GPC['name']; ?>',editAreaLoader.getValue('popuptextarea'));
does not, if anyone knows the secret to getting this to work, please post here!

---------------------------------------
**Addition
In the adminfunctions.php file, the line that we added that says
HTML 代码:
  ,syntax: "html"
change to
HTML 代码:
 ,syntax: "'.$syntax_type.'"
Before the line that reads
HTML 代码:
if (!$doeditbutton OR strpos($name,'[') !== false)
add

HTML 代码:
switch ($name) {    case "installcode":        $syntax_type = "php";        break;    case "uninstallcode":        $syntax_type = "php";        break;    case "phpcode":        $syntax_type = "php";        break;    case "template":        $syntax_type = "html";        break;    default:        $syntax_type = "html";}
Anything in the template editor will default to HTML syntax, anything in the plugin section will default to PHP syntax and anywhere else, HTML syntax.

you can also add other lines here that could disable the javascript editor from showing, one example is adding
HTML 代码:
    case "searchstring":        $doeditbutton = false;        break;
before the default: line and this would disable the EditArea box. An alternative to searching and replacing text in many of the files.

you can also prevent the Large Area Button from being displayed by adding
HTML 代码:
$openwindowbutton = '<div style="width: 150px">&nbsp;</div>';
in whatever case statements you would like (i have it in the install/uninstall, phpcode and template editors along with the default selection).

缩略图

文件类型: jpg Adding EditArea for Template Plugin Editing Mod Information1.jpg (40.0 KB, 1 次查看)
文件类型: jpg Adding EditArea for Template Plugin Editing Mod Information2.jpg (50.3 KB, 1 次查看)
文件类型: jpg Adding EditArea for Template Plugin Editing Mod Information3.jpg (53.3 KB, 1 次查看)
文件类型: jpg Adding EditArea for Template Plugin Editing Mod Information4.jpg (37.8 KB, 1 次查看)
文件类型: jpg Adding EditArea for Template Plugin Editing Mod Information5.jpg (34.9 KB, 2 次查看)

显示你的支持

  • 本插件没有作者的许可,不得自行销售或者另行发布.

Powered by vBulletin® 版本 3.8.0 Beta 3
版权所有 ©2000 - 2008,Jelsoft Enterprises Ltd.
92An 国外源码社区& 92AN Network Studio
CopyRights Reserved © 2008-2009 92AN.COM