разрушить?
точку с запятой поставьте после скобочки закрывающей }
Может какая-то из первых версий смарти и была на php3 написана, сейчас уже есть smarty3 - он точно не на 3-ей версии написан :)
Вы уточните, у вас серверная часть точно на java? Если да - то вам php-шаблонизаторы не подойдут.
httrack, teleport pro - это из виндовых.
Насколько помню, иногда эти строки-символы могут показывать не туда, куда надо.
Откройте инструменты разработчика и поставьте брейкпоинт на самое начало выполнения скрипта и пройдитесь пошагово до ошибки.
Крон - это просто запуск скрипта раз в минуту. Ничего руками не надо запускать, как только создал задание - скрипт будет запускаться каждую минуту. Соответственно в скрипте надо при старте смотреть - есть ли письма, которые надо отправлять. Если есть - отправить пачку, пометить отправленные и все. Если писем на отправку нет - то просто завершить работу.
Ну torrents.languages можно прямо в первый запрос в перечисление полей дописать, а вот со вторым - вы что хотите, название языка получить?
Тогда можно приджойнить еще и languages.
В общем, отвечая на ваш вопрос - да, можно.
Идеологически более правильно :) Если не хотите по крону - используйте ваш вариант, только если он где-нибудь на полпути остановится - установить причину будет сложнее.
Да, с БД и списком отправки самое простое решение на мой взгляд.
Отправляйте письма по 10, например, за заход и запускайте скрипт по крону раз в минуту - у вас письма за 200 минут и уйдут.
Хотя, судя по всему я ваш вопрос не понял.
Как вариант - назначить каждом товару поле "группа" и сортировать по нему через field() аналогично, не?