Hier kann eine Notiz zum Merk-Eintrag hinzugefügt werden (optional)
| [ Anmelden zum schreiben ] |
| Kommentarfunktion in selfb anwenden? | |||
|---|---|---|---|
| Legend-game Mitglied
Posts: 77 |
Hallo^^
Fals ihr euch fragt wo ich war, ich war im urlaub und bin jetzt wieder da.. Jetzt zum thema: Ich möchte in einer eigenen seite die kommentar funktion der News nutzen. Kann ich das irgendwie so machen? Also nicht eine externe seite sondern eine im admin cp erstelle "eigene seite/box" danke für antworten...=) verwendete ilchClan Version: 1.1 betroffene Homepage: zeldaend.funpic.de Please watch: zeldaend.de! | ! www.zeldaend.de ! Danke!!! |
||
| Mairu Coder
Posts: 12770 |
Nein, du musst dafür auf jeden Fall eine eigene Datei mitm Editor anlegen und hochladen, man könnte allerdings etwas basteln, so dass eine selfpage eingebunden wird und dann drunter die Kommentarfunktion.
Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite |
||
| Legend-game Mitglied
Posts: 77 |
nja ich bin html / php, .. noob könnte mir das jemand machen`?
![]() ![]() Please watch: zeldaend.de! | ! www.zeldaend.de ! Danke!!! |
||
| Mairu Coder
Posts: 12770 |
So also damit es ordentlich funktioniert musst du noch mit phpmyadmin in der Tabellen prefix(ic1)_koms bei Struktur die Länge von 10 auf etwa 30 Stellen, dann folgende Dateien anlegen.
include/contets/selfkom.php <?php
# Copyright by: Manuel
# Support: www.ilch.de
defined ('main') or die ( 'no direct access' );
# liest die <!--@..=..@--> in den ersten 1024 Zeichen in ein Array aus
function get_properties($file){
$handle = fopen ($file, 'r');
$buffer = fread($handle, 1024);
fclose ($handle);
preg_match_all("|(?:<!--@(?P<name>[^=]*)=(?P<value>.*)@-->)|U",$buffer, $out, PREG_SET_ORDER);
unset($buffer);
$properties= array();
foreach($out as $x){
$properties[$x[name]]=$x[value];
}
unset($out);
return $properties;
}
function showpage($file,$page) {
//Seite anzeigen
require_once($file);
//Kommentarformular
$tpl = new tpl ( 'selfkom' );
$ar = array (
'pagename' => $page,
'uname' => $_SESSION['authname'],
'ANTISPAM' => (loggedin()?'':get_antispam ('selfkom_'.$page, 0)),
);
$tpl->set_ar_out($ar, 0);
//Kommentare anzeigen
$erg1 = db_query("SELECT text, name, id FROM `prefix_koms` WHERE uid = '1' AND cat = 'SELFKOM_$page' ORDER BY id DESC");
$ergAnz1 = db_num_rows($erg1);
if ( $ergAnz1 == 0 ) {
echo '<b>'.$lang['nocomments'].'</b>';
} else {
$zahl = $ergAnz1;
while ($row1 = db_fetch_assoc($erg1)) {
$row1['text'] = bbcode(trim($row1['text']));
if (has_right(-7)) {
$row1['text'] .= '<a href="?selfkom-'.$page.'-d'.$row1['id'].'"><img src="include/images/icons/del.gif" alt="löschen" border="0" title="löschen" /></a>';
}
$tpl->set_ar_out( array('NAME' => $row1['name'], 'TEXT' => $row1['text'], 'ZAHL' => $zahl ) , 1 );
$zahl--;
}
}
}
if ( $menu->get(1) != '' ) {
# moegliche endungen
$ende_ar = array ('.html','.htm','.php');
$um = $menu->get(1);
# um ../ backlinks in unterordner kicken.
$um = str_replace('../','',$um);
$um = str_replace('./','',$um);
//Kommentare löschen
if ($menu->getA(2) == 'd' AND is_numeric($menu->getE(2)) AND has_right(-7)) {
$kommentar_id = escape($menu->getE(2),'integer');
db_query("DELETE FROM prefix_koms WHERE uid = '1' AND cat = 'SELFKOM_$um' AND id = ".$kommentar_id);
}
//Kommentar hinzufügen
if ( (loggedin() OR chk_antispam ('selfkom_'.$um)) AND !empty($_POST['kom_name']) AND !empty($_POST['kom_txt']) ) {
$_POST['txt'] = escape($_POST['kom_txt'],'string');
$_POST['name'] = escape($_POST['kom_name'],'string');
db_query("INSERT INTO `prefix_koms` VALUES ('','1','SELFKOM_$um','".$_POST['name']."','".$_POST['txt']."')");
$s = mysql_error();
}
foreach ($ende_ar as $ext ) {
$file='include/contents/selfbp/selfp/'.$menu->get(1).$ext;
if ( file_exists ( $file ) ) {
$properties = get_properties($file);
if($properties['view'] == "fullscreen"){
showpage($file,$um);
}elseif($properties['view'] == "popup"){
if($menu->get(2)!='true'){
$title = $allgAr['title'].' :: '.$properties['title'];
$hmenu = $properties['hmenu'];
$design = new design ( $title , $hmenu );
$design->header();
?>
<script language="JavaScript" type="text/javascript">
<!--
var fenster = window.open('index.php?self-<?php echo $menu->get(1); ?>-true','Seite','<?php echo $properties['viewoptions']; ?>');
fenster.focus();
-->
</script>
<?php
echo '<a href="index.php?self-'.$menu->get(1).'-true">'.$properties['title'].'</a>';
$design->footer();
}else{
showpage($file,$um);
}
}else{
$title = $allgAr['title'].' :: '.$properties['title'];
$hmenu = $properties['hmenu'];
$design = new design ( $title , $hmenu );
$design->header();
showpage($file,$um);
echo $s;
$design->footer();
}
$ok=true;
break;
}
}
}
if($ok != true){
# dieser teil hier muss auch in die eigene self datei eingefuehgt werden.
# die datei muss aber die endung .php haben!!! und dann einfach den teil hier
# einfueghen und zwar bis zum #ENDE DESIGN
# und dann noch ganz am ende der self_ datei $design->footer();
# allers natuerlich in den php bereich der seite.
$title = $allgAr['title'];
$hmenu = "";
$design = new design ( $title , $hmenu );
$design->header();
#ENDE DESIGN
# das muss auch in die self datei eingefueght werden wenn sie direkt aufgerufen
# werden soll, davor aber auch noch das header ding am anfang ;9...
$design->footer();
}
?>
include/template/selfkom.htm <br /><hr /><br /><form action="index.php?selfkom-{pagename}" method="POST">
<fieldset>
<legend>{_lang_writecomment}</legend>
<input type="text" name="kom_name" value="{uname}" /> {ANTISPAM} <input type="submit" value="{_lang_enter}"><br />
<textarea style="width: 98%" cols="50" rows="2" name="kom_txt"></textarea><br />
</fieldset>
</form>
<br />
{EXPLODE}
<span class="Cmite"># <b>{ZAHL}</b> von {NAME}</span>
<br />{TEXT}<br /><br />
Dann kannst du deine Selfpage über index.php?selfkom-NAME aufrufen und dann sollte man Kommentare vergeben können. Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite |
||
| Legend-game Mitglied
Posts: 77 |
hm ist es also nicht möglich z.b. von der news.htm den code von dem kommentarfeld zu nehmen und einfach in eine eigene seite zu verschieben ggf. noch ein wenig dran umändern?
Please watch: zeldaend.de! | ! www.zeldaend.de ! Danke!!! |
||
| Mairu Coder
Posts: 12770 |
Ähm das da ist eine fertige Lösung wo ist dein Problem, du erstellst einfach eine Selfpage und rufst sie über ?selfkom-NAME statt ?NAME auf und dann hast du Kommentare, sag mir jetzt nicht, dass ich mir die Arbeit umsonst gemacht habt!
Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite |
||
| Legend-game Mitglied
Posts: 77 |
hm nix umsonst^^
also noch ne frage: kann ich dann in der selfkom-name auch noch einen text bzw. grafiken, usw. hinzufügen? Please watch: zeldaend.de! | ! www.zeldaend.de ! Danke!!! |
||
| Mairu Coder
Posts: 12770 |
Erde an Legend-game, du erstellst einfach eine Selfpage wie BISHER!!! Nur der Aufruf ist leicht modifiziert.
Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite |
||
| Beutel Mitglied
Posts: 35 |
Ich habe da mal noch eine Frage wie mache ich es das man den Namen nicht mehr ändern kann? beim Kommentare geben! Bei News haut das hin hier ist es aber nicht mit drin!
Danke schonmal im vorraus! |
||
| Mairu Coder
Posts: 12770 |
Hier gibts das type="input" doch auch?
Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite |
||
| Lorp_Oo Mitglied
Posts: 274 |
*alten Therd rauskramm
hi, ich habe leider kein phpmyadmin, wie könnte ich den jetzt die mysql db updaten? Bin php-Noob und hab es mal mit nem Install script probiert aber kläglich gescheitert^^. meine ansätze: vom liga-teamscript die install.php genommen und habe die mysql datei abgeändert, hat leidern nur eine errorpage ausgegeben. |
||
| Mairu Coder
Posts: 12770 |
Wie kann man kein phpmyadmin haben, das ist bei jedem Hoster dabei und wenn man einen eigenen Server hat, dann kopiert/installiert man sich das halt drauf.
Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite |
||
| Lorp_Oo Mitglied
Posts: 274 |
naja hab Plesk und da ist phpmyadmin nicht dabei (soweit ich weiß gibt es das nur bei confixx)
|
||
| scooterone Mitglied
Posts: 77 |
wenn du bei plesk die datenbank aufrufst bist du ja dann im phpmyadmin, jedenfalls ist es bei mir so
|
||
| Lorp_Oo Mitglied
Posts: 274 |
Omg was bin ich den für ein extrem noob, habe sonst immer nur DB erstellt admin hinzugefügt und das teul in ruhe gelassen. Dachte auf DBAdmin kann man nur die Benutzer verwalten. *schäm
thx
//Edit jetzt funzt alles Perfekt THX nochmal Zuletzt modifiziert von Lorp_Oo am 28.11.2007 - 15:08:21 |
||
| Ibizakid Mitglied
Posts: 52 |
läuft das auch mit 1.1K?
Klappt da irgendwie nicht (oder ich bin zu dumm dazu)!!! |
||
| Mairu Coder
Posts: 12770 |
Sollte schon, also zumindest vom Prinzip, und mit solchen ausführlichen Fehlerbeschreibungen kann ich leider nix anfangen.
Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite |
||
| Ibizakid Mitglied
Posts: 52 |
also, ich habs eigentlich so gemacht wie hier beschrieben, aber es kommt nur die selfpage wie ich sie erstellt hab ohne kommentarfunktion.
|
||
| htdocs Mitglied
Posts: 333 |
@Mariu
Zitat Ähm das da ist eine fertige Lösung wo ist dein Problem, du erstellst einfach eine Selfpage und rufst sie über ?selfkom-NAME statt ?NAME auf und dann hast du Kommentare, sag mir jetzt nicht, dass ich mir die Arbeit umsonst gemacht habt!
Nein Mariu ich habe es gebraucht und dafür dein Thema was knapp 4 Jahre alt ist ausgekrammt^^ Zumindest habe ich mal es als vorschau gebraucht hehe Zuletzt modifiziert von htdocs am 15.11.2011 - 19:01:38 brumm brumm ![]() |
||
| gihomer117 Mitglied
Posts: 19 |
ich hab da noch ne frage^^
unzwar wie müssen die beiden dateien heißen, immer selfkom oder müssen die so heißen wie die selfpage, z.b. selfp_charts.php? das hat sich erledigt, ABER: ich weiß nicht was ich nun genau in die selfpage .php datei einfügen soll: if($ok != true){
# dieser teil hier muss auch in die eigene self datei eingefuehgt werden.
# die datei muss aber die endung .php haben!!! und dann einfach den teil hier
# einfueghen und zwar bis zum #ENDE DESIGN
# und dann noch ganz am ende der self_ datei $design->footer();
# allers natuerlich in den php bereich der seite.
$title = $allgAr['title'];
$hmenu = "";
$design = new design ( $title , $hmenu );
$design->header();
#ENDE DESIGN
# das muss auch in die self datei eingefueght werden wenn sie direkt aufgerufen
# werden soll, davor aber auch noch das header ding am anfang ;9...
$design->footer();
}
?>
das alles hier? und wie muss ich die selfpage dann umbennen, damit ich auf den link hier komme: index.php?selfkom-NAME meins jetzt log.luux.de/hp/index.php?selfkomcharts Zuletzt modifiziert von gihomer117 am 15.03.2012 - 15:55:30 |
||
| gihomer117 Mitglied
Posts: 19 |
ich seh grad, das is für boxen die oben erstellen dateien, wie macht man das dann in selfpages?
kenn mich da nicht sehr gut aus, wäre über hilfe also sehr dankbar... |
||
| Mairu Coder
Posts: 12770 |
Das ist für Selfpages, die werden normal über self-NAME aufgerufen, wenn du die hier bereitgestellten Dateien mit selfkom.php erstellst, kannst du die eigenen Seiten über selfkom-NAME aufrufen, da der Code aber schon recht als ist, weiß ich nicht ob er noch für die neusten Versionen geeignet ist.
Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite |
||
| [ Anmelden zum schreiben ] |