Запрос ЦеныЗапрос Цены
Онлайн ЧатОнлайн Чат
Зона КлиентовЗона Клиентов
КонтактыКонтакты
Скрыть
Live Support
Sales department
Technical Support
Как написать свой собственный плагин для cPanel

Для того чтобы написать свой плагин для cPanel не обязательно быть системным администратором или гуру cPanel. Любой, кто может писать код на PHP, может с лёгкостью выполнить эту задачу. Наш первый плагин был написан за один день. При помощи этого практического руководства вы сможете это сделать примерно за 20 минут. Давайте начнём.

Чтобы начать работу над плагином, надо для начала придумать хорошую идею. Если у вас нет хорошей идеи – не тратьте времени. В этом руководстве нашей идеей было создание магической кнопки, которая покажет «Первый плагин для cPanel», когда вы на неё кликнете.

Нам также потребуется выбрать название для плагина. Нарисуйте иконку для него и выберете группу из меню cPanel. Теперь мы можем начать программировать. Мы назовём наш плагин «magic_button». Мы не дизайнеры, поэтому выберем иконку с очень полезного сайта: iconfinder.com. Итак, перед нами хорошая иконка для магической кнопки magic button. Помните, что размеры иконки должны составлять 32х32. Какую группу в меню нам выбрать? Давайте выберем пункт «Файлы». Теперь у нас есть всё необходимое для генерации файла инсталляции для нашего плагина. Вы можете использовать для этого онлайн генератор . Мы сгенерировали следующий magic_button.cpanelplugin:

#cpanel plugin file 1.0 (for use with /usr/local/cpanel/bin/register_cpanelplugin)
version: 1.0
name:magic_button
description:magic button plugin
featuremanager:1
url:magic_button/index.php
acontent:
onclick:
if:
itemorder:999
itemdesc:Magic Button
group:files
image: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

Этот файл необходимо загрузить в папку cPanel /usr/local/cpanel/bin и затем зарегистрировать в cPanel. Это можно сделать следующей командой:

/usr/local/cpanel/bin/register_cpanelplugin /usr/local/cpanel/bin magic_button.cpanelplugin.

Когда плагин зарегистрирован, мы можем открыть cPanel и увидеть нашу забавную иконку в меню.
cpanel menu

Однако если мы на неё сейчас кликнем, мы получим сообщение об ошибке «Не найдено». Причина заключается в том, что инсталлятор не создаёт структуру директорий для нас, поэтому нам придётся сделать это вручную. Давайте создадим следующую папку:

mkdir /usr/local/cpanel/base/frontend/x3/magic_button.

Затем создадим скрипт:

touch /usr/local/cpanel/base/frontend/x3/magic_button/index.php.

На данный момент мы можем начать писать скрипт на PHP. При написании плагинов для cPanel необходимо использовать полный PHP тег. Вот код:

<?php
echo "<form name='magicform' id='magic' method='post'>
 <input value='magic' name='action' type='hidden'>
 <input class='input-button' value='Do the magic' type='submit'>
</form>\n";
if(!empty($_POST['action'])) {
 echo "<h1>First cPanel Plugin!</h1>\n";
}
php?>

Теперь мы можем открыть cPanel https://host:2083/frontend/x3/magic_button/index.php и испробовать наш магический плагин.
magic plugin

Ок, сработало, но как сделать его в стиле cPanel? Для того чтобы наш плагин выглядел как родной для cPanel, необходимо добавить несколько вызовов API в начале и конце скрипта. Полностью код будет выглядеть следующим образом:

<cpanel setvar="headerimg=../images/tools.gif">
<cpanel setvar="dprefix=../">
<cpanel Branding="include(stdheader.html)">
<div>
<style>
<?cp Branding::spritelist(
.spriteicon_img_mini {
 float:left;margin-right:5px;
 background: url\{leftparenthesis}%\{rightparenthesis};
 }
 %,spriteurl,images::#icon-${img}_mini 
 {background-position\{colon}0 -${cssposition}px;
 width\{colon}${width}px;height\{colon}${height}px; }:)
 imgtype=icon,subtype=img,method=scale_60percent,format=png,img=hd ?>
</style>
<div id="h1Title">
<div id="icon-hd_mini"></div>
<cpanel langprint="Magic Button"></div>
<?php
echo "<form name='magicform' id='magic' method='post'>
 <input value='magic' name='action' type='hidden'>
 <input class='input-button' value='Do the magic' type='submit'>
</form>\n";
if(!empty($_POST['action'])) {
 echo "<br><div class='highlight'>First cPanel Plugin!</div>\n";
}
php?>
</div>
<cpanel Branding="include(stdfooter.html)">

cpanel plugin
Конечно, для более сложных плагинов вам придётся обдумать такие вещи как: полноценный инсталлер, систему обновлений и так далее. Вы можете просмотреть официальную документацию и форум, где можно всегда попросить у других пользователей помощи..

Запросить цену
Заполните форму и мы свяжемся с Вами в ближайшее время
Вход для клиентов
Система запросов и другие полезные сервисы для наших клиентов
Свяжитесь с нами
Мы с удовольствием ответим на все ваши вопросы