PDA

Zobacz pełną wersję : Instalacja nowego modułu



ragnox
12-07-2007, 13:43
Chciałbym zainstalować moduł Letterman Subscribe 1.2.5 PL pobrany ze strony Joomla. Niestety nigdzie nie znalazłem informacji jak to zrobić. Dopiero poznaję ten CMS i nawet nie wiem od czego zacząć.
Mógłby tu ktoś napisać jak go zainstalować?

Z góry dziękuję za pomoc

nowyr
12-07-2007, 22:28
Witam

Ponieważ to pytanie to podstawy podstaw proponuje przejść do zakładki 'Pomoc' i zapoznać sie z podstawami działania ww. CMS-a. A nie szukać na forum odpowiedzi na pytania, na które już dawno ktoś udzielił odpowiedzi, a nawet więcej stworzył pliki pomocy opisujące działanie Joomli ...

Pzdr.

noodles
13-07-2007, 02:09
eh :) bądź wyrozumialy ;P

zeby zainstalować coś do joomla musisz musisz wybraz z róenego rozwijanego menu Installer pozniej musisz wiedzeć co chcesz zainstalować...

Letterman Subscribe 1.2.5 PL jeżeli po rozpakowaniu pliku masz inne zipy to musisz po pozatku com , mab, mod poznac co jest co i instalowac w odpowiednich sekcjach...

a instaluje sie to tak ze wybierasz poprostu zipa ;)

ragnox
13-07-2007, 09:10
Dzięki noodles, zainstalowałem moduł i potrzebny do niego komponent. No ale mam jeszcze mały problem. Kiedy próbuje opublikować ten komponent, wywala mi błąd:
Fatal error: Call to undefined function: lm_spoofvalue() in /home/ragnox/public_html/modules/mod_lettermansubscribe.php on line 153.
O co w tym chodzi?

noodles
13-07-2007, 18:13
wiec tak edytuj plik mod_lettermansubscribe.php

przejdź sobie od lini około 45
znajdź takie coś:


$my->load( $my->id );
$username = ( !empty( $my->name ) ) ?
$my->name : $my->username;




### tutaj teraz musisz wkleić to co masz pod spodem ###


$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();



### koniec nowego kodu dla wklejenia #pod spodem powinieś
mieć coś takiego##

?>
<script type="text/javascript"
language="Javascript"><!--
function changeTask() {




powodzenia :) teoretycznie powinno działać

ragnox
13-07-2007, 18:43
No i niestety :-(
Wszystko to znajduje się w tym pliku, a mimo to nie działa...
W pliku mod_lettermansubscribe.php wogóle nie znalazłem funkcji lm_spoofvalue().
Kiedy w oknie przeglądarki wpisałem ręcznie index.php?option=com_letterman, na stronie głównej pojawił się ten komponent (ikonka i napis zamów biuletyn).

noodles
13-07-2007, 19:05
--- Module/trunk/mod_lettermansubscribe.php 2007/03/13 06:26:52 18
+++ Module/trunk/mod_lettermansubscribe.php 2007/06/14 07:22:31 19
@@ -1,20 +1,21 @@
<?php
/**
-* Letterman Subscriber Module
+* 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.1
+* @version 1.2.5
*
-* Email: soeren@virtuemart.net
+* Email: support@thejfactory.com
**/

defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
-global $my;
+global $my, $database;
/**
* Configuration
* ------------------
@@ -23,28 +24,39 @@
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 )
+ $pretext = isset( $params->_params->pretext )
? $params->_params->pretext
- :"Keep yourself updated with our FREE newsletters now!";
-
+ :"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);
-
+ $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) );
-
+ $chars = intval( $params->get( 'chars', 15) );
+
//to hide the name field, set it to 1
- $hide_name_field = $params->get( 'hide_name_field', 0);
+ $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() {
@@ -52,7 +64,7 @@
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;
@@ -61,19 +73,19 @@
var a = true; return false;
}
try {
- <?php
+ <?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
}
?>
@@ -86,40 +98,40 @@
echo '<p>'. $pretext .'</p>';
}
?>
- <form method="post" action="<?php echo $mosConfig_live_site ?>/index.php?option=com_letterman" name="lettermanMod">
+ <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
- }
+ <?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
+ <?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>
<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 {
+ 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
+ <?php
}
}
else {
@@ -130,18 +142,18 @@
<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 @$_REQUEST['Itemid'] ?>" />
+ <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>
+ </form>
<?php
$my = $mainframe->getUser();
}

sproboj zamienić te kody
w nim jest " $validate = lm_SpoofValue(1);"
odznaczylem go enterem

ragnox
13-07-2007, 19:20
Mam wersje 1.2.5 z tymi zmianami.
W zmieniłem pozycje modułu z left na user5 i pojawiły się pola subskrypcji, jednak poniżej znowu wyskoczył ten error i nie ładuje się zawartość strony głównej

noodles
13-07-2007, 19:21
to ja rozkladam rece ;/ nigdy tego nie widzalem, podeslij link do
strony moze cos wiecej zrozumiem...

ragnox
13-07-2007, 19:38
Stronka na razie nie jest opublikowana

wernii
13-02-2008, 01:08
Mam takie pytanie szukalem w google tego bledu i nic nie moglem znalesc konkretnego i moje pytanie brzmi czy ktos sie z tym juz uporal?

Poniewaz dzisiaj instalowalem i problem nadal wystepuje:

Fatal error: Call to undefined function: lm_spoofvalue() in


Prosze o odpowiedz