Veranstaltungs-Modul

Begonnen von Musicman75, 16 Januar 2005, 11:43:51

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Biker

Ich habe das Modul vera (E-INVITATIONS v.1.0.0 for PHP Nuke v.5.5) mal testweise installiert, und es läuft auch einwandfrei unter MX 2.1a, aber ich finde es nicht so toll.

Wenn man eine Einladung schreibt, und versendet, kann man diese später nicht mehr an andere versenden, sondern nur noch editieren oder löschen...also absolut ungeeignet für Veranstaltungen, wenn nicht von Anfang an feststeht, wer teil nehmen soll/könnte!

Gibt es denn wirklich kein anderes Modul, was den Zweck erfüllt?

@Tora
ZitatHabe mir die 2f-Version kurz angesehen, die läuft ohne Änderung nicht im vkpMx.
Die nuke-Version dürfte funzen.

Muss da viel geändert werden?

@Bornstecker
..gibt es da große Unterschiede zwischen der beta4 und der 0.9.5 fürs 2F-CMS?

Gruß
Bernd
Detektei Martin - wir bringen Licht ins Dunkle!

Musicman75

Hallo,

ich habe es jetzt mal mit der Schleide des Newsletters probiert, hat aber nicht hingehauen. Keiner ne Ahnung, wie ich das lösen kann?

EMailAdressen auslesen und mit komma getrennt einer Variablen zuweisen.

Ich habe es mit diesem Code versucht, leider ohne erfolg:
{
$query = "select email from ".$user_prefix."_users";
$query_result = mysql_query ($query);
$zeilen = mysql_num_rows ($query_result);
if (($query_result) AND ($zeilen ==0)) {
$inv_addresses = 0;
} else {
for ($i = 0; $i < $zeilen; $i++) {
$email_array = mysql_fetch_row ($query_result);
$inv_addresses [$i] = $email_array;
}
return $inv_addresses;
}
}


$inv_addresses ist die Variable, die die adressen ausgeben soll. diese ist schon im script vorhanden.
Unaufgeforderte Support PMs & Emails werden ignoriert

Immer erst die Boardsuche verwenden und gegebenenfalls einen neuen Threat eröffnen, wenn das Problem noch nicht behandelt wurde!

jubilee

Hallo !
Versuch das einmal :

$inv_addresses [$i] = $email_array[0];

MfG
jubilee

Andi

Zitat von: Biker am 24 Januar 2005, 11:53:31
@Tora
ZitatHabe mir die 2f-Version kurz angesehen, die läuft ohne Änderung nicht im vkpMx.
Die nuke-Version dürfte funzen.

Muss da viel geändert werden?

@Bornstecker
..gibt es da große Unterschiede zwischen der beta4 und der 0.9.5 fürs 2F-CMS?

Moin :)

so genau habe ich es nicht angesehen. Aber da das 2f-vkp und vkpMx beide einigermassen nuke5.5 kompatibel sind dürfte es kein grosses Problem sein. Was mir aufgefallen ist, sind die speziellen 2f-vkp API-Funktionen, die verwendet werden. Die müsste man nachbilden, oder gegen das vkpMx Pendant ersetzen.

Ansonsten findest du die Unterschiede der beiden Modulversionen indem oben genannten Artikel auf Bornsteckers Seite ;)
schön´s Grüssle, Andi

Musicman75

funktioniert auch nicht. Das hier ist der komplette code, zwischen den ### habe ich die abfrage eingebaut.

function send_inv($inv_sender, $inv_addresses, $inv_subject, $story, $inv_decoration, $posttype) {
global $user, $cookie, $prefix, $dbi, $user_prefix, $module_name, $sitename, $AllowableHTML;
include("header.php");
include("modules/$module_name/config.php");
inv_security();
$result = sql_query("select uid, email from ".$user_prefix."_users where uname='$cookie[1]'", $dbi);
list($uid, $email) = sql_fetch_row($result, $dbi);
#############
{
$query = "select email from ".$user_prefix."_users";
$query_result = mysql_query ($query);
$zeilen = mysql_num_rows ($query_result);
if (($query_result) AND ($zeilen ==0)) {
$inv_addresses = 0;
} else {
for ($i = 0; $i < $zeilen; $i++) {
$email_array = mysql_fetch_row ($query_result);
$inv_addresses [$i] = $email_array[0];
}
return $inv_addresses;
}
}
#############
title(""._EINVITATIONS."");
    if (strlen($inv_sender) == 0)
        $inv_sender = $email;
    if (strlen($inv_subject) == 0) 
      $inv_subject = ""._INVDEFAULTSUBJECT."$sitename";
$inv_subject = ereg_replace("\'", "'", $inv_subject);
$inv_subject = stripslashes ($inv_subject);
$story = stripslashes ($story);
OpenTable();
echo "<center><b>"._INVSENDNEW."</b>";
echo "<br><br>"
    ."<table><tr><td align=\"left\">"
."<form name=\"create_invitation\" method=\"post\" action=\"modules.php?name=$module_name\" enctype=\"multipart/form-data\">"
    ."<br><b>"._INVFROM."</b><br>"
    ."<input type=\"text\" name=\"inv_sender\" value=\"$inv_sender\" maxlength=\"60\" size=\"50\"><br><br>"
    ."<b>"._INVTO."</b> ("._INVADDRESSES.", "._INVMAXEALLOWED." $inv_mail_max_nr)<br>"
    ."<textarea name=\"inv_addresses\" rows=\"5\" cols=\"50\">$inv_addresses</textarea><br><br>"
    ."<b>"._INVSUBJECT."</b><br>"
    ."<input type=\"text\" name=\"inv_subject\" value=\"$inv_subject\" maxlength=\"60\" size=\"50\"><br><br>"
."<b>"._INVDECORATION."</b>&nbsp;("._INVDECOOPTION.")<br>"
."<select size=\"1\" name=\"inv_decoration\">"
."<option selected value=\"0\">"._INVDECOCHOICE."</option>";
$direktori = "images/$module_name/decoration";
    $handle = opendir($direktori);
    while ($file = readdir($handle)) {
      $filelist[] = $file;
        }
    asort($filelist);
    while (list ($key, $file) = each ($filelist)) {
      ereg(".gif|.jpg|.png",$file);
      if ($file == "." || $file == "..") {
          $a=1;
      } else {
      echo "<option value=\"$file\">$file</option>";
      }
}
echo "</select><br><br>"
    ."<b>"._INVTEXT."</b><br><br>";

/* WYSIWYG Editor */

/* Code for MSIE */

if(ereg("MSIE", getenv("HTTP_USER_AGENT"))) {
    include "./modules/$module_name/wysiwygeditor.php";
        jscript_wysiwyg();
        html_editor("story","$story","myEditor");
        echo "<br><br><center>"
."<input type=\"hidden\" name=\"uid\" value=\"$uid\">"
."<input type=\"submit\" name=\"op\" value=\""._INVPREVIEW."\" onClick=\"copyValue_story('myEditor');\"></center>"
    ."</form></td></tr></table></center>";

/* Code for Netscape and Other Browsers! */

} else {
    echo "<textarea cols=\"50\" rows=\"15\" name=\"story\">$story</textarea><br><br>"
      ."("._INVAREYOUSURE.")</font><br><br>"
      ."<font class=\"content\">"._INVALLOWEDHTML."<br>";
        while (list($key,) = each($AllowableHTML)) echo " &lt;".$key."&gt;";
        echo "<br><br><center>"
."<input type=\"hidden\" name=\"uid\" value=\"$uid\">"
."<input type=\"hidden\" name=\"op\" value=\"preview_inv\">"
."<table><tr>"
."<td><select name=\"posttype\"\n>"
."<option value=\"exttrans\">"._INVEXTRANS."</option>\n"
."<option value=\"html\" >"._INVHTMLFORMATED."</option>\n"
."<option value=\"plaintext\" selected>"._INVPLAINTEXT."</option>\n"
."</select></td>"
."<td><input type=\"submit\" name=\"op\" value=\""._INVPREVIEW."\"></center></td>"
    ."</tr></table></form>";
}
CloseTable();
include("footer.php");
}
Unaufgeforderte Support PMs & Emails werden ignoriert

Immer erst die Boardsuche verwenden und gegebenenfalls einen neuen Threat eröffnen, wenn das Problem noch nicht behandelt wurde!

jubilee

Öhhh -.-.


list($uid, $email) = sql_fetch_row($result, $dbi);
#############
{


Die Klammer nach dem list () gehört dahin ?.
Wird der Funktionsblock innerhalb dieser Klamer überhaupt ausgeführt ?

Musicman75

ich denke mal diese funktion ist verantwortlich dafür, das meine mailadresse gleich eingetragen wird als absender. und das funktioniert.
Unaufgeforderte Support PMs & Emails werden ignoriert

Immer erst die Boardsuche verwenden und gegebenenfalls einen neuen Threat eröffnen, wenn das Problem noch nicht behandelt wurde!

jubilee

Hallo
Zitatich denke mal diese funktion ist verantwortlich dafür, das meine mailadresse gleich eingetragen wird als absender. und das funktioniert.
Jo, ich meine aber Deinen Code :

{
$query = "select email from ".$user_prefix."_users";
$query_result = mysql_query ($query);
$zeilen = mysql_num_rows ($query_result);
if (($query_result) AND ($zeilen ==0)) {
$inv_addresses = 0;
} else {
for ($i = 0; $i < $zeilen; $i++) {
$email_array = mysql_fetch_row ($query_result);
$inv_addresses [$i] = $email_array[0];
}
return $inv_addresses;
}
}


Warum hast Du den mit geschweiften Klammern geklammert ?
Da ist doch nirgends eine kontrollstruktur (if... else ... for ..then ....)
Daher meine Frage, ob dieser Code von Dir in der Klammer überhaupt ausgeführt wird ...
Hmmm ...
alles ein wenig kuddel-muddel .....
Die Variable wird unten auch in das Textfeld im Formular geschrieben. Da dürfte in dieser anordnung dann aber höchstens "array"
auftauchen. Wenn Du das Textfeld mit den E-Mail Adressen füllen willst, darft Du die Variable oben nicht als array definieren.
Das muss dann anders

for ($i = 0; $i < $zeilen; $i++) {
$email_array = mysql_fetch_row ($query_result);
$inv_addresses .= "".$email_array[0].";";
}

So sollte es dann eine mit Semikolon separierte Liste geben.
MfG
jubilee

Musicman75

jetzt kommen im debug-modul folgende meldungen:

Notice: Undefined variable: inv_sender in /home/www/web3/html/mxpro/modules/e-Invitations/index.php on line 673

Notice: Undefined variable: inv_addresses in /home/www/web3/html/mxpro/modules/e-Invitations/index.php on line 673

Notice: Undefined variable: inv_subject in /home/www/web3/html/mxpro/modules/e-Invitations/index.php on line 673

Notice: Undefined variable: story in /home/www/web3/html/mxpro/modules/e-Invitations/index.php on line 673

Notice: Undefined variable: inv_decoration in /home/www/web3/html/mxpro/modules/e-Invitations/index.php on line 673

Notice: Undefined variable: posttype in /home/www/web3/html/mxpro/modules/e-Invitations/index.php on line 673

habe den code so eingefügt:

      $query = ("select email from ".$user_prefix."_users");
$query_result = mysql_query ($query);
$zeilen = mysql_num_rows ($query_result);
if (($query_result) AND ($zeilen ==0)) {
$inv_addresses = 0;
} else {
for ($i = 0; $i < $zeilen; $i++) {
$email_array = mysql_fetch_row ($query_result);
$inv_addresses .= "".$email_array[0].";";
}
return $inv_addresses;
}
Unaufgeforderte Support PMs & Emails werden ignoriert

Immer erst die Boardsuche verwenden und gegebenenfalls einen neuen Threat eröffnen, wenn das Problem noch nicht behandelt wurde!

jubilee

Ach ja ....
Das
Zitatreturn $inv_addresses;   
muss komplett raus, weil es die aktuelle Funktion an dieser stelle abbricht und den enthaltenen wert an die aufrufende Funktion
zurückgibt.

Musicman75

jop, er trägt die adressen jetzt ein, aber die fehlermeldungen sind immer noch da.

Hier die Zeile, die er in der meldung bringt:

case ""._INVEDIT."":
     send_inv($inv_sender, $inv_addresses, $inv_subject, $story, $inv_decoration, $posttype);
break;
Unaufgeforderte Support PMs & Emails werden ignoriert

Immer erst die Boardsuche verwenden und gegebenenfalls einen neuen Threat eröffnen, wenn das Problem noch nicht behandelt wurde!

jubilee

Hmmm ....
das ist der Aufruf der Funktion.
Warum die variablen nicht gefüllt sind, muss man mal im restlichen Script nachsehen.
Evt auch hier ein Problem mit register_globals on/off (wie ist das bei Dir eingestellt?)
Kann ich erst genau sagen, wenn ich mir mal das ganze Script angesehen hab.
MfG
jubilee

Musicman75

register globals ist on.

ich habe das jetzt mal versucht mit dem code. die adressen werden in das feld geschrieben, aber es wird nichts versendet. er bringt einen fehler in der syntax der adressen. das erste komme und das letzte komma müssen weg, dann gehts.

die fehlermeldung - kann das auch sein, weils kein vkp modul ist?
Unaufgeforderte Support PMs & Emails werden ignoriert

Immer erst die Boardsuche verwenden und gegebenenfalls einen neuen Threat eröffnen, wenn das Problem noch nicht behandelt wurde!

Biker

Vielleicht hilft Dir das hier weiter!?

Das ist die Funktion, mit der man als admin messages an einen, mehrere oder auch an alle Mitglieder versenden kann....aus dem Admin-Modul "TPK PrivMsg":

<?php

/************************************************************************/
/* TPK Classifieds                                                      */
/* ===============                                                      */
/*  PHP-Nuke  Module for PHP-Nuke v5.0 and higher                       */
/*  Copyright (c) 2002 by Jochem Schausten (webmaster@tp-krefeld.de)    */
/*  http://www.tp-krefeld.de                                            */
/*                                                                      */
/************************************************************************/
if (!eregi("admin.php"$PHP_SELF)) { die ("Access Denied"); }


$result sql_query("select radminsuper from ".$prefix."_authors where aid='$aid'"$dbi);
list(
$radminsuper) = sql_fetch_row($result$dbi);


if (
$radminsuper==1) {

$modulefolder "Private_Messages";

get_lang($modulefolder);


function 
PMMain($_REQUEST) {

global $dbi$prefix$user_prefix$modulefolder$user;
while(list($key$val) = each($_REQUEST)) $$key $val;
include("header.php");
OpenTable();
$time date("Y-m-d H:i");
if (!$allusersql sql_query("SELECT uid, uname FROM ".$user_prefix."_users ORDER BY uname"$dbi))echo mysql_error();
if (is_user($user)) {
$userinfo getusrinfo($user);
$from_userid $userinfo[uid];
$sender $userinfo[uname];
} else {
echo "<center><b>"._PMUMUSTLOGGEDINASUSER."</b></center>";
CloseTable();
include("footer.php");
die();
}
if ($all && $some) {
echo "<center><b>"._PMERRORALLANDSOME."</b><p><a href=\"admin.php?op=pmmain\">"._PMADMIN."</a></center>";
CloseTable();
include("footer.php");
die();
}

$count=0;
while (list($uid$uname) = sql_fetch_row($allusersql$dbi)) {
$options .= "<option value=$uid>$uname</option>\n";
if (isset($send)){
if (isset($all)){
if (sql_query("INSERT INTO ".$prefix."_priv_msgs (msg_image, subject, from_userid, to_userid, msg_time, msg_text) VALUES ('icon1.gif', '$subject', '$from_userid', '$uid', '$time', '$message')"$dbi)) $count++;
}
}
}
if ($some && $some != -1) {
foreach ($some as $member) {
if(sql_query("INSERT INTO ".$prefix."_priv_msgs (msg_image, subject, from_userid, to_userid, msg_time, msg_text) VALUES ('icon1.gif', '$subject', '$from_userid', '$member', '$time', '$message')"$dbi)) $count++;
}
}

if ($count 0){
$pcount "<tr><td colspan=2 align=center><b>&nbsp;$count&nbsp;"._PMPMSSENT."</b></td></tr>";
}

echo "<table width=100%>
<form method=post action=\"admin.php?op=pmmain\">
$pcount
<tr><td width=33%><b>"
._PMSENDER."</b></td><td width=67%>$sender</td></tr>
<tr><td valign=top><b>"
._PMRECIPIENT."</b><br><input type=checkbox name=all>"._PMALLUSER."</td><td>"._PMONLYMARKERED."<br>
<select name=some[] multiple rows=10>
$options;
</select></td></tr>
<tr><td><b>"
._PMSUBJECT."</b></td><td><input type=text name=subject size=50 maxlength=100></td></tr>
<tr><td valign=top><b>"
._PMMESSAGE."</b></td><td><textarea name=message rows=20 cols=60></textarea></td></tr>
<tr><td colspan=2 align=center><input type=submit name=send value=\""
._PMSENDPM."\"></td></tr>
</form></table>"
;

CloseTable();
echo "<br>";
OpenTable();
echo "<center>powered by <a href=\"http://www.phpnuke-module.de\" target=\"_blank\">TPK PrivMsg</a></center>\n";
CloseTable();
include("footer.php");

}

switch (
$op) {

case "pmmain":
PMMain($_REQUEST);
break;


}












} else {
    echo "Access Denied";
}
?>


Das läuft ohne Probleme im Mx 2.1a!

Gruß
Bernd
Detektei Martin - wir bringen Licht ins Dunkle!

bornstecker

Zitat von: Biker am 24 Januar 2005, 11:53:31
@Bornstecker
..gibt es da große Unterschiede zwischen der beta4 und der 0.9.5 fürs 2F-CMS?

Gruß
Bernd
Hallo Bernd,

ja. die Unterschiede sind groß. Das 04Beta arbeitet nur mit Veranstaltungen, für die sich registrierte User an/abmelden können.
Die 2F-CMS-Version bietet außerdem die Möglichkeit, Downloads zu Veranstaltungen zuzuordnen.
Diese Downloads können entweder free for all sein oder Closed .
Free for all --> z.B. Teilnahmebedingungen, Programm, Wettkampfbedingungen (sehen alle registrierten CMS-User)
Closed --> z.B. Handbücher, Kursunterlagen, Bilder (sehen nur Teilnehmer, welche die Veranstaltung gebucht haben und vom Admin freigeschaltet wurden)
In der 0.9.5 wurde auch die Übersicht für anonyme User eingerichtet. Sprich die bekommen die Veranstaltungsdaten und die Anzahl der registrierten Teilnehmer zu sehen.
Ich empfehle, das Modul nur für registrierte user freizugeben. Die Buchung von Veranstaltungen und das Ansehen von (Free)-Downloads geht nur, wenn es sich um registrierte CMS-User handelt.

So. Wer will, kann sich den Thread mal im 2F-Forum ansehen. Dort kann man/frau die Entwicklung ein wenig verfolgen und sieht eigentlich alles, was man zu dem Modul wissen muß/sollte/will.
Die URL: http://www.2f-forum.com/index.php?showtopic=51

Ich hoffe, das beantwortet einige Fragen.
Unter pragmaMX konnte ich es nciht testen, da ich dieses CMS nicht "besitze". Eine Portierung stelle ich mir nicht so schwer vor, da beide System meines Wissens 5.5 kompatible sind. Es ist auch kein Hexenwerk. Notwendige Anpassungen sind sicherlich das Holen der Userinformationen und ein paar Funktionaltitäten, die das 2F-CMS mitbringt, die in MX vielleicht anders gelöst sind. (z.B. funktion weiterleiten()). Eventuell müßte das DB-Handling angepaßt werden, aber ansonsten sollte es nicht viel mehr sein.

Achja. Das e-invitations werde ich mir mal ansehen...

Wenn Fragen sind... Mein Forum zu dem Modul ist ebenfalls aktiv. http://www.bornstecker.de/modules.php?name=eBoard&file=forumdisplay&fid=3

Gruß Bornstecker

NeMeSiSX2LC

Also dürften wir hier das anpassen sehe ich das richtig?? dann würde ich mir nämlich jetzt zum erstmal eine 2f modul angucken:-)
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

NeMeSiSX2LC

Ok also auser dieser sehr komische Funktion weiterleiten() läuft das teil eigentlich anstand los im MX
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

bornstecker

Hallo Nemesi...,

ich würde ja gern selbst machen, aber ohne das entsprechende CMS gehts ja nunmal nicht. Ich plane, das Modul auch für Nuke 7.x zu portieren (sinnvoll oder nicht, sei dahingestellt), aber auch das muß ich mir erst "besorgen" und lokal testen, was an Anpassungen gemacht werden muß.

Wenn ihr das anpassen wollt, dann würde ich mich über die modifizierten Dateien freuen, damit ich, wenn ich weiter an dem Modul arbeite, gleich eine pragmaMX-Variante zum Test zur Verfügung stellen kann.
Das Modul ist bisher frei zugänglich, wird aber, sobald es eine für mich akzeptable stabile Version erreicht hat vielleicht ein paar Euro (2-5) kosten.
Momentan kann es sich halt jeder ziehen und ich habe kein Copyright drauf gesetzt.
Es ist halt ne reine Eigenentwicklung und baut auf kein mir bekanntes Modul auf.

Also. Modifiziere es, damit es mit pragmaMX läuft und schicke mir bitte eine funktionierende Version, wenns portiert ist. Dann kann ich es weiterentwickeln und es steht einem erweiterten Userkreis zur Verfügung. Das ist nunmal der Sinn von OpenSource. Ich möchte nur nicht, das jemand es anpaßt und damit Kohle verdient, ohne dass "meine" Leistung honoriert wird.

Wenn Fragen zu einzelnen Funktionen sind, die in pragmaMX nicht laufen, dann bitte melden. Ich unterstütze euch gern dabei...

Und sooo schlimm sind 2F-Module ja nun auch nicht. :-)
Die Funktion weiterleiten ist auch kein Hexenwerk.Sie gibt nur statt eines einfachen header("location:----") eine Meldung aus, in der Link steht "Erledigt. Bitte hier klicken".
Dient dazu, dass man als Admin die entsprechenden Queries sieht, die gerade ausgeführt wurden (so aktiviert) und man kann abfangen, was die SQL-Insert/Deletes etc gemacht haben.
Ersetze mal das weiterleiten("admin....") durch ein header("location:admin...."). Dann fehlen Dir zwar die Meldungen, ob es erfolgreich war, aber es sollte funktionieren.


Bis dahin...

GRuß Bornstecker

bornstecker

Achja.
Bei der installation ist natürlich zu beachten, dass die Tabellen im 2F-CMS automatisch erstellt werden, wenn das Modul einmal aufgerufen wurde.
Macht halt das System...
Wie das bei pragmaMX funktioniert, weiß ich nicht, ioh vermute aber, das man die SQL-Datei per Hand einspielen muß. Sollte man also nochmal anpassen, wenn nötig.

Erfahrungsbereicht von Dir, wie Dir das Modul gefällt wäre mir seeehr recht

Gruß Bornstecker

NeMeSiSX2LC

#39
Habs gemerkt mit denn Tabellen. Naja hab jetzt erstmal paar "weiterleiten" durch das normale header ersetzt. Gehs mal weiter durch. Weil wie schon gesagt ist bisher das einzige was eh bissel probs macht.
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1