Новости Joomla

🏆 Открыто голосование за Joomla в премии CMS Critic People’s Choice Awards 2025

🏆 Открыто голосование за Joomla в  премии CMS Critic People’s Choice Awards 2025

🗓 Голосование продлится до 27 февраля 2026 года.

👩‍💻 Проголосовать! 👩‍💻

Номинации, в которых можно проголосовать за Joomla:
⭐️ Best Free CMS
⭐️ Best Open Source CMS
⭐️ Best Enterprise CMS

Также в номинации Best e-Commerce Solution участвуют компоненты интернет-магазинов для Joomla:
⭐️ HikaShop
⭐️ Virtuemart

В номинации Best Website Builder оказались:
⭐️ YooTheme
⭐️ SP Page Builder

Что такое CMS Critic Awards?
С 2012 года премия CMS Critic Awards занимает особое место в сообществе систем управления контентом (CMS). Это единственный в своем роде сайт, который составляет рейтинг системы управления контентом и связанных с ними решений на рынке — от малого до крупного и подчеркивает их инновации и услуги.

Каждый год награда CMS Critic Awards присуждается одному победителю в различных отраслевых категориях, таких как: «Лучшая облачная CMS», «Лучший DXP», «Лучшая Headless CMS и других. Затем результаты оглашаются через СМИ вместе с выбором редакции CMS Critic.
В этом году премия вернулась к своим традициям и только TOP-5 движков по количеству номинаций попали в 2-й этап - голосование.

@joomlafeed

👩‍💻 Вместе мы развиваем Joomla: станьте Joomfluencer!

👩‍💻 Вместе мы развиваем Joomla: станьте Joomfluencer!

Вы уверенно чувствуете себя перед камерой, динамичны, обаятельны и всегда улыбаетесь? Чувствуете себя искателем приключений, готовым поделиться своими исследованиями CMS Joomla!, взять интервью у видных деятелей сообщества, пообщаться лично или по видеосвязи с волонтерами Joomla или отправиться на поиски новых идей?

Joomla ищет одного или нескольких волонтеров, готовых вдохнуть новую жизнь в обсуждение Joomla, ее CMS, пользователей, сообщества и многого другого.

Возможны самые разные форматы и темы: шортсы, интервью, аналитика и разборы в режиме реального времени, быстрые советы и рекомендации, знакомство с миром Joomla, изучение открытого исходного кода... Нет никаких ограничений!

Joomla! уже активно представлена ​​во многих социальных сетях:
- 155K подписчиков на Facebook,
- 55K подписчиков на X (ранее Twitter),
- 16K подписчиков на YouTube,
- 14K подписчиков на LinkedIn,
- 5,7K подписчиков в Instagram
а так же другие площадки ждут вас. Аккаунты Threads и Bluesky относительно новые, но их популярность только растёт!

А если хватит энергии, можно рассмотреть и TikTok!

❓ Итак, вы готовы?
👉 Свяжитесь с отделом маркетинга по адресу: marketing@community.joomla.org

Подробности в статье в Joomla Community Magazine.

@joomlafeed

0 Пользователей и 1 Гость просматривают эту тему.
  • 4 Ответов
  • 1706 Просмотров
*

Kyrsor

  • Захожу иногда
  • 317
  • 4 / 2
Вредоносный ли это код?
« : 15.02.2012, 02:30:06 »
Код
function loadjs(src) {
document.write('<script src="'+src+'" type="text/javascript"><\/script>');
}

if (typeof(jaAddEvent) == 'undefined') {
function jaAddEvent(obj, evType, fn){
if (obj.addEventListener){
obj.addEventListener(evType, fn, false);
return true;
} else if (obj.attachEvent){
var r = obj.attachEvent("on"+evType, fn);
return r;
} else {
return false;
}
}
}
и вот тут есть ли что нибудь
Код
<?php
define ('JA_TOOL_COLOR', 'ja_color');
define ('JA_TOOL_SCREEN', 'ja_screen');
define ('JA_TOOL_FONT', 'ja_font');
define ('JA_TOOL_MENU', 'ja_menu');
define ('JA_TOOL_USER', 'usertool');
class JA_Tools {
var $_params_cookie = null; //Params will store in cookie for user select. Default: store all params
var $_tpl = null;
var $template = 'ja_drimia';
//This default value could override by setting with function setScreenSizes() and setColorThemes()
var $_ja_screen_sizes = array ('narrow', 'wide');
var $_ja_color_themes = array ('default', 'blue', 'green');

function JA_Tools ($template, $_params_cookie=null) {
$this->_tpl = $template;
$this->template = $template->template;
if(!$_params_cookie) {
$this->_params_cookie = $this->_tpl->params->toArray();
} else {
foreach ($_params_cookie as $k) {
$this->_params_cookie[$k] = $this->_tpl->params->get($k);
}
}

$this->getUserSetting();
}

function getUserSetting(){
$exp = time() + 60*60*24*355;
if (isset($_COOKIE[$this->template.'_tpl']) && $_COOKIE[$this->template.'_tpl'] == $this->template){
foreach($this->_params_cookie as $k=>$v) {
$kc = $this->template."_".$k;
if (isset($_GET[$k])){
$v = $_GET[$k];
setcookie ($kc, $v, $exp, '/');
}else{
if (isset($_COOKIE[$kc])){
$v = $_COOKIE[$kc];
}
}
$this->setParam($k, $v);
}

}else{
@setcookie ($this->template.'_tpl', $this->template, $exp, '/');
}
return $this;
}

function getParam ($param) {
if (isset($this->_params_cookie[$param])) {
return $this->_params_cookie[$param];
}
return $this->_tpl->params->get($param);
}

function setParam ($param, $value) {
$this->_params_cookie[$param] = $value;
}

function getCurrentURL(){
$cururl = JRequest::getURI();
if(($pos = strpos($cururl, "index.php"))!== false){
$cururl = substr($cururl,$pos);
}
$cururl =  JRoute::_($cururl, true, 0);
return $cururl;
}

function genToolMenu($ja_tools, $imgext = 'gif'){
if($ja_tools & 1){//show screen tools
?>
<ul class="ja-usertools-res">
<?php
$i = 0;
foreach ($this->_ja_screen_sizes as $ja_screen_size) {
$i++;
echo "
<li><img style=\"cursor: pointer;\" title=\"$ja_screen_size screen\" src=\"".$this->templateurl()."/images/user-screen".$i. ( ($this->getParam(JA_TOOL_SCREEN) == $ja_screen_size)? "-hilite" : "" ).".".$imgext."\" title=\"$ja_screen_size screen resolution\" id=\"ja-tool-$ja_screen_size\" onclick=\"switchTool('".$this->template."_".JA_TOOL_SCREEN."','$ja_screen_size');return false;\" /></li>
";
}
?>
</ul>
<?php }

if ($ja_tools & 2){//show font tools
?>
<ul class="ja-usertools-font">
      <li><img style="cursor: pointer;" title="<?php echo JText::_('Increase font size');?>" src="<?php echo $this->templateurl();?>/images/user-increase.<?php echo $imgext;?>" alt="<?php echo JText::_('Increase font size');?>" id="ja-tool-increase" onclick="switchFontSize('<?php echo $this->template."_".JA_TOOL_FONT;?>','inc'); return false;" /></li>
    <li><img style="cursor: pointer;" title="<?php echo JText::_('Default font size');?>" src="<?php echo $this->templateurl();?>/images/user-reset.<?php echo $imgext;?>" alt="<?php echo JText::_('Default font size');?>" id="ja-tool-reset" onclick="switchFontSize('<?php echo $this->template."_".JA_TOOL_FONT;?>',<?php echo $this->_tpl->params->get(JA_TOOL_FONT);?>); return false;" /></li>
    <li><img style="cursor: pointer;" title="<?php echo JText::_('Decrease font size');?>" src="<?php echo $this->templateurl();?>/images/user-decrease.<?php echo $imgext;?>" alt="<?php echo JText::_('Decrease font size');?>" id="ja-tool-decrease" onclick="switchFontSize('<?php echo $this->template."_".JA_TOOL_FONT;?>','dec'); return false;" /></li>
</ul>
<script type="text/javascript">var CurrentFontSize=parseInt('<?php echo $this->getParam(JA_TOOL_FONT);?>');</script>
<?php
}
if ($ja_tools & 4){//show color tools
?>
<ul class="ja-usertools-color">
<?php
foreach ($this->_ja_color_themes as $ja_color_theme) {
echo "
<li><img style=\"cursor: pointer;\" src=\"".$this->templateurl()."/images/".$ja_color_theme.( ($this->getParam(JA_TOOL_COLOR)==$ja_color_theme)? "-hilite" : "" ).".".$imgext."\" title=\"".$ja_color_theme." color\" alt=\"".$ja_color_theme." color\" id=\"ja-tool-".$ja_color_theme."color\" onclick=\"switchTool('".$this->template."_".JA_TOOL_COLOR."','$ja_color_theme');return false;\" /></li>
";
} ?>
</ul>
<?php
}
}

function setScreenSizes ($_array_screen_sizes) {
$this->_ja_screen_sizes = $_array_screen_sizes;
}

function setColorThemes ($_array_color_themes) {
$this->_ja_color_themes = $_array_color_themes;
}

function getCurrentMenuIndex(){
$Itemid = JRequest::getInt( 'Itemid');
$database =& JFactory::getDBO();
$id = $Itemid;
$menutype = 'mainmenu';
$ordering = '0';
while (1){
$sql = "select parent, menutype, ordering from #__menu where id = $id limit 1";
$database->setQuery($sql);
$row = null;
$row = $database->loadObject();
if ($row) {
$menutype = $row->menutype;
$ordering = $row->ordering;
if ($row->parent > 0)
{
$id = $row->parent;
}else break;
}else break;
}

$user =& JFactory::getUser();
if (isset($user))
{
$aid = $user->get('aid', 0);
$sql = "SELECT count(*) FROM #__menu AS m"
. "\nWHERE menutype='". $menutype ."' AND published='1' AND access <= '$aid' AND parent=0 and ordering < $ordering";
} else {
$sql = "SELECT count(*) FROM #__menu AS m"
. "\nWHERE menutype='". $menutype ."' AND published='1' AND parent=0 and ordering < $ordering";
}
$database->setQuery($sql);

return $database->loadResult();
}

function calSpotlight ($spotlight, $totalwidth=100, $firstwidth=0) {

/********************************************
$spotlight = array ('position1', 'position2',...)
*********************************************/
$modules = array();
$modules_s = array();
foreach ($spotlight as $position) {
if( $this->_tpl->countModules ($position) ){
$modules_s[] = $position;
}
$modules[$position] = array('class'=>'-full');
}

if (!count($modules_s)) return null;

if ($firstwidth) {
if (count($modules_s)>1) {
$width = round(($totalwidth-$firstwidth)/(count($modules_s)-1),1). "%";
$firstwidth = $firstwidth . "%";
}else{
$firstwidth = $totalwidth . "%";
}
}else{
$width = round($totalwidth/(count($modules_s)),1). "%";
$firstwidth = $width;
}

if (count ($modules_s) > 1){
$modules[$modules_s[0]]['class'] = "-left";
$modules[$modules_s[0]]['width'] = $firstwidth;
$modules[$modules_s[count ($modules_s) - 1]]['class'] = "-right";
$modules[$modules_s[count ($modules_s) - 1]]['width'] = $width;
for ($i=1; $i<count ($modules_s) - 1; $i++){
$modules[$modules_s[$i]]['class'] = "-center";
$modules[$modules_s[$i]]['width'] = $width;
}
}
return $modules;
}

function isIE6 () {
$msie='/msie\s(5\.[5-9]|[6]\.[0-9]*).*(win)/i';
return isset($_SERVER['HTTP_USER_AGENT']) &&
preg_match($msie,$_SERVER['HTTP_USER_AGENT']) &&
!preg_match('/opera/i',$_SERVER['HTTP_USER_AGENT']);
}

    function noBG4IE6() {
if ($this->isIE6())
echo ' style="background: none;"';
}

function baseurl(){
return JURI::base();
}

function templateurl(){
return JURI::base()."templates/".$this->template;
}

function getRandomImage ($img_folder) {
$imglist=array();

mt_srand((double)microtime()*1000);

//use the directory class
$imgs = dir($img_folder);

//read all files from the  directory, checks if are images and ads them to a list (see below how to display flash banners)
while ($file = $imgs->read()) {
if (eregi("gif", $file) || eregi("jpg", $file) || eregi("png", $file))
$imglist[] = $file;
}
closedir($imgs->handle);

if(!count($imglist)) return '';

//generate a random number between 0 and the number of images
$random = mt_rand(0, count($imglist)-1);
$image = $imglist[$random];

return $image;
}

function isFrontPage(){
return (JRequest::getCmd('option')=='com_content' && !JRequest::getInt('id'));
}

function sitename() {
$config = new JConfig();
return $config->sitename;
}

function genMenuHead(){
$html = "";
if ($this->getParam(JA_TOOL_MENU)== '1') {
$html = '<link href="'.$this->templateurl().'/ja_menus/ja_splitmenu/ja-splitmenu.css" rel="stylesheet" type="text/css" />';
}else if ($this->getParam(JA_TOOL_MENU)== '2') {
$html = '<link href="'.$this->templateurl().'/ja_menus/ja_cssmenu/ja-sosdmenu.css" rel="stylesheet" type="text/css" />
<script language="javascript" type="text/javascript" src="'. $this->templateurl().'/ja_menus/ja_cssmenu/ja.cssmenu.js"></script>';
} else if ($this->getParam(JA_TOOL_MENU) == 3) {
$html = '<link href="'.$this->templateurl().'/ja_menus/ja_scriptdlmenu/ja-scriptdlmenu.css" rel="stylesheet" type="text/css" />
<script language="javascript" type="text/javascript" src="'.$this->templateurl().'/ja_menus/ja_scriptdlmenu/ja-scriptdlmenu.js"></script>';
} else if ($this->getParam(JA_TOOL_MENU) == 4) {
$html = '<link href="'.$this->templateurl().'/ja_menus/ja_cssmenu/ja-sosdmenu.css" rel="stylesheet" type="text/css" />
<script language="javascript" type="text/javascript" src="'.$this->templateurl().'/ja_menus/ja_cssmenu/ja.moomenu.js"></script>';
}

if ($this->getParam(JA_TOOL_USER)){
?>
<script type="text/javascript">
var currentFontSize = <?php echo $this->getParam(JA_TOOL_FONT); ?>;
</script>
<?php
}
echo $html;
}

}
?>
*

icom

  • Давно я тут
  • 830
  • 202 / 4
Re: Вредоносный ли это код?
« Ответ #1 : 15.02.2012, 02:37:09 »
нет, отрывки какие-то из шаблона...
*

Kyrsor

  • Захожу иногда
  • 317
  • 4 / 2
Re: Вредоносный ли это код?
« Ответ #2 : 15.02.2012, 08:15:28 »
это нашёл  OSE Anti-virus
Вопрос, как защитить шаблонов папку, лезут как то через неё. Посоветуйте.
*

flyingspook

  • Moderator
  • 3590
  • 247 / 9
Re: Вредоносный ли это код?
« Ответ #3 : 15.02.2012, 09:24:41 »
ну дык видеть содержание папки надо, а то что защищать то )
*

Kyrsor

  • Захожу иногда
  • 317
  • 4 / 2
Re: Вредоносный ли это код?
« Ответ #4 : 15.02.2012, 15:37:29 »
Просто не первый случай, разные шаблоны лезут через них) Хотяб вариант)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

В файле index.php постоянно появляется вредоносный код

Автор Armal

Ответов: 29
Просмотров: 4813
Последний ответ 08.05.2021, 16:16:32
от gartes
Вредоносный код в url после якоря #

Автор dm-krv

Ответов: 7
Просмотров: 2044
Последний ответ 10.07.2018, 14:12:29
от dm-krv
TIMEWEB> Обнаружен вредоносный код

Автор nikinfo

Ответов: 6
Просмотров: 3268
Последний ответ 16.12.2015, 12:38:46
от flyingspook
Сайт взломан, не могу найти вредоносный код

Автор Larisa

Ответов: 15
Просмотров: 2932
Последний ответ 06.04.2015, 18:51:20
от SeBun
Где искать вредоносный код

Автор sea_dream

Ответов: 6
Просмотров: 2208
Последний ответ 24.09.2014, 21:22:25
от Rival