Hallo, Gast! (Registrieren)

Letzte Ankündigung: Sicherheitsupdate: MyBB 1.8.29 veröffentlicht (30.10.21)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Forum Age
#11
Ich geht um dieses ForumAge 1.0 Plugin.

Ok, bei dem User, welcher das Forum installiert hat (in dem Fall meiner einer), steht inder DB bei "regdate" 2145913199.
Wenn man diese Zahl jetzt umwandelt, kommt dieses Datum raus.
Keine Ahnung, warum das da so steht, aber nachdem ich das geändert habe, passt wieder alles.
Schönen Gruß
Peter



Ich hab´gerade aus dem Fenster geguckt, um zu sehen, wie das Wetter ist.
AUS DEM FENSTER......OBWOHL MEIN HANDY NEBEN MIR LIEGT !!
Cool Wie im Mittelalter
Cool
Zitieren
#12
Da verschiebe ich das mal hierher.....in den zugehörigen Support-Thread.
Dafür sind die Support-Threads der Plugins ja da. Wink
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#13
schön, dass es wieder passt
schönen Gruß
bv64 / Lu

kein Support per PN, Mail, Messenger etc.
still alive - aus gesundheitlichen Gründen aktuell nur sehr sporadisch aktiv
Zitieren
#14
Huhu!

Kann man das Plugin so anpassen, dass wenn man mit einem Forum umgezogen ist, nicht das Datum der Registration des ersten Charas zählt, sondern ein händisch eingegebenes Datum? Weil ich mit einem Forum auf mybb umziehen möchte, dass 5 1/2 Jahre alt ist und nicht erst seit einem Monat existiert.

Liebe Grüße
CarieMa
Zitieren
#15
suche in der plugins/forumage.php

Code:
//Se realizeaza interogarea
        $interogare = $db->simple_select("users","regdate","",array("order_by"=>'uid',"limit"=>1));
        //Se intoarce din baza de date primul user inregistrat pe forum (admin)
        $user = $db->fetch_array($interogare);
        $data_inregistrarii = $user['regdate'];
ersetze das mit (oder mit auskommentieren)
Code:
$data_inregistrarii = xxxxxxxxx;

wobei xxxxxxxxx der Timestamp deines alten Foren-Installations-Datums ist.
Timestamp-Rechner gibt es im Netz reichlich zu finden, vielleicht hast du den aber auch in der Datenbank vom alten Forum

ungetestet, also bitte vorher sichern Wink
schönen Gruß
bv64 / Lu

kein Support per PN, Mail, Messenger etc.
still alive - aus gesundheitlichen Gründen aktuell nur sehr sporadisch aktiv
Zitieren
#16
Super! Vielen lieben Dank! Hat soweit funktioniert, nur eine Sache: Dieses Forum startete am 21.10.2012 und existiert damit seit 5 Jahren, 4 Monat(en), 0 Tag(en) und 16 Stunde(n).

0 Tage haut da ja eigentlich nicht hin... irgendwie zählt es die Tage falsch ... an was kann das liegen?
Zitieren
#17
an Schaltjahren und der unterschiedlichen Länge der Monate, das Plugin rechnet wohl einfach etwas ungenau
schönen Gruß
bv64 / Lu

kein Support per PN, Mail, Messenger etc.
still alive - aus gesundheitlichen Gründen aktuell nur sehr sporadisch aktiv
Zitieren
#18
alles klar, dank dir :-)
Zitieren
#19
Huhu ihr Smile

Mal eine Frage: Ich nutze das Plugin und mein Forum hat morgen sechsjährigen Geburtstag. Durch die ungenaue Berechnung war das 6te Jahr schon vor einigen Tagen eingetreten, was nicht schlimm ist, allerdings steht da 5 Jahre, 12 Monate und 4 Tage. Wie kann man erreichen, dass das Plugin auf 6 Jahre springt?

Über eine Antwort würde ich mich sehr freuen Smile

Liebe Grüße

NACHTRAG - vielleicht hilft der Code des Plugins:

Code:
<?php

//Test myBB
if(!defined("IN_MYBB"))
{
   die("Acest fisier nu poate fi accesat direct.");
}
//Our hook
$plugins->add_hook("index_start", "forumage_start");
//Plugin information
function forumage_info()
{
   return array(
       "name"                                => "Forum Age",
       "description"                => "shows how old your forum is.",
       "website"                        => "http://nasyr.net/",
       "author"                        => "Nasyr",
       "authorsite"                => "http://nasyr.net/",
       "version"                        => "1.0",
               "guid"                                => "",
               'compatibility'     => '18*',
               );
}
//Activate plugin
function forumage_activate()
{
       global $db;
       $grup_de_setari = array(
               "gid"               => NULL,
               "name"              => "fa_hsc",
               "title"             => "Forum Age",
               "description"       => "What is your forum age?",
               "disporder"         => "35",
               "isdefault"         => "no"
                          );
       $db->insert_query("settinggroups", $grup_de_setari);
       $gid = $db->insert_id();
   $setare_1 = array(
       "sid"               => NULL,
       "name"              => "fa_enabled",
       "title"             => "Is enabled?",
       "description"       => "Can this plugin do his job?",
       "optionscode"       => "yesno",
       "value"             => "no",
       "disporder"         => "1",
       "gid"               => intval($gid)
                    );
   $setare_2 = array(
       "sid"               => NULL,
       "name"              => "fa_mode",
       "title"             => "What is your mode?",
       "description"       => "Please specify your custom mode! (if you have a theme without icons on Who`s Online then you must select Simple Mode, else you have to select Advanced Mode)",
       "optionscode"       => "select\n0=Simple Mode\n1=Advanced Mode",
       "value"             => "0",
       "disporder"         => "2",
       "gid"               => intval($gid)
                    );
   $setare_3 = array(
       "sid"               => NULL,
       "name"              => "fa_list",
       "title"             => "Display list:",
       "description"       => "Please select your display list!",
       "optionscode"       => "select\n0=Years,Months,Days\n1=Years,Months,Days,Hours\n2=Years,Months,Days,Hours,Minutes",
       "value"             => "0",
       "disporder"         => "3",
       "gid"               => intval($gid)
                    );
       $db->insert_query("settings", $setare_1);
   $db->insert_query("settings", $setare_2);
   $db->insert_query("settings", $setare_3);
   rebuild_settings();
   $sablon = array(
               "tid"                => NULL,
               "title"                => "fa_template",
               "template"        => "{\$fa_final}",
               "sid"                => "-1"
                        );
       $db->insert_query("templates", $sablon);
       require MYBB_ROOT."/inc/adminfunctions_templates.php";
       find_replace_templatesets("index_boardstats", '#{\$forumstats}#', "{\$forumstats}\n{\$faforumage}");
}
//Deactivate plugin
function forumage_deactivate()
{
       global $db;
   $db->delete_query('settings', 'name IN("fa_enabled","fa_mode","fa_list")');
   $db->delete_query('settinggroups', 'name = "fa_hsc"');
   rebuild_settings();
   $db->delete_query('templates', 'title = "fa_template"');
       require MYBB_ROOT."/inc/adminfunctions_templates.php";
       find_replace_templatesets("index_boardstats", '#(\n?){\$faforumage}#', '', 0);
}
//Aditional functions
function forumage_get($diferenta)
{
   $ani = floor($diferenta / (365*60*60*24));
   $luni = floor(($diferenta - $ani * 365*60*60*24) / (30*60*60*24));
   $zile = floor(($diferenta - $ani*365*60*60*24 - $luni*30*60*60*24)/ (60*60*24));
   $ore = floor(($diferenta - $ani*365*60*60*24 - $luni*30*60*60*24 - $zile*60*60*24)/ (60*60));
   $minute = floor(($diferenta - $ani*365*60*60*24 - $luni*30*60*60*24 - $zile*60*60*24 - $ore*60*60)/ 60);
   return "".$ani."|".$luni."|".$zile."|".$ore."|".$minute."";
}
function forumage_parse($ani,$luni,$zile,$ore,$minute,$timp)
{
   global $lang,$mybb;
   $lang->load("forumage");
   $v = ",";
   $a = $lang->fa_and;
   if (($ani == "0")&&($luni == "0"))
       switch ($mybb->settings['fa_list'])
       {
       case 0 :
           return $lang->fa_boardstartedon1."".date('d.m.Y',$timp)."".$lang->fa_boardstartedon2."".$zile."".$lang->fa_days.".";
       break;
       case 1 :
           return $lang->fa_boardstartedon1."".date('d.m.Y',$timp)."".$lang->fa_boardstartedon2."".$zile."".$lang->fa_days." ".$a." ".$ore."".$lang->fa_hours.".";
       break;
       case 2 :
           return $lang->fa_boardstartedon1."".date('d.m.Y',$timp)."".$lang->fa_boardstartedon2."".$zile."".$lang->fa_days."".$v." ".$ore."".$lang->fa_hours." ".$a." ".$minute."".$lang->fa_minutes.".";
       break;
       }
   else
   {
   if ($ani == "0")
       switch ($mybb->settings['fa_list'])
       {
       case 0 :
           return $lang->fa_boardstartedon1."".date('d.m.Y',$timp)."".$lang->fa_boardstartedon2."".$luni."".$lang->fa_months." ".$a." ".$zile."".$lang->fa_days.".";
           break;
       case 1 :
           return $lang->fa_boardstartedon1."".date('d.m.Y',$timp)."".$lang->fa_boardstartedon2."".$luni."".$lang->fa_months."".$v." ".$zile."".$lang->fa_days." ".$a." ".$ore."".$lang->fa_hours.".";
           break;
       case 2 :
           return $lang->fa_boardstartedon1."".date('d.m.Y',$timp)."".$lang->fa_boardstartedon2."".$luni."".$lang->fa_months."".$v." ".$zile."".$lang->fa_days."".$v." ".$ore."".$lang->fa_hours." ".$a." ".$minute."".$lang->fa_minutes.".";
           break;
       }
   else
       switch ($mybb->settings['fa_list'])
       {
       case 0 :
           return $lang->fa_boardstartedon1."".date('d.m.Y',$timp)."".$lang->fa_boardstartedon2."".$ani."".$lang->fa_years."".$v." ".$luni."".$lang->fa_months." ".$a." ".$zile."".$lang->fa_days.".";
           break;
       case 1 :
           return $lang->fa_boardstartedon1."".date('d.m.Y',$timp)."".$lang->fa_boardstartedon2."".$ani."".$lang->fa_years."".$v." ".$luni."".$lang->fa_months."".$v." ".$zile."".$lang->fa_days." ".$a." ".$ore."".$lang->fa_hours.".";
           break;
       case 2 :
           return $lang->fa_boardstartedon1."".date('d.m.Y',$timp)."".$lang->fa_boardstartedon2."".$ani."".$lang->fa_years."".$v." ".$luni."".$lang->fa_months."".$v." ".$zile."".$lang->fa_days."".$v." ".$ore."".$lang->fa_hours." ".$a." ".$minute."".$lang->fa_minutes.".";
           break;
       }
   }
}
//Functia de initializare
function forumage_start()
{
   //Variabile globale
   global $db, $mybb, $faforumage, $templates;
   //Variabile de lucru
   $final = "";
   if ($mybb->settings['fa_enabled'] == 1)
   {
      $data_inregistrarii = 1350848400;
       $data_acum = time();
       //Diferenta de timp este = ...
       $diferenta = $data_acum - $data_inregistrarii;
       $rezultat = explode('|',forumage_get($diferenta));
       //Se parseaza datele obtinute si se formeaza string-ul final
       $final = forumage_parse($rezultat[0],$rezultat[1],$rezultat[2],$rezultat[3],$rezultat[4],$data_inregistrarii);
       if ($mybb->settings['fa_mode'] == 1)
       {
       //Advanced Mode - template
       $fa_final = "<tr>
                       <td class=\"trow1_smalltext_fa\" align=\"center\" width=\"1\"><img src=\"images/fa_image.png\" alt=\"Group Legend\" />
                       </td>
                       <td colspan=\"6\" class=\"trow1fa\">
                       <span class=\"smalltextfa\">
                               ".$final."
                       </span>
                       </td>
                     </tr>";
       }
       else
       {
       //Simple Mode - template
       $fa_final = "<tr>
                       <td class=\"fatrow1\">
                       <span class=\"fasmalltext\">
                               ".$final."
                       </span>
                       </td>
                     </tr>";
       }
   }
   else
   {
       $fa_final = "";
   }
       eval("\$faforumage = \"".$templates->get("fa_template")."\";");
}
?>
Zitieren
#20
für die Jahre nimmt er 365 Tage, durch die Schaltjahre wäre 365.25 besser, aber auch das ist nicht genau, da ja manchmal Schaltjahre ausfallen Wink
Die Berechnung der Monate zerstört m.E. das Ergebnis dann komplett, denn die berechnet er mit 30 Tagen, was auch wieder nicht hin kommt.
Du kannst ja mal versuchen, ob es schon etwas bringt in der Berechnungsformel statt 365 durch 365.25 zu teilen

hier mal kurz ohne Monate:
Code:
function forumage_get($diferenta)
{
    $ani = floor($diferenta / (365.25*60*60*24));
    //$luni = floor(($diferenta - $ani * 365.25*60*60*24) / (30.4375*60*60*24));
    $zile = floor(($diferenta - $ani*365.25*60*60*24)/ (60*60*24));
    $ore = floor(($diferenta - $ani*365.25*60*60*24 - $zile*60*60*24)/ (60*60));
    $minute = floor(($diferenta - $ani*365.25*60*60*24 - $zile*60*60*24 - $ore*60*60)/ 60);
    
    return "".$ani."|".$luni."|".$zile."|".$ore."|".$minute."";
}
Und dann noch bei der Ausgabe die Monate raus werfen
Es ist genauer, aber nicht 100% Wink Dafür müsste man das Plugin wohl von Grund auf neu aufrollen, aber dann nehmen mir die Schwestern den Laptop weg
schönen Gruß
bv64 / Lu

kein Support per PN, Mail, Messenger etc.
still alive - aus gesundheitlichen Gründen aktuell nur sehr sporadisch aktiv
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Age Restricted Thread Prefixes MyBB.de Bot 0 715 06.10.2015, 16:50
Letzter Beitrag: MyBB.de Bot
  Age Restricted Thread Prefixes MyBB.de Bot 0 1.342 15.09.2012, 23:40
Letzter Beitrag: MyBB.de Bot
  Forum Age MyBB.de Bot 1 2.003 11.10.2010, 17:37
Letzter Beitrag: Laello
  Forum Age by HSC MyBB.de Bot 0 1.224 22.08.2010, 17:14
Letzter Beitrag: MyBB.de Bot