function AdminExtensionsInstall()
{
    global $db, $config, $site;
    // Для обратной совместимости
    $count = SafeEnv($_POST['count'], 11, int);
    $new_installed = array();
    for ($i = 0; $i < $count; $i++) {
        if (isset($_POST['install_' . $i])) {
            $type = $_POST['type_' . $i];
            $folder = RealPath2($_POST['folder_' . $i], 255, str);
            switch ($type) {
                case EXT_PLUGIN:
                    $group = '';
                    $group_info = null;
                    if (isset($_POST['group_' . $i])) {
                        $group = $_POST['group_' . $i];
                        $group_info = ExtLoadInfo(System::config('plug_dir') . $group);
                    }
                    $path = RealPath2(System::config('plug_dir') . $group . '/' . $folder);
                    $info = ExtLoadInfo($path, $group_info);
                    if ($info === false) {
                        continue;
                    }
                    if (isset($info['1.3'])) {
                        // Установка старой версии плагина
                        $function = '';
                        if (isset($info['function'])) {
                            $function = $info['function'];
                        }
                        $type = '';
                        if (isset($info['function'])) {
                            $type = $info['function'];
                        }
                        ExtAddPlugin($group, $folder, $info['function'], $info['type']);
                        if (is_file($path . '/install.php')) {
                            require $path . '/install.php';
                        }
                        $new_installed[] = $info;
                    } else {
                        if (is_file($path . '/install.php')) {
                            // Наличие install.php обязательно
                            require $path . '/install.php';
                            $new_installed[] = $info;
                        }
                    }
                    Audit('Расширения: Установка плагина: ' . $group . '/' . $folder);
                    break;
                case EXT_BLOCK:
                    $path = RealPath2(System::config('blocks_dir') . $folder);
                    $info = ExtLoadInfo($path);
                    if ($info === false) {
                        continue;
                    }
                    require $path . '/install.php';
                    $new_installed[] = $info;
                    Audit('Расширения: Установка блока: ' . $folder);
                    break;
                case EXT_MODULE:
                    $path = RealPath2(System::config('mod_dir') . $folder);
                    $info = ExtLoadInfo($path);
                    if ($info === false) {
                        continue;
                    }
                    require $path . '/install.php';
                    if (isset($info['1.3'])) {
                        // Добавляем пункт меню
                        $folder = SafeEnv($folder, 255, str);
                        $mod_name = SafeEnv($info['name'], 255, str);
                        AdminMenuAddModule($mod_name, $folder);
                    }
                    $new_installed[] = $info;
                    Audit('Расширения: Установка модуля: ' . $folder);
                    break;
                case EXT_TEMPLATE:
                    // Установка тем оформления происходит автоматически
                    $path = RealPath2(System::config('tpl_dir') . $folder);
                    $info = ExtLoadInfo($path);
                    if ($info === false) {
                        $info = array('name' => $folder, 'description' => '', 'author' => '', 'site' => '', 'version' => '1.0', 'admin' => false);
                    }
                    $admin = isset($info['admin']) && $info['admin'] ? '1' : '0';
                    ExtAddTemplate($info['name'], $folder, $admin);
                    $new_installed[] = $info;
                    Audit('Расширения: Установка шаблона: ' . $folder);
                    break;
            }
        }
    }
    $html = '';
    $html .= '<div style="border: 1px #cfcfcf solid; width: 50%; background-color: #fff; margin-bottom: 5px;">';
    if (count($new_installed) > 0) {
        foreach ($new_installed as $info) {
            $html .= Indent('
				<table style="width: 100%;">
					<tr>
						<td style="padding: 5px;">' . SafeDB($info['name'], 255, str) . '</td>
						<td style="width: 120px; padding: 5px;"><img src="images/admin/accept.png" style="vertical-align: middle;" /> Установлено</td>
					</tr>
				</table>
			');
        }
        $html .= '</div>' . System::admin()->Button('Назад', 'onclick="history.go(-1);"') . System::admin()->Button('Далее', "onclick=\"Admin.LoadPage('" . ADMIN_FILE . "?exe=extensions');\"");
        System::cache()->Clear('config');
    } else {
        $html .= '<div style="padding:  5px;">Вы не выбрали расширения для установки. Нажмите "назад" и отметьте галочками расширения которые нужно установить.</div>';
        $html .= '</div>' . System::admin()->Button('Назад', 'onclick="history.go(-1);"');
    }
    System::admin()->AddTextBox('Установка расширений', $html);
}
<?php

/*
 * LinkorCMS 1.4
 * � 2012 LinkorCMS Development Group
 */
ExtAddPlugin('userblock', 'test', '', PLUG_MANUAL);