2023-03-04 23:45:46 +00:00
< ? php
if ( ! DEFINED ( 'EGP' ))
2023-03-05 13:59:34 +00:00
exit ( header ( 'Refresh: 0; URL=http://' . $_SERVER [ 'SERVER_NAME' ] . '/404' ));
2023-03-04 23:45:46 +00:00
2023-03-05 13:59:34 +00:00
$aGame = array (
'cs' => 'Counter-Strike: 1.6' ,
'cssold' => 'Counter-Strike: Source v34' ,
'css' => 'Counter-Strike: Source' ,
'csgo' => 'Counter-Strike: Global Offensive'
);
2023-03-04 23:45:46 +00:00
2023-03-05 13:59:34 +00:00
if ( ! isset ( $url [ 'game' ]) || ! array_key_exists ( $url [ 'game' ], $aGame ))
$url [ 'game' ] = 'cs' ;
$title = 'Доступные плагины для установки' ;
include ( LIB . 'games/plugins.php' );
if ( $id )
{
$sql -> query ( 'SELECT `upd` FROM `plugins` WHERE `id`="' . $id . '" LIMIT 1' );
if ( ! $sql -> num ())
sys :: back ( $cfg [ 'http' ] . 'plugins/game/' . $url [ 'game' ]);
$update = $sql -> get ();
$sqlq = '`name`, `info`, `desc`, `images`, `upd`' ;
// Если установленно обновление
if ( $update [ 'upd' ])
{
$sql -> query ( 'SELECT ' . $sqlq . ' FROM `plugins_update` WHERE `id`="' . $update [ 'upd' ] . '" LIMIT 1' );
if ( ! $sql -> num ())
$sql -> query ( 'SELECT ' . $sqlq . ' FROM `plugins` WHERE `id`="' . $id . '" LIMIT 1' );
} else
$sql -> query ( 'SELECT ' . $sqlq . ' FROM `plugins` WHERE `id`="' . $id . '" LIMIT 1' );
2023-03-04 23:45:46 +00:00
2023-03-05 13:59:34 +00:00
$plugin = $sql -> get ();
2023-03-04 23:45:46 +00:00
2023-03-05 13:59:34 +00:00
$sql -> query ( 'SELECT `id`, `file` FROM `plugins_config` WHERE (`plugin`="' . $id . '" AND `update`="0") OR (`plugin`="' . $id . '" AND `update`="' . $update [ 'upd' ] . '") ORDER BY `sort`, `id` ASC' );
while ( $config = $sql -> get ())
{
// Исключить дублирование, путем проверки массива файлов
if ( in_array ( $config [ 'file' ], $aConf ))
continue ;
2023-03-04 23:45:46 +00:00
2023-03-05 13:59:34 +00:00
$aConf [] = $config [ 'file' ];
// Данные файла
$file = explode ( '/' , $config [ 'file' ]);
2023-03-04 23:45:46 +00:00
2023-03-05 13:59:34 +00:00
$html -> get ( 'config_list' , 'sections/plugins' );
2023-03-04 23:45:46 +00:00
2023-03-05 13:59:34 +00:00
$html -> set ( 'game' , $url [ 'game' ]);
$html -> set ( 'fid' , $config [ 'id' ]);
$html -> set ( 'name' , end ( $file ));
$html -> set ( 'file' , $config [ 'file' ]);
2023-03-04 23:45:46 +00:00
2023-03-05 13:59:34 +00:00
$html -> pack ( 'configs' );
}
2023-03-04 23:45:46 +00:00
2023-03-05 13:59:34 +00:00
$images = plugins :: images ( $plugin [ 'images' ], $pid );
2023-03-04 23:45:46 +00:00
2023-03-05 13:59:34 +00:00
$html -> get ( 'configs' , 'sections/plugins' );
2023-03-04 23:45:46 +00:00
2023-03-05 13:59:34 +00:00
$html -> set ( 'game' , $url [ 'game' ]);
$html -> set ( 'name' , $plugin [ 'name' ]);
$html -> set ( 'info' , htmlspecialchars_decode ( $plugin [ 'info' ]));
$html -> set ( 'desc' , htmlspecialchars_decode ( $plugin [ 'desc' ]));
2023-03-04 23:45:46 +00:00
2023-03-05 13:59:34 +00:00
// Картинки
if ( ! empty ( $images ))
{
$html -> unit ( 'images' , 1 );
$html -> set ( 'images' , $images );
} else
$html -> unit ( 'images' );
2023-03-04 23:45:46 +00:00
2023-03-05 13:59:34 +00:00
// Редактируемые файлы
if ( isset ( $html -> arr [ 'configs' ]))
{
$html -> set ( 'configs' , $html -> arr [ 'configs' ]);
$html -> unit ( 'configs' , 1 );
} else
$html -> unit ( 'configs' );
2023-03-04 23:45:46 +00:00
2023-03-05 13:59:34 +00:00
$html -> pack ( 'main' );
2023-03-04 23:45:46 +00:00
2023-03-05 13:59:34 +00:00
$plugin [ 'name' ] = strip_tags ( $plugin [ 'name' ]);
2023-03-04 23:45:46 +00:00
2023-03-05 13:59:34 +00:00
$title = $plugin [ 'name' ];
$html -> nav ( 'Доступные плагины для установки' , $cfg [ 'http' ] . 'plugins/game/' . $url [ 'game' ]);
$html -> nav ( $plugin [ 'name' ]);
}
2023-03-04 23:45:46 +00:00
2023-03-05 13:59:34 +00:00
if ( ! isset ( $html -> arr [ 'main' ]))
{
$html -> nav ( 'Доступные плагины для установки' );
2023-03-04 23:45:46 +00:00
2023-03-05 13:59:34 +00:00
// Если есть кеш
if ( $mcache -> get ( 'plugins_list_view_' . $url [ 'game' ]) != '' )
$html -> arr [ 'main' ] = $mcache -> get ( 'plugins_list_view_' . $url [ 'game' ]);
else {
// Категории
$cats = $sql -> query ( 'SELECT `id`, `name` FROM `plugins_category` WHERE `game`="' . $url [ 'game' ] . '" ORDER BY `sort` ASC' );
while ( $cat = $sql -> get ( $cats ))
{
// Плагины
$plugins = $sql -> query ( 'SELECT `id`, `name`, `desc`, `images`, `status`, `upd`, `packs` FROM `plugins` WHERE `cat`="' . $cat [ 'id' ] . '" ORDER BY `sort`, `id` ASC' );
while ( $plugin = $sql -> get ( $plugins ))
{
// Проверка наличия обновленной версии плагина
if ( $plugin [ 'upd' ])
{
$idp = $plugin [ 'id' ];
2023-03-04 23:45:46 +00:00
2023-03-05 13:59:34 +00:00
$sql -> query ( 'SELECT `name`, `desc`, `images`, `status`, `packs` FROM `plugins_update` WHERE `plugin`="' . $plugin [ 'id' ] . '" ORDER BY `id` DESC LIMIT 1' );
if ( $sql -> num ())
{
$plugin = $sql -> get ();
2023-03-04 23:45:46 +00:00
2023-03-05 13:59:34 +00:00
$plugin [ 'id' ] = $idp ;
} else
$plugin [ 'upd' ] = 0 ;
}
2023-03-04 23:45:46 +00:00
2023-03-05 13:59:34 +00:00
$images = plugins :: images ( $plugin [ 'images' ], $plugin [ 'id' ]);
// Шаблон плагина
$html -> get ( 'plugin' , 'sections/plugins' );
2023-03-04 23:45:46 +00:00
2023-03-05 13:59:34 +00:00
$html -> set ( 'plugin' , $plugin [ 'id' ]);
$html -> set ( 'game' , $url [ 'game' ]);
2023-03-04 23:45:46 +00:00
2023-03-05 13:59:34 +00:00
plugins :: status ( $plugin [ 'status' ]);
2023-03-04 23:45:46 +00:00
2023-03-05 13:59:34 +00:00
$html -> set ( 'name' , htmlspecialchars_decode ( $plugin [ 'name' ]));
$html -> set ( 'desc' , htmlspecialchars_decode ( $plugin [ 'desc' ]));
2023-03-04 23:45:46 +00:00
2023-03-05 13:59:34 +00:00
if ( ! empty ( $images ))
{
$html -> unit ( 'images' , 1 );
$html -> set ( 'images' , $images );
} else
$html -> unit ( 'images' );
2023-03-04 23:45:46 +00:00
2023-03-05 13:59:34 +00:00
$html -> pack ( 'plugins' );
}
// Шаблон блока плагинов
$html -> get ( 'category' , 'sections/plugins' );
$html -> set ( 'name' , $cat [ 'name' ]);
$html -> set ( 'plugins' , isset ( $html -> arr [ 'plugins' ]) ? $html -> arr [ 'plugins' ] : 'Доступных для установки плагинов нет.' , 1 );
$html -> pack ( 'addons' );
}
2023-03-04 23:45:46 +00:00
2023-03-05 13:59:34 +00:00
$html -> get ( 'plugins' , 'sections/plugins' );
$html -> set ( 'game' , $aGame [ $url [ 'game' ]]);
$html -> set ( 'addons' , isset ( $html -> arr [ 'addons' ]) ? $html -> arr [ 'addons' ] : '' );
$html -> pack ( 'main' );
$mcache -> set ( 'plugins_list_view_' . $url [ 'game' ], $html -> arr [ 'main' ], false , 60 );
}
}
2023-03-04 23:45:46 +00:00
?>