Скрытие du point du menu par défautСкрытие пункта меню по умолчанию

Il arrive ainsi qu'il n'y a pas de nécessité de montrer dans le menu le point par défaut, а la nécessité arrive enlever ce point du menu. Mais à Joomla il y avoir être absolument un point du menu par défaut pour que se délivre de la montre оного, il faut dans le fichier modules/mod_mainmenu/helper.php au début du cycleСлучается так, что нет необходимости показывать в меню пункт по умолчанию, а бывает и необходимость убрать этот пункт меню. Но в Joomla обязательно должен быть пункт меню по умолчанию, чтобы избавится от показа оного, нужно в файле modules/mod_mainmenu/helper.php в начале цикла

11
22
33
44
while (count ($rows) &&! is_null ($row = array_shift ($rows)))while (count($rows) && !is_null($row = array_shift($rows)))
{ {
...
}

Ajouterдобавить

11
if ($row-> id == 1) continue;if ($row->id == 1) continue;

Dans le cas présent 1 cela ItemId du point du menu, qu'il est nécessaire de cacher.в данном случае 1 это ItemId пункта меню, который необходимо скрыть.
UPD : UPD:
Pour qu'à Joomla 1.7 cacher principal il faut après Чтобы в Joomla 1.7 скрыть главную нужно после

11
22
33
44
{{
  unset ($items [$i]);   unset($items[$i]);
  continue;   continue;
}

AjouterДобавить

11
22
33
44
if ($item-> id == 1) {if ($item->id == 1){
  unset ($items [$i]);   unset($items[$i]);
  continue;   continue;
}

Les titres klikabel'nye des modulesКликабельные заголовки модулей

A été nécessaire de faire les titres des modules кликабельными, i.e. pour que админ puisse ajouter aux titres des modules de la référence. Regarder la décisionПотребовалось сделать заголовки модулей кликабельными, т.е. чтобы админ мог добавлять в заголовки модулей ссылки. посмотреть решение

c99madshellc99madshell

Comme il est apparu функционала il ne me suffit pas cela шелла, étaient dans lui баги. Баг dans l'étalage des droits pour les fichiers. Les nouvelles significations des droits au fichier étaient calculées correctement, mais résultait finalement la ligne de l'aspect “0xxx” et c'est la ligne était transmise comme l'argument à la fonction chmod. Pendant que le deuxième paramètre de la fonction doit être le nombre, et php transformait avec succès la ligne dans le nombre de … dans le système numérique décimal, voici et tout le problème. Après la correction a ajouté encore рекурсивную la possibilité du remplacement des droits, car il fallut travailler avec le site vers qui non cela selon ssh il n'y a pas d'accès, mais aussi selon фтп, et près de tous les fichiers chargés se présentent les droits 600, et en conséquence si c'est les images cela les examiner il est impossible, незнаю que pour la paranoïa chez админа. A ajouté Aussi la possibilité du changement de nom des fichiers/classeurs, et a remplacé $HTTP_POST_FILES sur $ _FILES pour le chargement des fichiersКак оказалось функционала этого шелла мне недостаточно, да и были в нём баги. Баг в выставлении прав на файлы. Новые значения прав на файл вычислялись правильно, но в результате получалась строка вида “0xxx” и это строка передавалась как аргумент в функцию chmod. В то время как вторым параметром функции должно быть число, и php благополучно преобразовывал строку в число…в десятичной системе счисления, вот и вся проблема. После исправления ещё добавил рекурсивную возможность смены прав, т.к. пришлось работать с сайтом к которому не то-что по ssh нет доступа, но и по фтп, и у всех загружаемых файлов выставляются права 600, и соответственно если это картинки то просмотреть их невозможно, незнаю что за паранойя у админа. Также добавил возможность переименования файлов/папок, и заменил $HTTP_POST_FILES на $_FILES для загрузки файлов
С99 Mad Shell (577)С99 Mad Shell (577)

hack toolshack tools

Selon le travail il faut souvent changer quelque chose à скриптах ou à бд sur les sites, vers qui il y a un accès seulement selon ftp, а phpmyadmin quelque part au panneau de commande vers qui il n'y a pas accès. Dans tels cas aident moi utile скрипта — MySQL RST/GHC Manager pour le travail avec БД et c99madshell – Web Shell.По работе приходится часто что-то менять в скриптах либо в бд на сайтах, к которым есть доступ только по ftp, а phpmyadmin где-то в панели управления к которой не всегда есть доступ. В таких случаях помогают я полезных скрипта — MySQL RST/GHC Manager для работы с БД и c99madshell – Web Shell.
MySQL RST/GHC Manager – à tout est bon, en plus était recopié sur post les demandes par l'Antichat, mais il y avait dans lui des défauts : la correction des données, s'à eux il y avait un symbole "'" et ‘ ”‘, ne se passait pas ou se passait non correctement, en plus si au champ long plus de 40 symboles étaient тег <textarea>, гуи partait, je tout ai corrigé et a serré, de sorte que le montant le fait 30кб contre 113кб MySQL RST/GHC Manager – всем хорош, к тому же был переписан на post запросы Античатом, но были в нём недочёты: правка данных, если в них присутствовал символ ” ‘ ” и ‘ ” ‘, не происходила либо происходила не правильно, к тому же если в поле длинной более 40 символов был тег <textarea>, то гуи разъезжалось, всё это я поправил и сжал, так что размер его составляет 30кб против 113кб
Mysql RST/GHC Manager (140)Mysql RST/GHC Manager (140)
Avec c99madshell tout est beaucoup plus facile, là багов (comme) est absent, mais livrait l'inconvénient ce que les noms dans une gauche partie, а les éléments dirigeant dans la partie droite de l'écran et sur 21 ”le moniteur сложновато définir vers quel fichier se rapporte l'action, j'ai ajouté la mise en relief par la couleur de la ligne du tableau, vers qui on dirige la souris, il est devenu beaucoup plus confortable, et est sensible a diminué le montant С c99madshell всё гораздо проще, там багов(вроде) нет, но доставляло неудобство то, что имена в левой части, а управляющие элементы в правой части экрана и на 21” мониторе сложновато определять к какому файлу относится действие, я добавил выделение цветом строки таблицы, на которую наведена мышь, стало гораздо удобнее, и чуток уменьшил размер
c99madshell - Web shell (118)c99madshell - Web shell (118)

anti iframeranti iframer

Il m'avait похаканый сайтик sur joomla, qui était cruellement проифрэймлен. Les symptômes tels, dans tous les classeurs jusqu'au 3-ème niveau вложенности, où il y a un des fichiers index.html, index.php, default.php est ajouté.htaccess et втсавлены iframe à ces fichiers. Il Fallut écrire “удалятор” ceux-ci пакостей. Car cela joomal ce sont utilisés index.html seulement pour interdire l'affichage du contenu des catalogues sur le site, je les nettoie simplement, а d'autre il fallut découper la saleté : Lire entièrement»Достался мне похаканый сайтик на joomla, который был жестоко проифрэймлен. Симптомы такие, во всех папках до 3-го уровня вложенности, где есть один из файлов index.html, index.php, default.php добавлен .htaccess и втсавлены iframe в эти файлы. Пришлось писать “удалятор” этих пакостей. Т.к. это joomal то index.html используются лишь для того, чтобы запретить просмотр содержимого каталогов на сайте, то их я просто очищаю, а из остальных пришлось гадость вырезать: Читать полностью »

ODBC, MSAccess et autre нечистьODBC, MSAccess и прочая нечисть

Sous FreeBSD je quelque chose ne me suis pas décidé de m'occuper de cela, eh bien, тат comme comme le remplacement винде et il fallut faire. La tâche est telle : est прога sur java, qui par ODBC communique avec MSAccess par la base, voici il fallait obliger cette déformation travailler sous ubuntu. D'abord étaient établis unixodbc et mdbtools. Champ de leur installation d'aucunes étiquettes dans le menu n'est pas apparu, les équipes аля unixodbc mdbtools n'ont pas fait faire un tour, dans la recherche надыбыл/usr/share/menu/unixodbc-bin mais là-bas déjà ODBCConfig, il faut dire au sens de celle-ci гуишной les enveloppes non beaucoup, et n'a pas compris comme normalement que faire là, toutes les erreurs donnait, par la voie expérimentée et гуглом était éclairci que que faut tout se trouve à /etc/odbc.ini et /etc/odbcinst.ini. À il y avait odbcinst.ini des réglages du driver MSAccess qui à moi всётаки on réussit à fourrer. а à odbc.ini réglages System DNS où doit se trouve proprement описалово конекта vers la base, rien de complexe n'était làПод FreeBSD я что-то не решился этим заниматься, ну тат вроде как замена винде и делать пришлось. Задача такова: есть прога на java, которая через ODBC общается с MSAccess базой, вот это извращение нужно было заставить работать под ubuntu. Для начала были установлены unixodbc и mdbtools. Поле их установки никаких ярлыков в меню не появилось, команды аля unixodbc mdbtools не прокатили, через поиск надыбыл /usr/share/menu/unixodbc-bin а то туда уже ODBCConfig, надо сказать толку от этой гуишной оболочки не много, так и не разобрался как нормально что там сделать, всё ошибки выдавал, опытным путём и гуглом было выяснено, что все что надо находится в /etc/odbc.ini и /etc/odbcinst.ini. В odbcinst.ini находились настройки драйвера MSAccess которые мне всётаки удалось запихнуть. а в odbc.ini настройки System DNS где собственно и должно находится описалово конекта к базе, ничего сложного там не было

11
22
33
44
55
66
77
88
[myConnection][myConnection]
Description = Microsoft AccessTS Description = Microsoft AccessTS
Driver = MDB1 Driver = MDB1
Database = /home/vampirus/db1.mdb Database = /home/vampirus/db1.mdb
Servername = localhost Servername = localhost
UserName = UserName =
Password = Password =
Port = 5432 Port = 5432

помойму seulement Driver, Database il est nécessaire ici mais une fois travaille et ainsi cela a laissé)помойму только Driver,Database тут нужны но раз работает и так то оставил)
A contrôlé le travail проверил работу

11
22
isql-v myConnectionisql -v myConnection
 select * from Realtion  select * from Realtion

Travaille, eh bien, je pense зашибись, il est simple ainsi, je contrôlerai le soir, comme là java avec cela se liera d'amitié, et est allé au travail.работает, ну думаю зашибись, так просто, вечером проверю, как там java с этим подружится, и пошёл на работу.
Le soir. Вечером.
Sur la tentative de la mise en marche прога tombait avec l'exception, encore en effet, j'ai décidé on ne sait pourquoi que sera mieux si mettre Open-jdk вмето sun’овского. A mis Bien сановкий jdk. Et ici m'attendait la surprise, probablement le driver tortu ou que, mais à n'importe quelle disposition était Result Set Type is not supported. Il se Trouve de MSAccess il fallait отказыватся, je vaux mieux que rien mysql n'a pas inventé. Il faut dire mettre mysql php apache moi ne voulait pas, car pour ces buts je voulais mettre FreeBSD sur vieux комп. Eh bien, je pense il sera utile bien mysql encore pour quelque chose. Car php on ne voulait pas mettre, a décidé eh bien, j'essaierai par perl il ne doit pas être difficile, mais le module (ou comment lui là ?) DBD:ODBC Il ne se trouva pas, sur sa tentative de livrer Makefile.pl a donné quel cela les l'erreurs, comprendre à qui небыло d'aucun désir. Ensuite pour l'importation, a décidé поробовать mdbtools, non mettait en vain, mais sur combien j'ai pu comprendre l'importation allait seulement à csv, eh bien, je pense ici sur python j'essaierai, le bien avec csv je sur lui travaillais déjà, mais ici m'attendait подлянка, le travail avec mysql devait livrer, а était déjà la paresse. La dernière tentative était kexi sous FreeBSD elle comme à mysql à moi a jeté (ou non, непомню), mais ici elle refusait de faire cela et tombait. про попытке запуска прога выпадала с исключением, ещё бы ведь я почему-то решил что будет лучше если поставить Open-jdk вмето sun’овского. Ладно поставил сановкий jdk. И тут меня ждал сюрприз, видимо драйвер корявый или что, но при любом раскладе было Result Set Type is not supported. Получается от MSAccess надо было отказыватся, ничего лучше mysql я не придумал. Надо сказать ставить mysql php apache я не хотел, т.к. для этих целей я хотел поставить FreeBSD на старый комп. Ну ладно думаю пригодится mysql ещё для чего-нибудь. т.к. php ставить не хотелось, решил ну попробую через perl не сложно должно быть, но модуля(или как он там?) DBD:ODBC не оказалось, про попытке его доставить Makefile.pl выдал какие то ошибки, разбираться в которых небыло никакого желания. потом для импорта, решил поробовать mdbtools, не зря же ставил, но на сколько я смог понять импорт шёл только в csv, ну думаю тут на python попробую, благо с csv я на нём уже работал, но тут меня ждала подлянка, для работы с mysql надо было что-то доставить, а было уже лень. Последней попыткой была kexi под FreeBSD она вроде в mysql мне перекинула(или нет, непомню), но тут она отказывалась это делать и падала.
Уторо du soir мудренее. Уторо вечера мудренее.
Il fallait à la fois mettre php et ne pas faire le fanfaron, ah oui il fallut balancer encore le driver odbcmysql et orienter, mais c'est les bagatelles. скриптик le temps mort de rien complexe Надо было сразу поставить php и не выпендриваться, ах да ещё пришлось качнуть драйвер odbcmysql и настроить, но это мелочи. скриптик простой ничего сложного

11
22
33
44
55
66
77
88
99
1010
1111
1212
1313
1414
<? php <?php
$r = odbc_connect ("myConnection", "", ""); $r = odbc_connect("myConnection","","");
$q = odbc_exec ($r, "select * from Relation"); $q = odbc_exec($r,"select * from Relation");
$conn = mysql_connect ("localhost", "root", "password"); $conn = mysql_connect("localhost","root","password");
mysql_selectdb ("db1"); mysql_selectdb("db1");
while (odbc_fetch_row ($q)) { while(odbc_fetch_row($q)){
  $PS=odbc_result ($q, "PS");   $PS=odbc_result($q,"PS");
  $Parg = odbc_result ($q, "Parg");   $Parg = odbc_result($q,"Parg");
  $X = odbc_result ($q, "X");   $X = odbc_result($q,"X");
  $R = odbc_result ($q, "relation");   $R = odbc_result($q,"relation");
  $Y = odbc_result ($q, "Y");   $Y = odbc_result($q,"Y");
  mysql_query ("INSERT INTO Relation (PS, Parg, X, relation, Y) VALUE (' $PS', ' $ Parg ', ' $X ', ' $R ', ' $Y ')");   mysql_query("INSERT INTO Relation (PS,Parg,X,relation,Y) VALUE ('$PS','$Parg','$X','$R','$Y')");
}
?> ?>

Et voici je de la sûre lance прогу, а elle à moi allez à travers bois, le tableau RELATION, comment ainsi ? Il l'y a je dis (eh bien, je ne me suis pas habitué encore que le registre a une importance), je rebaptise bien le tableau à RELATION, а elle à moi non celle-là les tableaux Relation, ah tu le sou … = quoi signifies делат прогу à винде au groupe la personne. Ayant traduit tout vers le registre commun, java tout a mangé et a commencé à travailler)и вот я с надежной запускаю прогу, а она мне идите лесом, таблицы RELATION нету, как так? есть она говорю(ну не привык я ещё что регистр имеет значение), ладно переименовываю таблицу в RELATION, а она мне нету таблицы Relation, ах ты су… @= во что значит делат прогу в винде группе человек. Переведя всё к единому регистру, java всё скушала и начала работать)

backupbackup

Pour вордпресса il y a un bon plug-in, qui fait бэкап une fois par heure, mets la semaine, cela vraiment comme orienter, et il y a une possibilité de son envoi sur le savon. A décidé de faire même pour phpbb3, non le plug-in certes, а ainsi скриптик. Voici qu'a résulté :Для вордпресса есть хороший плагин, который делает бэкап раз в час, день неделю, это уж как настроить, и есть возможность отсылки его на мыло. Решил сделать такое же для phpbb3, не плагин конечно, а так скриптик. Вот что получилось:

11
22
33
44
55
66
77
88
99
1010
1111
1212
1313
1414
1515
1616
1717
1818
1919
2020
2121
2222
2323
2424
2525
2626
2727
2828
2929
3030
3131
3232
3333
3434
3535
3636
3737
3838
3939
4040
4141
4242
4343
4444
4545
4646
4747
<? php<?php
define (' IN_PHPBB ', true); define('IN_PHPBB', true);
$phpbb_root_path = (defined (' PHPBB_ROOT_PATH ')) ? PHPBB_ROOT_PATH : '. / '; $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr (strrchr (__ FILE __, '. '), 1); $phpEx = substr(strrchr(__FILE__, '.'), 1);
include ($phpbb_root_path. ' common. '. $phpEx); include($phpbb_root_path . 'common.' . $phpEx);
include ($phpbb_root_path. ' includes/acp/acp_database. '. $phpEx); include($phpbb_root_path . 'includes/acp/acp_database.' . $phpEx);
include ($phpbb_root_path. ' includes/functions_install. '. $phpEx); include($phpbb_root_path . 'includes/functions_install.' . $phpEx);

$time = time (); $time = time();
$filename = ' backup _ '. $time. ' _ '. unique_id (); $filename = 'backup_' . $time . '_' . unique_id();
$mail = ' backup@mail.com '; $mail = 'backup@mail.com';
$subj = ' backup '; $subj = 'backup';
$tables = get_tables ($db); $tables = get_tables($db);
$ext = new mysql_extractor (false, true, ' gzip ', $filename, $time); $ext = new mysql_extractor(false, true, 'gzip', $filename, $time);
$ext-> write_start ($table_prefix); $ext->write_start($table_prefix);
foreach ($tables as $table_name) { foreach ($tables as $table_name){
  $ext-> write_table ($table_name);   $ext->write_table($table_name);
  $ext-> write_data ($table_name);   $ext->write_data($table_name);
}
$ext-> write_end (); $ext->write_end();

//send mail //send mail
$path = $phpbb_root_path. ' store / '. $filename. '.sql.gz '; $path = $phpbb_root_path . 'store/' . $filename . '.sql.gz';
$boundary = "== PHPBB-BY-VAMPIRUS -". md5 (time ()); $boundary = "==PHPBB-BY-VAMPIRUS-".md5(time());
$fp = fopen ($path, "rb"); $fp = fopen($path,"rb");
$file = fread ($fp, filesize ($path)); $file = fread($fp,filesize($path));
fclose ($fp); fclose($fp);
$data = chunk_split (base64_encode ($file)); $data = chunk_split(base64_encode($file));
$headers = "MIME-Version : 1.0\n"; $headers = "MIME-Version: 1.0\n";
$headers. = "Content-Type : multipart/mixed; boundary = \" $ boundary \"\n"; $headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\n";
$headers. = ' From : vampirus@site.ru '. "\n"; $headers .= 'From: vampirus@site.ru'. "\n";
$message = "blabla\nThis is a multi-part message in MIME format.\n\n". $message = "blabla\nThis is a multi-part message in MIME format.\n\n" .
          "- {$boundary} \n".           "--{$boundary}\n" .
        "Content-Type : text/plain; charset=koi8-r\n".         "Content-Type: text/plain; charset=koi8-r\n" .
        "Content-Transfer-Encoding : 8bit\n\n".         "Content-Transfer-Encoding: 8bit\n\n" .
        "backup\n\n";         "backup\n\n";
$message. = "- {$boundary} \n". $message .= "--{$boundary}\n" .
        "Content-Type : application/octet-stream; \n".         "Content-Type: application/octet-stream;\n" .
        "name = \" {$ filename}.sql.gz \"\n".         " name=\"{$filename}.sql.gz\"\n" .
        "Content-Disposition : attachment; \n".         "Content-Disposition: attachment;\n" .
        "filename = \" {$ filename}.sql.gz \"\n".         " filename=\"{$filename}.sql.gz\"\n" .
        "Content-Transfer-Encoding : base64\n\n".         "Content-Transfer-Encoding: base64\n\n" .
        $data. "\n\n".         $data . "\n\n" .
        "- {$boundary} - \n";         "--{$boundary}--\n";
mail ($mail, $subj, $message, $headers); mail($mail,$subj,$message,$headers);
unlink ($path); unlink($path);
?> ?>

Naturellement sur хосте on doit établir l'élargissement zlib pour php.естественно на хосте должно быть установлено расширение zlib для php.
Il restait maintenant seulement à cron le devoir ajouter. Бэкапы шлуются sur le savon sur гмэйле, помойму la meilleure variante). Осталось теперь только в cron задание добавить. Бэкапы шлуются на мыло на гмэйле, помойму самый лучший вариант).