Новости 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 Гость просматривают эту тему.
  • 1 Ответов
  • 1978 Просмотров
*

Светлана

  • Захожу иногда
  • 99
  • 7 / 0
Модуль mod_topauthors
« : 11.03.2010, 13:12:24 »
Модуль mod_topauthors выводит авторов сайта, сколько их читают, сколько публикаций и сколько их комментируют. Нужно во втором поле свободном вывести аватар автора, он выводится из таблицы jos_community_users компонента JomSocial из поля thumb, там хранится путь к картинке. В файле mod_topauthors.php нужно сделать запрос к таблице, помогите пож никогда не работала с БД
*

Светлана

  • Захожу иногда
  • 99
  • 7 / 0
Re: Модуль mod_topauthors
« Ответ #1 : 11.03.2010, 13:15:46 »
Вот код файла mod_topauthors.php
Код
<?php
/*
* Top Authors Module 2.0.2
* @ Copyright (C) 2006 - Ryan Rhode http://www.ty2u.com
* @ All rights reserved
* @ Joomla is Free Software
* @ Released under GNU/GPL License : http://www.gnu.org/copyleft/gpl.html
*/
defined('_VALID_MOS') or die('Direct Access to this location is not allowed.');

$numauthors = $params->def('numauth',10);
$displayname = $params->def('displayname','name');
$sortby = $params->def('sortby','articles');
$order = $params->def('order','DESC');
$articletext = $params->def('articletext','Articles');
$hideempty = $params->def('hideempty','hide');
$class_sfx = $params->get('class_sfx');

$num = 50;
$pages = $_GET['pages'];
$pages=htmlspecialchars(stripslashes($pages));
if(empty($pages) or $pages < 0) {$pages = 1; }

if ($numauthors > 0) {

$query = "SELECT *"
. "\n FROM #__users"
. "\n WHERE block = '0' AND usertype<>'Registered'";

$database->setQuery($query);
$rows = $database->loadObjectList();

$i = 0;
$noarticles = 0;

foreach($rows as $row){

if ($i==$numauthors+$noarticles) break;

if($displayname == "name") {
$users[$i]['displayname'] = $row->name;
} else {
$users[$i]['displayname'] = $row->username;
}

$query = "SELECT *"
. "\n FROM #__content"
. "\n WHERE state = '1'"
. "\n AND sectionid <> '0'"
. "\n AND created_by = ". $row->id
. "\n AND LOCATE('show_author=0',attribs)=0";

$database->setQuery($query);
$articles = $database->query();
$art_count=$database->getNumRows($articles);
$users[$i]['articles'] = $art_count;

$art=$database->loadResultArray();

$comments_sum=0;
for ($j=0;$j<$art_count;$j++)
{

$query = "SELECT COUNT(*)"
. "\n FROM #__jcomments"
. "\n WHERE object_id=".$art[$j];

$database->setQuery($query);
$comments = $database->loadResult();
$comments_sum+=$comments;
}

$users[$i]['comments'] = $comments_sum;

$query = "SELECT SUM(hits)"
. "\n FROM #__content"
. "\n WHERE state = '1'"
. "\n AND sectionid <> '0'"
. "\n AND created_by = ". $row->id
. "\n AND LOCATE('show_author=0',attribs)=0";

$database->setQuery($query);
$hits = $database->loadResult();

$users[$i]['hits'] = $hits;


/* if ($userlist[$i]['articles'] == 0 && $hideempty=="hide") $noarticles++;*/

$i++;

  }

$userlist = sortdata($users, $sortby, $order);

$posts=count($userlist);

$total = intval(($posts - 1) / $num) + 1;
$pages = intval($pages); 
if($pages > $total) {$pages = $total; }
$start = $pages * $num - $num+1;
$finish=$start+$num-1;
//echo $start;exit;

echo "</br><div class=\"topauthors". $class_sfx ."\">
<table style='border:1px solid #cccccc;white-space: nowrap;'>
<tr><th align='center' style='border:1px solid #cccccc;padding:5px;white-space: nowrap;background-color: #c6e7f8;''>#</th>
<th align='center' style='border:1px solid #cccccc;padding:5px;white-space: nowrap;background-color: #c6e7f8;''>&nbsp;</th>
<th align='center' style='border:1px solid #cccccc;padding:5px;white-space: nowrap;background-color: #c6e7f8;''>Автор</th>
<th align='center' style='border:1px solid #cccccc;padding:5px;white-space: nowrap;background-color: #c6e7f8;'>Меня<br>читают</th>
<th align='center' style='border:1px solid #cccccc;padding:5px;white-space: nowrap;background-color: #c6e7f8;''>Мои<br>публикации</th>
<th align='center' style='border:1px solid #cccccc;padding:5px;white-space: nowrap;background-color: #c6e7f8;''>Меня<br>комментируют</th>
<th align='center' style='border:1px solid #cccccc;padding:5px;white-space: nowrap;background-color: #c6e7f8;''>&nbsp;</th></tr>
";

$y = 0;
$shown = 0;
$num = 1;

foreach ($users as $user) {
if ($userlist[$y]['displayname'] == "NewsGrabberJC.Pro") {$y++;continue;}
if ($userlist[$y]['displayname'] == "admin") {$y++;continue;}
if ($userlist[$y]['displayname'] == "ipjack") {$y++;continue;}
if (($num<$start) || ($num>$finish)) {$y++;$num++;continue;}
if ($hideempty == "hide" && $userlist[$y]['articles'] > 0) {

echo "<tr><td style='border:1px solid #cccccc;padding:5px;white-space: nowrap;'>".$num."</td>
<td align='left' style='border:1px solid #cccccc;padding:5px;white-space: nowrap;'>&nbsp;</td>
<td align='left' style='border:1px solid #cccccc;padding:5px;white-space: nowrap;'>".$userlist[$y]['displayname']."</td>
<td align='center' style='border:1px solid #cccccc;padding:5px;white-space: nowrap;'>".$userlist[$y]['hits']."</td>
<td align='center' style='border:1px solid #cccccc;padding:5px;white-space: nowrap;'>".$userlist[$y]['articles']." ".$articletext."</td>
<td align='center' style='border:1px solid #cccccc;padding:5px;white-space: nowrap;'>".$userlist[$y]['comments']."</td>
<td align='center' style='border:1px solid #cccccc;padding:5px;white-space: nowrap;'>&nbsp;</td></tr>";

$shown++;
if ($shown==$numauthors) break;

} elseif ($hideempty == "show" ) {

echo "<tr><td style='border:1px solid #cccccc;padding:5px;white-space: nowrap;'>".$num."</td>
<td align='center' style='border:1px solid #cccccc;padding:5px;white-space: nowrap;'>&nbsp;</td>
<td align='left' style='border:1px solid #cccccc;padding:5px;white-space: nowrap;'>".$userlist[$y]['displayname']."</td>
<td align='center' style='border:1px solid #cccccc;padding:5px;white-space: nowrap;'>".$userlist[$y]['hits']."</td>
<td align='center' style='border:1px solid #cccccc;padding:5px;white-space: nowrap;'>".$userlist[$y]['articles']." ".$articletext."</td>
<td align='center' style='border:1px solid #cccccc;padding:5px;white-space: nowrap;'>".$userlist[$y]['comments']."</td>
<td align='center' style='border:1px solid #cccccc;padding:5px;white-space: nowrap;'>&nbsp;</td></tr>";

$shown++;
if ($shown==$numauthors) break;
}

$y++;
$num++;
}

echo "</table></div>";
echo "<br/>";

$component="authors";
if ($pages != 1) { $pervpage = "<a href=/$component?pages=1><<</a> 
                               <a href=/authors?pages=". ($pages - 1)."><</a> "; }

if ($pages != $total){ $nextpage = " <a href=/$component?pages=".($pages + 1).">></a>
                                   <a href=/$component?pages=".$total.">>></a>"; }
                                   
if($pages - 2 > 0){ $page2left = "<a href=/$component?pages=".($pages - 2).">". ($pages - 2)."</a> | "; }
if($pages - 1 > 0){ $page1left = "<a href=/$component?pages=". ($pages - 1).">". ($pages - 1)."</a> | "; }
if($pages + 2 <= $total){ $page2right = " | <a href=/$component?pages=". ($pages + 2).">". ($pages + 2)."</a>"; }
if($pages + 1 <= $total){ $page1right = " | <a href=/$component?pages=". ($pages + 1).">". ($pages + 1)."</a>";}

echo $pervpage.$page2left.$page1left."<b>".$pages."</b>".$page1right.$page2right.$nextpage; 


}

function sortdata($array, $by, $order){

foreach ($array as $key => $row) {
   $displayname[$key]  = $row['displayname'];
   $articles[$key] = $row['hits'];
}

$displayname_lowercase = array_map('strtolower', $displayname);

if ($by == "author") {

if ($order == "DESC") {
array_multisort($displayname_lowercase, SORT_DESC, SORT_STRING, $array);
} elseif ($order == "ASC"){
array_multisort($displayname_lowercase, SORT_ASC, SORT_STRING, $array);
}

} elseif ($by == "articles") {

if ($order == "DESC"){
array_multisort($articles, SORT_DESC, SORT_NUMERIC, $array);
} elseif ($order == "ASC"){
array_multisort($articles, SORT_ASC, SORT_NUMERIC, $array);
}

}

return $array;
}
?>

А это код файла mod_topauthors.xml
Код
<?xml version="1.0" ?>
<mosinstall type="module">
<name>Top Authors</name>
<creationDate>2 June 2006</creationDate>
<author>Ryan Rhode</author>
<copyright>This module is released under the GNU/GPL License.</copyright>
<authorEmail>admin@ty2u.com</authorEmail>
<authorUrl>http://www.ty2u.com</authorUrl>
<version>2.0.2</version>
<description>
<![CDATA[
<p>This module displays how many articles users have posted.  You can choose how many authors to display and choose to display their real name or their username.</p>
<p>New Features Added in 2.0!</p>
<p>Now you can also choose to sort by the author name, or the number articles they have published.  You can choose to sort the list in ascending or descending order.  You also can change the "Articles" text which shows.  There is the ability to set a class suffix and choose whether to show users who have no articles published.</p>
<p>Changelog:</p>
<p>2.0.2 - Added "Enable Cache" parameter.</p>
<p>2.0.1 - Fixed bug where it wouldn't show number of authors properly when some had no articles.</p>
<p>2.0 - Added many new features and rewrote the whole thing.</p>
<p>Visit <a href="http://www.ty2u.com/" target="_blank">TY2U.com</a> for more Joomla related downloads.</p>
]]>
</description>

<files>
<filename module="mod_topauthors">mod_topauthors.php</filename>
</files>
<params>
<param name="cache" type="radio" default="0" label="Enable Cache" description="Select whether to cache the content of this module">
<option value="0">No</option>
<option value="1">Yes</option>
</param>
<param name="class_sfx" type="text" default="" label="Div Class Suffix" description="A suffix to be applied to the CSS class of the div tag (div.topauthors), this allows individual module styling" />
<param name="numauth" type="text" default="10" label="Number to show" description="How many authors to show." />
<param name="displayname" type="list" default="name" label="Display username or real name" description="Whether to display the Joomla username or if they entered their real name when registering you can display this.">
<option value="username">Username</option>
<option value="name">Real Name</option>
</param>
<param name="articletext" type="text" default="Articles" label="Article text" description="The text that comes after the number of articles." />
<param name="sortby" type="list" default="articles" label="Sort by" description="What to sort the list by.">
<option value="articles">Articles</option>
<option value="author">Author</option>
</param>
<param name="order" type="list" default="DESC" label="Sort order" description="The order in which to sort the list.">
<option value="ASC">Ascending</option>
<option value="DESC">Descending</option>
</param>
<param name="hideempty" type="list" default="true" label="Users with 0 articles" description="Whether to show or hide users who have no articles published.">
<option value="hide">Hide</option>
<option value="show">Show</option>
</param>
</params>
<images>
</images>
</mosinstall>
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль расширенных результатов ARI Quiz Results

Автор Beer

Ответов: 0
Просмотров: 2401
Последний ответ 03.02.2025, 15:27:35
от Beer
Модуль для отображения курсов валют

Автор Геон

Ответов: 2
Просмотров: 3783
Последний ответ 03.02.2024, 22:19:02
от Геон
Модуль «Image Show gk4», не отображается ни картинка, ни текст

Автор kaasin

Ответов: 1
Просмотров: 5016
Последний ответ 13.05.2023, 15:42:15
от anastasya96
Стандартный модуль случайного изображения не выводит фотографии

Автор strix

Ответов: 8
Просмотров: 9663
Последний ответ 19.10.2022, 16:07:11
от Andrej_777
Модуль тегов Joes Word Cloud для Joomla 3

Автор ecolora

Ответов: 1
Просмотров: 4193
Последний ответ 05.05.2022, 19:04:44
от ecolora