Archiv verlassen und diese Seite im Standarddesign anzeigen : Ablaufdatum kostenpflichtiger Abos
rhekeren
24.01.2005, 17:42
Guten Tag, liebe VB-User
gibt es eigentlich eine Möglichkeit auf das Ablaufdatum der "paidsubscriptions" zuzugreifen?
Ich würde den Usern gerne das Ablaufdatum direkt unter dem Usernamen anzeigen lassen!
Und zweitens: Wie lange im voraus wird die Erinnerungsmail verschickt?
Danke und schönen Gruß
Ralf
Und zweitens: Wie lange im voraus wird die Erinnerungsmail verschickt?Zwei Tage (laut cron/subscriptions.php).gibt es eigentlich eine Möglichkeit auf das Ablaufdatum der "paidsubscriptions" zuzugreifen?Nicht ohne Modifikation.
Du müsstest beim Einlesen der Beitrage in showthread.php auch das Feld subscriptionlog.expirydate abfragen.
Also im $posts Query diese Zeile hinzufügen:
LEFT JOIN " . TABLE_PREFIX . "subscriptionlog AS subscriptionlog ON(subscriptionlog.userid = user.userid)
Und das Feld subscriptionlog.expirydate AS expirydate bei der SELECT Abfrage auslesen.
rhekeren
24.01.2005, 20:57
Danke sehr!
Ist ja phänomenal, wie schnell und umfassend einem hier geholfen wird :-D
Gruß vom
Ralf
rhekeren
24.03.2005, 15:16
Zwei Tage (laut cron/subscriptions.php).Nicht ohne Modifikation.
Du müsstest beim Einlesen der Beitrage in showthread.php auch das Feld subscriptionlog.expirydate abfragen.
Also im $posts Query diese Zeile hinzufügen:
LEFT JOIN " . TABLE_PREFIX . "subscriptionlog AS subscriptionlog ON(subscriptionlog.userid = user.userid)
Und das Feld subscriptionlog.expirydate AS expirydate bei der SELECT Abfrage auslesen.
Hallo Mystics,
ich hoffe, du kannst mir noch einmal auf die Sprünge helfen...
Ich habe das Expirydate nun im Zugriff. Nun möchte ich die postbit_legacy anpassen und dort das Ablaufdatum des Abos anzeigen. Dieses habe ich aber unformatiert (als Unix-Timestamp) und kann es in diesem Template auch nicht formatieren, weil ich anscheinend keine PHP Kommandos im Template benutzen kann.
Und ausserdem sollte es nur für Moderatoren und für Administratoren sichtbar sein.
Geht das?
Danke für deine Antwort.
Gruß vom
Ralf
Dann musst du die Zeit in der entsprechenden PHP-Datei formatieren, also dort, wo das postbit generiert wird. Im Template kannst du dann mit Bedingungen arbeiten.
<if condition="in_array($bbuserinfo['usergroupid'], array(5, 6, 7))">$formatiertezeit</if>
rhekeren
25.03.2005, 08:46
Dann musst du die Zeit in der entsprechenden PHP-Datei formatieren, also dort, wo das postbit generiert wird. Im Template kannst du dann mit Bedingungen arbeiten.
<if condition="in_array($bbuserinfo['usergroupid'], array(5, 6, 7))">$formatiertezeit</if>
Vielen Dank, Mystics! Nun passt es :)
BTW: Kann man in diesen CONDITIONS alle PHP Funtionen benutzen?
Gruß und schöne Ostern wünscht
Ralf
Vielen Dank, Mystics! Nun passt es :)
BTW: Kann man in diesen CONDITIONS alle PHP Funtionen benutzen?Nein.Folgende Funktionen können Sie in einer Template-Bedingung benutzen:
in_array() is_array() is_numeric() isset() empty() defined() array() can_moderate() can_moderate_calendar() exec_switch_bg() is_browser() is_member_of()
rhekeren
29.03.2005, 07:38
Guten Morgen Mystics,
Mist, nun habe ich doch noch ein Problem mit dieser Lösung :confused:
Und zwar haben einige User bereits das zweite Abo gelöst (als das eine Abo abgelaufen war) und werden somit in der SUBSCRIPTIONLOG zwei mal aufgeführt. Dieses führt widerum dazu, dass deren Postings immer doppelt angezeigt werden. Es müsste also auch noch das Feld STATUS der Tabelle SUBSCRIPTIONLOG mit ausgewertet werden.
Dieses aber in der WHERE Klausel (subscriptionlog.status > 0) einzubauen führt dazu, dass nur noch die Postings von Abonnenten angezeigt werden.
Wie muss denn der LEFT JOIN lauten, wenn nur die aktiven Abos gefunden werden sollen?
Gruß vom
Ralf
rhekeren
29.03.2005, 07:50
Guten Morgen Mystics,
Mist, nun habe ich doch noch ein Problem mit dieser Lösung :confused:
Und zwar haben einige User bereits das zweite Abo gelöst (als das eine Abo abgelaufen war) und werden somit in der SUBSCRIPTIONLOG zwei mal aufgeführt. Dieses führt widerum dazu, dass deren Postings immer doppelt angezeigt werden. Es müsste also auch noch das Feld STATUS der Tabelle SUBSCRIPTIONLOG mit ausgewertet werden.
Dieses aber in der WHERE Klausel (subscriptionlog.status > 0) einzubauen führt dazu, dass nur noch die Postings von Abonnenten angezeigt werden.
Wie muss denn der LEFT JOIN lauten, wenn nur die aktiven Abos gefunden werden sollen?
Gruß vom
Ralf
... ich hglaube, ich habe es selbst hinbekommen:
LEFT JOIN " . TABLE_PREFIX . "subscriptionlog AS subscriptionlog ON(subscriptionlog.userid = user.userid AND subscriptionlog.status > 0)
müsste klappen, oder?!
DjJoschimo
14.04.2005, 22:14
Upps sehr schöne und interessante Modifikation ;)
Könnte mir einer verständlich alles zusammenfügen, so das es auch ein Laie einbauen kann :confused: :o ;) :rolleyes:
Ich könnte das auch brauchen, oder gebe es eine Option die den User kennzeichnet dass er ein ABO besitzt!? Untern Benutzertitel z.B.
Danke
greetz
DjJoschimo
rhekeren
15.04.2005, 12:13
Änderung an der Datei: showthread.php
Blau = Hinzugefügt
$posts = $DB_site->query(" SELECT post.*, post.username AS postusername, post.ipaddress AS ip, subscriptionlog.expirydate AS expirydate, user.*, userfield.*, usertextfield.*, " . iif($forum['allowicons'], 'icon.title as icontitle, icon.iconpath,') . " " . iif($vboptions['avatarenabled'], 'avatar.avatarpath, NOT ISNULL(customavatar.avatardata) AS hascustomavatar, customavatar.dateline AS avatardateline,') . " " . iif($vboptions['reputationenable'], 'level,') . " " . iif(!$deljoin, 'NOT ISNULL(deletionlog.primaryid) AS isdeleted, deletionlog.userid AS del_userid, deletionlog.username AS del_username, deletionlog.reason AS del_reason,') . "
editlog.userid AS edit_userid, editlog.username AS edit_username, editlog.dateline AS edit_dateline,
editlog.reason AS edit_reason,
post_parsed.pagetext_html, post_parsed.hasimages,
IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid
" . iif(!($permissions['genericpermissions'] & CANSEEHIDDENCUSTOMFIELDS), $datastore['hidprofilecache']) . "
FROM " . TABLE_PREFIX . "post AS post
LEFT JOIN " . TABLE_PREFIX . "user AS user ON(user.userid = post.userid)
LEFT JOIN " . TABLE_PREFIX . "userfield AS userfield ON(userfield.userid = user.userid)
LEFT JOIN " . TABLE_PREFIX . "usertextfield AS usertextfield ON(usertextfield.userid = user.userid)
" . iif($forum['allowicons'], "LEFT JOIN " . TABLE_PREFIX . "icon AS icon ON(icon.iconid = post.iconid)") . "
" . iif($vboptions['avatarenabled'], "LEFT JOIN " . TABLE_PREFIX . "avatar AS avatar ON(avatar.avatarid = user.avatarid) LEFT JOIN " . TABLE_PREFIX . "customavatar AS customavatar ON(customavatar.userid = user.userid)") .
iif($vboptions['reputationenable'], " LEFT JOIN " . TABLE_PREFIX . "reputationlevel AS reputationlevel ON(user.reputationlevelid = reputationlevel.reputationlevelid)") . "
" . iif(!$deljoin, "LEFT JOIN " . TABLE_PREFIX . "deletionlog AS deletionlog ON(deletionlog.primaryid = post.postid AND deletionlog.type = 'post')") . "
LEFT JOIN " . TABLE_PREFIX . "editlog AS editlog ON(editlog.postid = post.postid)
LEFT JOIN " . TABLE_PREFIX . "post_parsed AS post_parsed ON(post_parsed.postid = post.postid)
LEFT JOIN " . TABLE_PREFIX . "subscriptionlog AS subscriptionlog ON(subscriptionlog.userid = user.userid AND subscriptionlog.status > 0)
WHERE $postids
ORDER BY dateline $postorder
");
Änderung an der Datei: includes/functions_showthread.php
Blau = Hinzugefügt
// format date/time
$post['postdate'] = vbdate($vboptions['dateformat'], $post['dateline'], true);
$post['posttime'] = vbdate($vboptions['timeformat'], $post['dateline']);
$post['expirydate'] = $post['expirydate'] ? "Abo endet: " . vbdate($vboptions['dateformat'], $post['expirydate']) : "";
Danach kannst du im entsprechenden Template (bei mir war es postbit_legacy) die folgenden Zeilen an der Stelle einfügen, wo der Text erscheinen soll:
<div>
<if condition="in_array($bbuserinfo['usergroupid'], array(5, 6, 7))">$expirydate</if>
</div>
Viel Erfolg!
Ralf
DjJoschimo
15.04.2005, 14:01
Danke, werds heute Abend mal probieren und einbauen ;)
greetz
DjJoschimo
DjJoschimo
07.10.2005, 23:47
hmmmm die functions_showthread.php gibts im 3.5 nicht mehr :confused:
wie heisst die php Datei jetzt? Oder wo kann ich dies einfügen...
danke:rolleyes:
vBulletin® v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.