Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - MacroWorld

Pages: [1]
1
Mods & Plugins (Releases & Support) / Re: Signature image v2.22
« on: May 22, 2007, 10:18:06 AM »
Quote
Шаг 2
В файле signature.php находим строку

MacroWorld, привет.
Но такой строки нет в коде, который опубликован на 1 странице данной темы  :roll:

Если не сложно, может ты мне дашь готовый файлик signature.php и файлики .phpfont?  :oops:





Действительно ошибся...
Строку поменял в своем посте.
Искать нужно вот такую:
Code: [Select]
ImageString($im, 3, $offset2+$tiny, 4, $sitename, $text_color);

2
Open includes/functions.php

Find:
Code: [Select]
if (check_permission("auth_vote", $image_row['cat_id'])) {
Insert Above:
Code: [Select]
  $rate_suffix = "";
  $rating = "";

Find Next:
Code: [Select]
$site_template->register_vars(array(
          "rate" => ($no_rateform && !(check_permission("auth_vote", $image_row['cat_id']) && $no_rateform)) ?  "rated" : $lang['rate'],
          "rate_options" => $rate_options,
          "rate_button" => ($no_rateform) ? $no_rateform : ""

    ));

Insert Above
Code: [Select]
$image_row = 0;
everything will be OK  :D

3
for Russian:

Yes, then another one can't read it... *g*

One shouldn't be another one to read it.  :wink:

Information concerning how to make russian letters display on the banner, i.e. how to make ImageString(); and russian fonts deal with each other.

4
for Russian:

Не нашел на форуме ответа на вопрос, как сделать чтобы МОД воспринимал русский язык, пришлось разбираться как работает функция ImageString и как ее приучить к русскому языку.

Вот, что нашел и придумал:

Шаг 1
С помощью программы phpfont делаем из любого кириллического шрифта шрифт формата .phpfon

Кладем их в папку  /signatures
(У меня это были два шрифта с названиями файлов verdana.phpfont и CourierNew.phpfont)

Шаг 2
В файле signature.php находим строку

Code: [Select]
ImageString($im, 3, $offset2+$tiny, 4, $sitename, $text_color);
Вставляем Над ней
Code: [Select]
  $m = imageloadfont ('./signatures/verdana.phpfont');
           $m2 = imageloadfont ('./signatures/CourierNew.phpfont');

Находим строку
Code: [Select]
ImageString($im, 3, $offset2+$tiny, 4, $sitename, $text_color);
Заменяем ее на:
Code: [Select]
ImageString($im, [color=red]$m[/color], $offset2+$tiny, 4, $sitename, $text_color);
Находим строку
Code: [Select]
ImageString($im, $val[0], $val[1], $i, $val[2], $$val[3]);
Заменяем ее на:
Code: [Select]
ImageString($im, $m2, $val[1], $i, $val[2], $$val[3]);
Само собой нужно поменять:
Code: [Select]
$lang_images = "Фотографий : ";
$lang_users = "Участников: ";
$lang_cat = "Категорий: ";
$lang_new_user = "Новый участник: ";
$lang_online = "На сайте: ";
$lang_comments = "Комментариев: ";


и далее по тексту файла английские записи поменять на русские "новые", "зарегистрированные", "активные" и т.п.


ВНИМАНИЕ!!!
У меня база данных в UFT-8 (почему то у меня только в этой кодировке нормально работает поиск  :?)

Если у вас база тоже в UTF-8 то нужно немного изменить код, т.к. данные в UTF-8 будут крокозябрами на картинке:
Quote
Code: [Select]
ImageString($im,  $m2, $val[1], $i, $val[2], $$val[3]);

На:
Code: [Select]
ImageString($im,  $m2, utf8tocyr($val[1]), $i, utf8tocyr($val[2]), utf8tocyr($$val[3]));
и добавить в конец файла /includes/functions.php (перед  закрывающей ?>) следующий код:
Code: [Select]
function utf8tocyr($string) {
     for ($c = 0; $c < strLen($string); $c=$c+2) {
          $ub = ord(subStr($string, $c, 1));
          $lb = ord(subStr($string, $c+1, 1));

          if ($ub == 208) {
               if ($lb != 81) {
                    $result = $result.chr($lb + 48);
                    }
               else {
                    $result = $result.'Ё';
                    }
               }

          if ($ub == 209) {
               if ($lb != 91) {
                    $result = $result.chr($lb + 112);
                    }
               else {
                    $result = $result.'ё';
                    }
               }

          if (($ub != 208) AND ($ub != 209) AND ($lb != 91) AND ($lb != 81)) {
               $result = $result.chr($ub);
               $c = $c-1; }
               }
     return $result;
     }

Собственно вот результат работы:




Pages: [1]