LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
27.05.2012, 03:17:53 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Letterman и Joostina 1.3  (Прочитано 1888 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Mikl
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 128


« : 10.02.2011, 22:07:44 »

Ребята! Вроде почти удалось сделать этот замечательный компонент рассылки писем под Joostina 1.3. Потом могу файлы выложить.
Но есть одна проблема. Загружаю mod_letterman_1_2_5, а во фронте сайта пишет: This module requires the Letterman component.

Что делать? Как подключить компонент к модулю? Подскажите пожалуйста. Вроде единственная проблема осталась и Joostina 1.3 с Letterman подружатся Azn

Код модуля: 

Код:
<?php
/**
* Letterman Subscriber Module
* based on the one for Yanc 1.3
*
* @author shaynebartlett
* @author soeren
* @author Wee Keat Chin
* @Copyright (C) 2004-2005 soeren
* @ All rights reserved
* @ Released under GNU/GPL License : http://www.gnu.org/copyleft/gpl.html
* @version 1.2.5
*
* Email: support@thejfactory.com
**/

defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
global $my, $database;
/**
 * Configuration
 * ------------------
 */
if( !file_exists($mosConfig_absolute_path . "/components/com_letterman/letterman.php")) {
echo '<p>This module requires the Letterman component.</p>';
}
else {

if( !@include_once( $mosConfig_absolute_path . "/administrator/components/com_letterman/language/$mosConfig_lang.messages.php" ) ) {
include_once( $mosConfig_absolute_path . "/administrator/components/com_letterman/language/english.messages.php" );
}

require_once( $mosConfig_absolute_path . '/components/com_letterman/letterman.class.php');

// The Text to be shown in front of the Subscribe Form
$pretext = isset( $params->_params->pretext )
? $params->_params->pretext
:"Keep yourself updated with our FREE newsletters now!";

//1 to limit the number of characters of title, 0 to disable it
$chars_limit = $params->get( 'chars_limit', 1);

// used with character limits enabled. the value signifies the number of characters to display
$chars = intval( $params->get( 'chars', 15) );

//to hide the name field, set it to 1
$hide_name_field = $params->get( 'hide_name_field', 0);
$my->load( $my->id );
$username = ( !empty( $my->name ) )? $my->name : $my->username;

// GetItemid
$query = "SELECT id"
. "\n FROM #__menu"
. "\n WHERE type = 'components'"
. "\n AND published = 1"
. "\n AND link = 'index.php?option=com_letterman'"
;
$database->setQuery( $query );
$_Itemid = $database->loadResult();

?>
<script type="text/javascript" language="Javascript"><!--
function changeTask() {
var name = document.lettermanMod.subscriber_name.value;
var email;
var max_length = <?php echo $chars ?>;
var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i

if (filter.test(document.lettermanMod.email.value)) {
email = document.lettermanMod.email.value;
var a = true;
} else {
alert("<?php echo LM_FORM_NOEMAIL ?>");
var a = true; return false;
}
try {
<?php
  if( !empty($chars_limit) && $hide_name_field=="0" ) { ?>
if(document.lettermanMod.subscriber_name.length > max_length) {
alert("<?php echo LM_FORM_SHORTERNAME; ?>");
return false;
}
<?php
}
  if( $hide_name_field=="0" ) { ?>
if(document.lettermanMod.subscriber_name.length < 1) {
alert("<?php echo LM_FORM_NONAME ?>");
return false;
}
<?php
  }
  ?>
}
catch(e) {}
return true;
} // -->
</script>
<?php if( !empty( $pretext)) {
echo '<p>'. $pretext .'</p>';
}
?>
<form method="post" action="<?php echo $mosConfig_live_site ?>/index.php?option=com_letterman&amp;Itemid=<?php echo $_Itemid; ?>" name="lettermanMod">
<p>
<?php
if($hide_name_field == 1) { ?>
  <input type="hidden" name="subscriber_name" value="<?php echo !empty( $username)? $username: "Subscriber"; ?>" />
<?php
}
else { ?>
         <input type="text" id="subscriber_name" style="font-size:smaller;" name="subscriber_name" class="inputbox" value="<?php echo $username; ?>" /><br/>
         <span class="smallgrey"><label for="subscriber_name"><?php echo _CMN_NAME ; ?></label></span><br/>
<?php
}
?>
<input type="text" id="lm_email" name="email" style="font-size:smaller;" class="inputbox" value="<?php echo $my->email; ?>" /><br/>
<span class="smallgrey"><label for="lm_email"><?php echo _CMN_EMAIL ; ?></label></span>
</p>
<p>
<?php
if( $my->id ) {

$q = "SELECT subscriber_id FROM `#__letterman_subscribers` WHERE user_id=".$my->id.' OR subscriber_email=\''.$my->email.'\'';
$database->setQuery($q); $subscriber = $database->loadResult();

if( empty($subscriber)) { ?>
<input name="task" type="hidden" value="subscribe" />
<input type="submit" class="button" value="<?php echo LM_SUBSCRIBE ?>" onclick="return changeTask();" />
<?php
}
else {
echo LM_ALREADY_SUBSCRIBED;
?><br/>
<input name="task" type="hidden" value="unsubscribe" />
<input type="submit" onclick="return( confirm('<?php echo LM_CONFIRM_UNSUBSCRIBE ?>'));" class="button" value="<?php echo LM_UNSUBSCRIBE ?>" onclick="return changeTask();" />
<?php
}
}
else {
?>
   <input name="task" type="radio" class="inputbox" id="lm_subscribe" value="subscribe" checked="checked"/>
<label for="lm_subscribe"><?php echo LM_SUBSCRIBE; ?></label><br/>
<input name="task" type="radio" class="inputbox" id="lm_unsubscribe" value="unsubscribe" />
<label for="lm_unsubscribe"><?php echo LM_UNSUBSCRIBE; ?></label>
<br/>
<input type="submit" class="button" value="<?php echo LM_BUTTON_SUBMIT ?>" onclick="return changeTask();" />

<?php
}
?>
</p>
<input type="hidden" name="Itemid" value="<?php echo $_Itemid; ?>" />
<?php
  // used for spoof hardening
$validate = lm_SpoofValue(1);
?>
<input type="hidden" name="<?php echo $validate; ?>" value="1" />
</form>
<?php
$my = $mainframe->getUser();
}
?>
Записан
Vladzimir
Давно я тут
****

Репутация: +22/-0
Offline Offline

Пол: Мужской
Сообщений: 334


В очередь! в очередь! День Сурка © М.Борзыкин


« Ответ #1 : 11.02.2011, 00:08:08 »

Не объявлена глобальная переменная $mosConfig_absolute_path
Но лучше заменить в модуле все $mosConfig_absolute_path на JPATH_BASE
Записан
Mikl
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 128


« Ответ #2 : 11.02.2011, 00:13:55 »

Vladzimir, а как строка должна выглядеть? допустим эта:

Код:
if( !file_exists($mosConfig_absolute_path . "/components/com_letterman/letterman.php")) {
echo '<p>This module requires the Letterman component.</p>';
}
else {
Записан
Vladzimir
Давно я тут
****

Репутация: +22/-0
Offline Offline

Пол: Мужской
Сообщений: 334


В очередь! в очередь! День Сурка © М.Борзыкин


« Ответ #3 : 11.02.2011, 04:00:51 »

Код:
if( !file_exists(JPATH_BASE . '/components/com_letterman/letterman.php')) {
echo '<p>This module requires the Letterman component.</p>';
}
else {
Записан
Mikl
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 128


« Ответ #4 : 11.02.2011, 09:13:12 »

хм... теперь пишет в модуле такую штуку:

Код:
Fatal error: Call to a member function Quote() on a non-object in /home/site.com/docs/includes/libraries/database/database.php on line 821

что копать?..
« Последнее редактирование: 11.02.2011, 15:38:27 от Mikl » Записан
Arkadiy
Moderator
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #5 : 11.02.2011, 09:38:45 »

Этой функции не передается ничего, либо передаеттся не объект. Смотри где в модуле вызывается эта функция и что ей передается.
Записан
Vladzimir
Давно я тут
****

Репутация: +22/-0
Offline Offline

Пол: Мужской
Сообщений: 334


В очередь! в очередь! День Сурка © М.Борзыкин


« Ответ #6 : 11.02.2011, 11:32:02 »

Наверное из-за вот этого проблемы
Код:
$query = "SELECT id"
. "\n FROM #__menu"
. "\n WHERE type = 'components'"
. "\n AND published = 1"
. "\n AND link = 'index.php?option=com_letterman'"
;

Надо переписать более красиво (убрать переводы строки и т.д.)
Записан
Arkadiy
Moderator
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #7 : 11.02.2011, 11:39:58 »

Да не должно от этого быть, я так многие запросы на строки бью чтобы при отладке нормально читались. Возможно такой строки в таблице нет?
Записан
Mikl
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 128


« Ответ #8 : 11.02.2011, 15:40:23 »

хмм... и что тут сделать можно?
Записан
Arkadiy
Moderator
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #9 : 11.02.2011, 15:46:00 »

1. Вывести этот запрос на отладку функцией var_dump или print_r, скопировать запрос и проверить его в майадмине, предварительно заменив #_ на свой префикс БД. Если выводит непустую строку значит все ннормально и ошибка происходит дальше, если нет, то разбирать запрос, хотя с виду он правильный.
2. А какой функцией у тебя создается объект данных из этого запроса?
Записан
Mikl
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 128


« Ответ #10 : 11.02.2011, 16:04:52 »

Arkadiy, я в БД вообще на шарю фактически... где можно почитать что-то, чтобы ответить на Ваши вопросы?
Записан
Arkadiy
Moderator
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #11 : 11.02.2011, 18:16:30 »

Ну хотя-бы php.su про MySQL и php
Записан
Mikl
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 128


« Ответ #12 : 11.02.2011, 23:43:24 »

не могу врубиться... может кто поможет?..
Записан
Arkadiy
Moderator
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #13 : 11.02.2011, 23:52:13 »

Ошибка не явная и никто не сможет подсказать ее 100% решение, даже неизвестно что ее производит.
Записан
Mikl
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 128


« Ответ #14 : 12.02.2011, 11:10:53 »

я бы смог это сделать, если бы была хотя бы более подробная пошаговая инструкция... Azn
Записан
Arkadiy
Moderator
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #15 : 12.02.2011, 11:35:51 »

Да как таковой инструкции-то и нет, можно пробовать комментировать разные строки и смотреть когда уберется эта ошибка, исходя из этого и думать дальше.
Записан
Mikl
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 128


« Ответ #16 : 12.02.2011, 11:38:13 »

Arkadiy, комментировать тут - includes/libraries/database/database.php
?
Записан
Arkadiy
Moderator
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #17 : 13.02.2011, 02:02:24 »

Нет, в модуле. Там все работает нормально.
Записан
Mikl
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 128


« Ответ #18 : 13.02.2011, 13:28:32 »

Нет, в модуле. Там все работает нормально.
пробую, но пока что-то нет результата... на другом сайте в ошибке выше прибавляется ещё такая:

Код:
Notice: Undefined property: mosUser::$_db in /home/siti.ru/docs/includes/libraries/database/database.php on line 821
Записан
Mikl
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 128


« Ответ #19 : 13.02.2011, 14:08:17 »

Помогло комментирование вот этой строки:

Код:
/*
//to hide the name field, set it to 1
$hide_name_field = $params->get( 'hide_name_field', 0);
$my->load( $my->id );
$username = ( !empty( $my->name ) )? $my->name : $my->username;
 */
Записан
Arkadiy
Moderator
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #20 : 13.02.2011, 16:20:34 »

Значит косячит строка
Код:
$my->load( $my->id );
Попробуй закомментировать только ее и все.
Записан
Gold Dragon
Moderator
*****

Репутация: +33/-2
Offline Offline

Пол: Мужской
Сообщений: 985



« Ответ #21 : 25.03.2011, 09:56:23 »

Mikl, компонент адаптирован под 1.3.0.4 ? Если ДА, то поделись. Если НЕТ, то я буду адаптировать, т.к. очень нужен
Записан
Mikl
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 128


« Ответ #22 : 25.03.2011, 11:06:39 »

Mikl, компонент адаптирован под 1.3.0.4 ? Если ДА, то поделись. Если НЕТ, то я буду адаптировать, т.к. очень нужен
слушай, мне сложно сказать. но я сделал так, что у меня всё что надо - работает Azn файлы рабочие могу скинуть, пиши в личку куда
Записан
Gold Dragon
Moderator
*****

Репутация: +33/-2
Offline Offline

Пол: Мужской
Сообщений: 985



« Ответ #23 : 25.03.2011, 11:22:00 »

отписался... проверю что и как и тогда выложу компонент у себя на сайте
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet