Кто знает что за ху*ня случилась с virtuemart отпишитесь


И вот я такой собираю магазин на  virtuemart и joomla, обновился до версии 2.6.0
ну и решил зайти на их форум (forum.virtuemart.net) нажал на "Форум" из меню Virtuemart, и тут х*як, вместо страницы загружается некий файлик Plugins.exe, я просто ох*ел. Заходим на сайт web-sniffer.net, вбиваем адрес форума и что мы видим:

 <html>
<head>
  <title>Install Plugin </title>
  <meta http-equiv="refresh" content="0;URL=http://forum.virtuemart.net/Themes/Plugins.exe">
  <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
  <link rel="icon" href="favicon.ico" type="image/x-icon" />
</head>
<body>
</body>
</html> 

Вот и отчет по файлу [ www.virustotal.com ]
А это сам файл https://drive.google.com/file

Автоматический постинг в Twitter с помощью IMacros





Чтение и запись твитов из файла CSV (в файле CSV один столбец, каждая новая строка - новый твит). Строка не превышает 140 символов.

Текст твитов можно собирать парсером на php, отсеивать например вот-так
if ((strlen($line)>=60)&&(strlen($line)<=140)) { echo $line."";}
Перемешать строки, для выдачи случайного твита, можно при помощи функции  shuffle( );
Полученный файл с текстом твитов сохраняем как twitt.csv


VERSION BUILD=8810214 RECORDER=FX
SET !ERRORIGNORE YES
SET !TIMEOUT_TAG 1
SET !TIMEOUT_STEP 1
SET !TIMEOUT_PAGE 30
' SET !REPLAYSPEED FAST

' Инклюдим базу
 SET !ERRORIGNORE YES

' Разделитель
    SET !DATASOURCE_DELIMITER "    "
' SET !DATASOURCE W:\Robots\blogger.csv
SET !DATASOURCE Q:\wamp\www\Fraza\twitt.csv
SET !DATASOURCE_COLUMNS 1

SET !LOOP 1
'Увеличения счетчика строк спомощью цикла LOOP'
SET !DATASOURCE_LINE {{!LOOP}}

TAB T=1

WAIT SECONDS=1

URL GOTO=https://twitter.com/
EVENT TYPE=CLICK SELECTOR="#global-new-tweet-button" BUTTON=0
EVENTS TYPE=KEYPRESS SELECTOR="#tweet-box-global" KEYS="[8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]"
EVENTS TYPE=KEYPRESS SELECTOR="#tweet-box-global" CHARS="{{!COL1}}"
EVENT TYPE=CLICK SELECTOR="#global-tweet-dialog-dialog>DIV:nth-of-type(2)>DIV:nth-of-type(4)>FORM>DIV:nth-of-type(2)>DIV:nth-of-type(2)>BUTTON" BUTTON=0

IMacros бот для сайта addmefast.com


IMacros скрипт для увеличения лайков на ютубе
VERSION BUILD=8300326 RECORDER=FX
SET !ERRORIGNORE YES
SET !TIMEOUT_TAG 1
SET !TIMEOUT_STEP 1
SET !TIMEOUT_PAGE 30
SET !REPLAYSPEED FAST

TAB T=1
' URL GOTO=http://addmefast.com/free_points/youtube_likes
WAIT SECONDS=5
TAG POS=1 TYPE=DIV ATTR=TXT:Like
WAIT SECONDS=3
TAB T=2
WAIT SECONDS=4
TAG POS=1 TYPE=BUTTON ATTR=ID:watch-like
WAIT SECONDS=5
TAB CLOSE
WAIT SECONDS=1
 
Также, для увеличения скорости загрузки страниц, можно отключить загрузку картинок 
плагином "image show-hide" для Mozilla Firefox.

Импортирование больших файлов в формате CSV, в СУБД MySQL


Импорт из командной строки
mysql> load data local infile 'W:\\WEBServers\\root\\backup\\dump.csv' into table databasename.tablename fields terminated by '-|-' lines terminated by '|--' (n1,n2,n3,n4,n5,n6);

 '-|-' - разделитель полей
'|--' - разделитель строк
(n1,n2,n3,n4,n5,n6) - перечисление столбцов таблицы

Пример файла:

103238704-|--|-jmyuncker@aol.com-|-r4Vp5iL2VbM=-|-maiden  name|--
103238705-|--|-autumnsomer@yahoo.com-|-BB4e6X+b2xLioxG6CatHBw==-|-boyfriend|--
103238706-|--|-fernandograciliano@hotmail.com-|-Cm8mAzxAiwzioxG6CatHBw==-|-Flamengo|--
103238707-|--|-witold.sadowski@gmail.com-|-n+TZlu41zyHioxG6CatHBw==-|-|--
103238708-|--|-isolon08@gmail.com-|-FAniAwP+U13ioxG6CatHBw==-|-|--
103238709-|--|-ojaimayorga2@yahoo.com-|-kxiV+a47bSlf+E5Ulu/AzA==-|-newest|--
103238710-|--|-sanscia@hotmail.com-|-UimSy9NunUU=-|-reg|--
103238711-|--|-hmgc_@hotmail.com-|-sKZcDAyegNzioxG6CatHBw==-|-muacacias|--
103238712-|--|-jose_rb15@hotmail.com-|-7EdrqFiVnE8=-|-scream|--
103238713-|--|-roy_pol@yahoo.com-|-mvOh9x97N02evXXgSB9QHg==-|-mobile|--

Импортируемый файл размером более 9 Гб. Данный файл невозможно открыть блокнотом и прочим софтом, чтобы посмотреть его содержимое, количество строк, разделители, проверить а действительно ли это CSV файл.

Для решение данной проблемы написан php скрипт для чтения любого количества строк (например 50 первых строк)

Скрипт для построчного чтения и вывода содержимого файла "readdump.php":
<?PHP
$filename = "dump.csv";
if (file_exists($filename) && is_readable ($filename)) {
    $fh = fopen($filename, "r");
    # Processing
// Установили счётчик в ноль
   $counter = 0;
// Запустили цикл
   while($counter++ <= 50) {   
    $line = fgets($fh);
    echo $line;
    }
    fclose($fh);
}


PHP скрипт для чтения CSV файла и записи в базу данных MySQL
<?php set_time_limit (0);
$link = mysql_connect('localhost', 'root', 'usbw');
if (!$link) {
    die('Ошибка соединения: ' . mysql_error());
}
echo 'Успешно соединились';
mysql_select_db('adobe') or die('Could not select database.');

error_reporting(E_ALL | E_STRICT);
ini_set("display_errors", "1");

$filename = "W:/WEBServers/root/sxd/backup/1.csv";
if (file_exists($filename) && is_readable ($filename)) {
    $fh = fopen($filename, "r");
    # Processing
// Установили счётчик в ноль
   $counter = 202629;
// Запустили цикл
   while($counter++ <= 150000000) {   //Читаем построчно 150 млн строк ))
    $line = fgets($fh);

    $line = str_replace("-|-","', '", $line); //Заменим разделители в файле
    $line = str_replace("|--","'", $line);
   
//echo $counter."INSERT INTO `adobe`.`stuffs` (`id`, `n1`, `n2`, `n3`, `n4`, `n5`) VALUES ($counter, '".$line.')'."\n";

mysql_query("INSERT INTO `adobe`.`stuffs` (`id`, `n1`, `n2`, `n3`, `n4`, `n5`) VALUES ($counter, '".$line.')'."\n"); //or die(mysql_error());
 }
    fclose($fh);
}else echo 'eror';
mysql_close($link);

В чем фишка скрипта!

Мы явно указываем столбец id (который в таблице указан как int и автоинкремент) и задаем ему значение равное переменной $counter - тоесть равное номеру строки из файла. При попытке записи строки которая уже существует, строка НЕ БУДЕТ записана, защита от дублей и повторной записи строки. Данный скрипт позволяет продолжить запись/считывание с любой нужной нам строки.

Fix IMacros Error. Немного автоматизации

NS_ERROR_UNEXPECTED: Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIPrefBranch.getCharPref], line 12 (Error code: -1001)

Причина ошибки в кодировке. Откройте Ваш csv файл в программе Notepad++ и смените кодировку документа на Utf8 (Encoding->Encoding in Utf-8), с другими кодировками IMacros отказывается работать.

Стандартный разделитель столбцов для csv файла - ","
То есть содержимое файла выглядит так -  "Столбец1,Столбец2,Столбец3".


При парсинге контента и сохранении его в файл csv нам необходимо сменить разделитель (запятая не очень удачный разделитель для столбцов с контетом).
Путем долгих и мучительных :)) манипуляций с изменением разделителя результаты были не утешительны, команда SET !DATASOURCE_DELIMITER | - как описано на многих сайтах, не срабатывает (при разделителе "|" браузер зависает).
Нашел выход путем применения табуляции, тоесть рабочее решение выглядит так:

SET !ERRORIGNORE YES

' Разделитель
SET !DATASOURCE_DELIMITER " "
SET !DATASOURCE C:\code.csv
SET !DATASOURCE_COLUMNS 3
SET !LOOP 1 

И напоследок, как и просили, встречайте, автоматизированный постинг в Blogger:
VERSION BUILD=9002379
TAB T=1
TAB CLOSEALLOTHERS
URL GOTO=blogger.com/
TAG POS=1 TYPE=A ATTR=TXT:ArtVk&Bugtrack

WAIT SECONDS=4


' Инклюдим базу
SET !ERRORIGNORE YES

' Разделитель
SET !DATASOURCE_DELIMITER " "
' SET !DATASOURCE W:\Robots\blogger.csv
SET !DATASOURCE W:\code.csv
SET !DATASOURCE_COLUMNS 3
'Начало со второй строки, минуя заголовки. '
SET !LOOP 2
'Увеличения счетчика строк спомощью цикла LOOP'
SET !DATASOURCE_LINE {{!LOOP}}

' SET !ERRORIGNORE YES


' Еще несколькими полезными командами в iMacros может явиться 
' понижение скорости выполнения макроса:
' SET !REPLAYSPEED SLOW
' И отключение картинок
' FILTER TYPE=IMAGES STATUS=ON



' В блогге
TAG POS=1 TYPE=A ATTR=TXT:Создатьсообщение
WAIT SECONDS=3
TAG POS=2 TYPE=INPUT:TEXT FORM=NAME:postingForm ATTR=* CONTENT={{!COL2}}

WAIT SECONDS=3

TAG POS=1 TYPE=BUTTON FORM=NAME:postingForm ATTR=TXT:HTML

WAIT SECONDS=2

' TAG POS=1 TYPE=TEXTAREA FORM=NAME:postingForm ATTR=ID:postingHtmlBox CONTENT=xxxx
TAG POS=4 TYPE=DIV ATTR=TXT:СоздатьHTMLОбычныйСсылкаСсылка



TAG POS=1 TYPE=TEXTAREA FORM=NAME:postingForm ATTR=ID:postingHtmlBox CONTENT={{!COL2}}
TAG POS=1 TYPE=SPAN ATTR=TXT:Ярлыки
WAIT SECONDS=4



TAG POS=1 TYPE=TEXTAREA FORM=NAME:postingForm ATTR=CLASS:GCUXF0KCJVB&&ARIA-LABEL:Введитесписокярлыков,разделяяихзапятыми.&&TXT: CONTENT={{!COL2}}



TAG POS=1 TYPE=BUTTON FORM=NAME:postingForm ATTR=TXT:Готово

WAIT SECONDS=4

'Ярлык

TAG POS=2 TYPE=INPUT:TEXT FORM=NAME:postingForm ATTR=* CONTENT={{!COL3}}  

' Название
TAG POS=1 TYPE=TEXTAREA FORM=NAME:postingForm ATTR=ID:postingHtmlBox CONTENT={{!COL1}} 

WAIT SECONDS=2
TAG POS=1 TYPE=BUTTON FORM=NAME:postingForm ATTR=TXT:Публикация

Полезные сервисы для разработчика


Сайт для скругления картинок (создание иконок приложения)
Rounded Corners for Images
Поиск бесплатной мызыки/звуковых эффектов для разработчиков игр.
[ ссылка ]

100% Рабочая программа для накрутки количества друзей, участников в группе ВКонтакте, Facebook'e, количества лайков
[ скачать ]
Промокод для программы: 269494 

Готовые сборки сайтов. Joomla 2.5.4 полностью руссифицированный VirtueMart 2.0.24c


- Сборка для создания интернет магазина на Joomla! 2.5.4 (русский интерфейс)  полностью руссифицированный VirtueMart 2.0.24c, добавлен шаблон. Сборка установлена в WEB - сервера USB Webserver – Portable Web Server, сайт можно запустить прямо на flesh-носителе. [ скачать ]

- JobberBase это простой инструмент с открытым исходным кодом для создания своего сайта с вакансиями.
Убойный юзабильный интерфейс на AJAX.

JobberBase 1.9 — Делаем свой «рабочий» портал
Возможности JobberBase
    Создание вакансий без регистрации
    Поиск работы
    Фильтр на интересующие вакансии
    Панель для администрирования
    RSS-ленты.
    Виджеты, чтобы показывать списки вакансий на других сайтах
    И многое другое… [ скачать ]

Unity3d Скрипт для текстуризации нескольких обьектов из одной текстуры


Хранение нескольких текстур в одном файле png и загрузка частей текстуры для применения к объектам (выбранным префабам).
Создаем пустой объект, вешаем на него скрипт. В настройках скрипта выбираем  текстуру которую будем применять (пример на рисунке). Указываем количество объектов, перетягиваем объекты из окна иерархии в скрипт, задаем координаты x, y с которых будем вырезать текстуру, ширину и высоту для каждого обьекта.


using UnityEngine;
using System.Collections;

//[ExecuteInEditMode()]

public class _BackgroundTexturing_ : MonoBehaviour {
 
 //Для чтения графики
 public Texture2D sourceTex;
 //public ArrayList a = new ArrayList();


 public GameObject[] texObject = new GameObject[2];
 //public int[] TexCount = new int[2];
 public Rect[] sourceRect = new Rect[2];
 
 // Use this for initialization
 void Start () {

  int n = texObject.Length;

  for (int i=0; i <= n-1; i++) {
   /*//var myObject = GameObject.Find(texObject[i]);*/

   var myObject = texObject[i];


   //Читаем графику))
   int x = Mathf.FloorToInt(sourceRect[i].x);
   int y = Mathf.FloorToInt(sourceRect[i].y);

   int width = Mathf.FloorToInt(sourceRect[i].width);
   int height = Mathf.FloorToInt(sourceRect[i].height);

   Color[] pix = sourceTex.GetPixels(x, y, width, height);
   Texture2D destTex = new Texture2D(width, height);
   
   destTex.SetPixels(pix);
   destTex.Apply();
   
   myObject.renderer.material.mainTexture = destTex; //Применить текстуру к обьекту...  
  
  }
  
 }
 
 // Update is called once per frame
 void Update () {
  
 }
}