Новости Joomla

Вышли релизы Joomla 6.1 и Joomla 5.4.5: новые возможности и стабильность

Релиз Joomla 6.1.0

Проект Joomla! объявил о доступности Joomla 6.1 [Nyota] — новой минорной версии шестой серии, а также о выпуске релиза исправлений ошибок Joomla 5.4.5. Релиз 6.1 приносит ряд долгожданных функций, повышающих удобство управления контентом и защиту от спама.

👩‍💻 Компонент "CS Афиши" для Joomla.

👩‍💻 Компонент "CS Афиши" для Joomla.

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

В состав пакета расширений входят:
- Компонент "CS Афиши"
- Модуль "Календарь событий"
- Модуль "Предстоящие события"
- Библиотека "ImgResize"

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

Модуль "Календарь событий" отображает предстоящие и прошедшие мероприятие на календаре, с отображением мероприятий на конкретную дату во всплывающем окне.

Модуль "Предстоящие события" показывает список предстоящий событий по порядку их наступления.

P.S. Расширение платное, но плата символическая, чисто для отработки приема платежей. Ключи без ограничения по времени, купившие сейчас - смогут обновляться без ограничений.

Разработчик - участник нашего сообщества Дмитрий Денисов (@codersite).

Страница расширения
Демо

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

waw555

  • Захожу иногда
  • 118
  • 2 / 0
Здравствуйте, уважаемые форумчане!

Интересует вот такой вопрос, возможно ли сделать регистрацию пользователей не через компонент Joomla.

Регистрация будет производиться совсем из другой программы, реально ли только записать в БД данные о пользователе, логин, пароль, почту, чтобы пользователь смог спокойно зайти на сайт.

Как генерируется пароль в Joomla, проблемы с занесением остальных полей нет, а вот пароль занести в БД не знаю как.

Возможно ли данной функцией зашифровать и расшифровать пароль?

Код
static const Codes64[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/"

public Encode64(s[])
{
new i=0,a=0,x=0,b=0,Result
  for (i=1;i<strlen(s);i++) {
    x = str_to_num(s[i])
    b = b * 256 + x
    a = a + 8
    while (a >= 6) {
      a = a - 6
      x = b / (1 << a)
      b = b % (1 << a)
      Result += Codes64[x + 1]
   }
  }
  if (a > 0) {
    x = b << (6 - a);
    Result += Codes64[x + 1];
 }
 return Result;
}

public Decode64(s[])
{
  new i=0,a=0,x=0,b=0,Result,ch[1]
  for (i = 1; i< strlen(s);i++) {
      for (new index = 0; Codes64[index]; index++)
    if (s[i]==Codes64[index]) {
    x=index-1
    break
    }
    if (x >= 0) {
      b = b * 64 + x
      a = a + 6
      if (a >= 8) {
        a = a - 8
        x = b >> a
        b = b % (1 << a)
        x = x % 256
        Result += num_to_word(x,ch,1)
     }
    }
    else exit;
}
return Result;
}
*

waw555

  • Захожу иногда
  • 118
  • 2 / 0
Расскажите хотя бы как устроена генерация пароля?
*

waw555

  • Захожу иногда
  • 118
  • 2 / 0
Если использовать http://joomlaforum.ru/index.php/topic,54062.0.html внесение данных в БД с использованием md5, будет работать или нет, пробую на хостинге не канает.
*

mohax

  • Давно я тут
  • 901
  • 66 / 3
Если использовать http://joomlaforum.ru/index.php/topic,54062.0.html внесение данных в БД с использованием md5, будет работать или нет, пробую на хостинге не канает.
md5 у меня работал. Скрипт на php парсил данные из Xls-файла и вбивал их в БД. Код предоставить не смогу, осталось на старой работе...
*

waw555

  • Захожу иногда
  • 118
  • 2 / 0
Вот нашел, что отвечает за генерацию пароля, помогите разобрать все по полочкам!

Код
	/**
* Formats a password using the current encryption.
*
* @param   string   $plaintext     The plaintext password to encrypt.
* @param   string   $salt          The salt to use to encrypt the password. []
*                                  If not present, a new salt will be
*                                  generated.
* @param   string   $encryption    The kind of pasword encryption to use.
*                                  Defaults to md5-hex.
* @param   boolean  $show_encrypt  Some password systems prepend the kind of
*                                  encryption to the crypted password ({SHA},
*                                  etc). Defaults to false.
*
* @return  string  The encrypted password.
*
* @since   11.1
*/
public static function getCryptedPassword($plaintext, $salt = '', $encryption = 'md5-hex', $show_encrypt = false)
{
// Get the salt to use.
$salt = JUserHelper::getSalt($encryption, $salt, $plaintext);

// Encrypt the password.
switch ($encryption)
{
case 'plain' :
return $plaintext;

case 'sha' :
$encrypted = base64_encode(mhash(MHASH_SHA1, $plaintext));
return ($show_encrypt)? '{SHA}'.$encrypted : $encrypted;

case 'crypt' :
case 'crypt-des' :
case 'crypt-md5' :
case 'crypt-blowfish' :
return ($show_encrypt ? '{crypt}' : '').crypt($plaintext, $salt);

case 'md5-base64' :
$encrypted = base64_encode(mhash(MHASH_MD5, $plaintext));
return ($show_encrypt)? '{MD5}'.$encrypted : $encrypted;

case 'ssha' :
$encrypted = base64_encode(mhash(MHASH_SHA1, $plaintext.$salt).$salt);
return ($show_encrypt)? '{SSHA}'.$encrypted : $encrypted;

case 'smd5' :
$encrypted = base64_encode(mhash(MHASH_MD5, $plaintext.$salt).$salt);
return ($show_encrypt)? '{SMD5}'.$encrypted : $encrypted;

case 'aprmd5' :
$length = strlen($plaintext);
$context = $plaintext.'$apr1$'.$salt;
$binary = JUserHelper::_bin(md5($plaintext.$salt.$plaintext));

for ($i = $length; $i > 0; $i -= 16) {
$context .= substr($binary, 0, ($i > 16 ? 16 : $i));
}
for ($i = $length; $i > 0; $i >>= 1) {
$context .= ($i & 1)? chr(0) : $plaintext[0];
}

$binary = JUserHelper::_bin(md5($context));

for ($i = 0; $i < 1000; $i ++) {
$new = ($i & 1)? $plaintext : substr($binary, 0, 16);
if ($i % 3) {
$new .= $salt;
}
if ($i % 7) {
$new .= $plaintext;
}
$new .= ($i & 1)? substr($binary, 0, 16) : $plaintext;
$binary = JUserHelper::_bin(md5($new));
}

$p = array ();
for ($i = 0; $i < 5; $i ++) {
$k = $i +6;
$j = $i +12;
if ($j == 16) {
$j = 5;
}
$p[] = JUserHelper::_toAPRMD5((ord($binary[$i]) << 16) | (ord($binary[$k]) << 8) | (ord($binary[$j])), 5);
}

return '$apr1$'.$salt.'$'.implode('', $p).JUserHelper::_toAPRMD5(ord($binary[11]), 3);

case 'md5-hex' :
default :
$encrypted = ($salt)? md5($plaintext.$salt) : md5($plaintext);
return ($show_encrypt)? '{MD5}'.$encrypted : $encrypted;
}
}

Я так понимаю мне нужна строчка

Код
			default :
$encrypted = ($salt)? md5($plaintext.$salt) : md5($plaintext);
return ($show_encrypt)? '{MD5}'.$encrypted : $encrypted;
*

Artemeey

  • Новичок
  • 3
  • 0 / 0
Спасибо, помог и мне разобраться.
Пароль генерируется вот такой функцией: md5($plaintext.$salt).

В БД запись выглядет слудущем образом:
XXXXXXXXXXXXXX:YYYYYYYYYYYY
Где:
XXX - md5
YYY - sault.

plaintext - то что вводится в поле пароля при авторизации.
*

AstFreelancer

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Для базы Joomla 1.5 по крайней мере работает такой код:
Код
$salt = $plaintext;
$encrypted = md5($plaintext.$salt);
$password = $encrypted.':'.$salt;
И не забываем, что кроме таблицы jos_users нужно заполнять еще jos_core_acl_aro и jos_core_acl_groups_aro_map!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как редактировать отдельную страницу Joomla 2.5?

Автор mrporter

Ответов: 0
Просмотров: 17488
Последний ответ 14.09.2023, 22:16:47
от mrporter
Joomla 2.5.28, Safari под маком и сессии session

Автор beliyadm

Ответов: 19
Просмотров: 20240
Последний ответ 29.03.2023, 12:17:19
от Sawell
Joomla 2.5.28 как скачать все файлы через панель управления

Автор Sergei41984

Ответов: 7
Просмотров: 18518
Последний ответ 27.12.2022, 23:30:38
от Sergei41984
Расширения для Joomla! 1.6 (коллекция полезных ссылок)

Автор Sulpher

Ответов: 124
Просмотров: 152252
Последний ответ 03.12.2022, 16:15:19
от besttechoff
Почему в админке Joomla 2.58 - у меня 16 админов показывает?

Автор dyalex

Ответов: 7
Просмотров: 18296
Последний ответ 27.10.2022, 19:03:45
от marksetter