phpRS 2.8.x : phpRS Fórum
Toto fórum je určené výhradně k diskuzi o verzích phpRS v2.8.x.
phpRS - redakční a informační systém
Info o chybě v článku
Zaslán uživatelem/kou: mr3ska (IP adresa zaznamenána)
Datum: 2007-02-01, 00:32

zdravím Vás,

možná se to někomu bude také hodit. Potřeboval jsem, pokud čtenář najde chybu v nějakém článku, aby mi mohl pohodlně přes web zaslat upozornění. Přemýšlel jsem jak to udělat co nejjednodušeji a nakonec jsem využil a upravil již vytvořené funkce v phpRS. Vzhledem k tomu, že se díky rservice.php dá poslat na mail info o zajímavém článku, použil jsem soubor rservice.php. Vím, že pro spoustu z Vás by tato úprava byla jednoduchá, ale když člověk v php moc neumí a nechce nikoho otravovat tak na to vždycky nějak přijde (když se chce, všechno jde).


za řádek 119 v souboru rservice.php jsem vložil toto:


// errormail a send errormail zacatek
function ErrorMail()
{
// bezpecnostni korekce
$GLOBALS["cisloclanku"]=phprs_sql_escape_string($GLOBALS["cisloclanku"]);

// zjisteni titulku
$dotazclanek=phprs_sql_query("select titulek from ".$GLOBALS["rspredpona"]."clanky where link='".$GLOBALS["cisloclanku"]."'",$GLOBALS["dbspojeni"]);
if ($dotazclanek!=0&&phprs_sql_num_rows($dotazclanek)>0):
$pole_clanek=phprs_sql_fetch_assoc($dotazclanek);
else:
$pole_clanek['titulek']='';
endif;

?>
<p align="center" class="nadpis"><? echo RS_CS_ERROR_NADPIS; ?></p>
<p align="center" class="z"><strong><? echo RS_CS_CLANEK; ?>: <? echo $pole_clanek['titulek']; ?></strong></p>
<form action="rservice.php" method="post">
<input type="hidden" name="akce" value="senderror" />
<input type="hidden" name="cisloclanku" value="<? echo $GLOBALS["cisloclanku"]; ?>" />
<input type="hidden" name="prtitulek" value="<? echo $pole_clanek['titulek']; ?>" />
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr class="z"><td> </td><td><input type="hidden" size="40" name="prprijemce" value="email(at)vasedomena.cz" class="textpole" /></td></tr>
<tr class="z"><td><? echo RS_CS_ODESILATEL; ?>:</td><td><input type="text" size="40" name="prodesilatel" value="@" class="textpole" /></td></tr>
<tr class="z"><td colspan="2" align="center"><br /><? echo RS_CS_TEXT_ZPR; ?><br /><textarea name="przprava" cols="50" rows="4" wrap="yes" class="textbox"></textarea></td></tr>
</table>
<p align="center"><input type="submit" value=" <? echo RS_CS_ODESLAT; ?> " class="tl" /></p>
<p align="center" class="z"><? echo RS_CS_ERROR_INFO_TEXT; ?></p>
</form>
<p></p>
<?php
}

function OdeslaniErrorMailu()
{
$chyba=0; // inic. testu na chyby

// test na chyby
if (CtenariTestNaAdresu($GLOBALS["prprijemce"])==0):
$chyba=1;
endif;
if (CtenariTestNaAdresu($GLOBALS["prodesilatel"])==0):
$chyba=1;
endif;

// text zobrazeny na strance
echo "<p align=\"center\" class=\"nadpis\">".RS_CS_ERROR_NADPIS."</p>\n";

if ($chyba==1):
// chyba
echo RS_CS_ERR2;
else:
// sestaveni tela zpravy
$obsah_zpravy=RS_CS_ERROR_MAIL1.' '.$GLOBALS["prtitulek"]."\n";
$obsah_zpravy.=$GLOBALS["baseadr"].'view.php?cisloclanku='.$GLOBALS["cisloclanku"]."\n\n";
$obsah_zpravy.=RS_CS_MAIL2."\n";
$obsah_zpravy.=$GLOBALS["przprava"];
// sestaveni predmetu zpravy
$predmet_zpravy=RS_CS_ERROR_MAIL_PREDMET.' '.$GLOBALS["wwwname"];

include_once('admin/astdlib_mail.php'); // nacteni postovni tridy

$odeslani_posty = new CPosta();
$odeslani_posty->Nastav("predmet",$predmet_zpravy);
$odeslani_posty->Nastav("obsah",$obsah_zpravy);
$odeslani_posty->Nastav("adresat",$GLOBALS["prprijemce"]);
$odeslani_posty->Nastav("odesilatel_mail",$GLOBALS["prodesilatel"]);
$odeslani_posty->Nastav("odesilatel_txt",'');
if ($odeslani_posty->Odesilac()==1):
echo "<p align=\"center\" class=\"z\">".RS_CS_DOPIS_OK."</p>\n"; // vse OK
else:
echo "<p align=\"center\" class=\"z\">".RS_CS_ERR1."</p>\n"; // chyba
endif;
endif;

echo "<p align=\"center\" class=\"z\"><a href=\"view.php?cisloclanku=".$GLOBALS["cisloclanku"]."\">".RS_CS_ZOBRAZ_CLA."</a></p>\n";
echo "<p></p>\n";
}
//errormail a senderrormail konec

s tím, že si musíte upravit onen červeně označený mail

dále musíte upravit switch na konci rservice.php z tohoto:

switch ($GLOBALS["akce"]):
case 'info': NovyMail(); break;
case 'sendinfo': OdeslaniMailu(); break;
endswitch;

na toto:

switch ($GLOBALS["akce"]):
case 'info': NovyMail(); break;
case 'sendinfo': OdeslaniMailu(); break;
case 'error': ErrorMail(); break;
case 'senderror': OdeslaniErrorMailu(); break;
endswitch;

poté přidáte do souboru sl_cz.php (případně sl_sk.php) tyto řádky:

define('RS_CS_ERROR_NADPIS','Informační e-mail o chybě v článku');
define('RS_CS_ERROR_MAIL_PREDMET','Informace o chybě v článku na serveru');
define('RS_CS_ERROR_MAIL1',"Zdá se, že při čtění následujícího článku si někdo všiml chyby a zaslal Vám tento informační e-mail!\n\nČlánek:");
define('RS_CS_ERROR_INFO_TEXT','Prostřednictvím tohoto e-mailu můžete upozornit naši redakci na jakoukoliv chybu objevenou v tomto článku. Odeslání tohoto e-mailu je podmíněno vyplněním vaší elektronické adresy.');

a pak abyste novou funkci mohli použít přidáte do článkové šablony za tohle:

<a href="rservice.php?akce=info&amp;cisloclanku=<?php echo $GLOBALS["clanek"]->Ukaz("link"); ?>" target="_blank"><img src="image/freestyle/mail.gif" height="22" width="20" border="0" hspace="0" vspace="1" align="middle" alt="Informační e-mail" /></a>

toto:

<a href="rservice.php?akce=error&amp;cisloclanku=<?php echo $GLOBALS["clanek"]->Ukaz("link"); ?>" target="_blank"><img src="image/freestyle/error.gif" height="22" width="20" border="0" hspace="0" vspace="1" align="middle" alt="Informační e-mail" /></a>


snad se to bude taky někomu hodit. S pozdravem Tomáš



PS: možná by se něco takového dalo dát do nové verze phpRS ;-)




Celkem upraveno 4×. Poslední úprava mr3ska v 01.02.2007 00:43.

Re: Info o chybě v článku
Zaslán uživatelem/kou: Matiz (IP adresa zaznamenána)
Datum: 2007-02-02, 17:40

Jo, funguje to jak si popsal ... jen jsem připojil ikonku a je to téměř dokonalé ... ;)
Ale napadá mě jestli by se to nedalo upravit tak, aby ten email přišel příslušnému autorovi článku.
Popř. ještě adminovi (třeba s kopií) - aby i on věděl.

Re: Info o chybě v článku
Zaslán uživatelem/kou: mr3ska (IP adresa zaznamenána)
Datum: 2007-02-02, 18:36

mno dalo nedalo - vsecko de kdyz se chce ale ted honem nevim. musel bych se na to kouknout

Re: Info o chybě v článku
Zaslán uživatelem/kou: svetcest (IP adresa zaznamenána)
Datum: 2007-02-02, 20:04

můžete mi poslat odkaz kde to máte zprovoznění...abych se mrknul...díky

Re: Info o chybě v článku
Zaslán uživatelem/kou: mr3ska (IP adresa zaznamenána)
Datum: 2007-02-02, 22:52

tak treba tady [http://www.onelove.cz/view.php?nazevclanku=zivotopis-rase-iby&cisloclanku=2007010002] je to ta ikonka s cervenym krizkem - vypada to uplne stejne jako kdyz nekomu posilas info o clanku na mail jen je tam jen jedno okynko pro zadani mailu odesilatele - v tomto pripade cloveka ktery nasel chybu

Re: Info o chybě v článku
Zaslán uživatelem/kou: mr3ska (IP adresa zaznamenána)
Datum: 2010-09-30, 21:14

zdravím Vás, mám problém, nějakej spambot mi začal využívat formulář odesílání infomailu a mailu o chybě a nevim jak mu zabránit v dalším odesílání. teď jsem měl 65 mailů ve schránce.



Lituji, ale pouze registrovaní uživatelé mohou zasílat příspěvky do této sekce.
This forum powered by Phorum and designed by STaNBoSS.