stukje code, jullie hulp nodig!

Installatie lukt niet? Plotseling een foutmelding. Of weet je niet hoe iets werkt. Problemen met phpBB2 kun je in dit archief opzoeken.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
angmar
Berichten: 66
Lid geworden op: 17 aug 2005, 00:00

stukje code, jullie hulp nodig!

Bericht door angmar » 27 aug 2005, 22:03

Hallo, ik gebruik de birthday-mod van Niels, en heb er een code voor gevonden waardoor de verjaardagen automatisch in de kalender worden getoond, en ik heb hem dan nog zelf een beetje aangepast. Dit is het stukje die de naam van de jarige toont:

Code: Selecteer alles

      $topic_text = strlen($users['user_name_first']) > 18 ? substr($users['user_name_first'], 0, 17) . '...' : $users['user_name_first'];
ik heb geen problemen met de mod ofzo, daarom dat ik hem ook niet in de mod-support categorie gepost heb, maar ik zou gewoon graag iets van tekst invoeren. Nu staat er gewoon de voornaam van iemand die jarig is, bv "Jan" , maar ik zou liever hebben "Verjaardag Jan" . Hoe kan ik gewone, simpele tekst voor zo'n php-code invoegen? Of eventueel een afbeelding, zoals een simpel verjaardagskroontje ofzo? Zal wel domme vraag zijn voor jullie waarschijnlijk, maar ben niet echt vertrouwd met php, zal het ooit eens proberen te leren als ik véél tijd heb ;)

Gebruikersavatar
Bee
Berichten: 13403
Lid geworden op: 29 aug 2004, 10:30

Bericht door Bee » 27 aug 2005, 22:07

Welke kalender?
... Maar ik modereer (nog) niet.

angmar
Berichten: 66
Lid geworden op: 17 aug 2005, 00:00

Bericht door angmar » 27 aug 2005, 22:23

bee schreef:Welke kalender?
MyCalendar, zie:

http://www.mojavelinux.com/projects/mycalendar/

en http://mods.db9.dk/viewtopic.php?t=1098 , hier vind je de mod om je verjaardagen in die kalender op te nemen..

is dit belangrijk? weet het niet hoor, maar bestaat er niks waarmee je tussen al die php-variabelen gewoon een stukje "tekst" kan invoeren dat niet hoeft geparst te worden?

Gebruikersavatar
Bee
Berichten: 13403
Lid geworden op: 29 aug 2004, 10:30

Bericht door Bee » 28 aug 2005, 08:24

Code: Selecteer alles

'U_EVENT' => "$first_date<a href=\"$u_user\" onmouseover=\"domTT_activate(event, 'content', '<b>" . $lang['Birthday'] . ":</b> " . $users['username'] . "</br><b>" . $lang['Age'] . ':</b> ' . $user_age . "', event.pageX, event.pageY);\" onMouseOut=\"destroyTitle();\" class=\"gensmall\">$topic_text</a>") 
Doet dat toch?
... Maar ik modereer (nog) niet.

angmar
Berichten: 66
Lid geworden op: 17 aug 2005, 00:00

Bericht door angmar » 28 aug 2005, 16:47

snap het niet.. kijk, ik zoek gewoon een manier om simpele tekst, wat ik maar wil, kan invoeren voor die php-code.. moet toch mogelijk zijn, kan alleen niet goed genoeg weg met php om te weten hoe :) ik heb er nu zelf wat mee geprust, nl

Code: Selecteer alles

      $first_date = '<span style="line-height: 16px; font-size: 16px; font-weight: bolder; vertical-align: middle;">&middot;</span> ';
      $topic_text = strlen($users['user_name_first']) > 18 ? substr($users['user_name_first'], 0, 17) . '...' : $users['user_name_first'];
vervangen door:

Code: Selecteer alles

      $first_date = '<span style="line-height: 16px; font-size: 16px; font-weight: bolder; vertical-align: middle;">&middot;</span><span class="gensmall">Verjaardag </span><br /> ';
      $topic_text = strlen($users['user_name_first']) > 18 ? substr($users['user_name_first'], 0, 17) . '...' : $users['user_name_first'];
en het werkt (bijna) goed, je ziet nu bv "Verjaardag Jan" staan op de gewenste datum. Er is alleen één probeem: op de dag 1 Januari zie ik nu telkens staan "verjaardag" , terwijl er niemand verjaart die dag.. iemand die weet wat het probleem kan zijn?

angmar
Berichten: 66
Lid geworden op: 17 aug 2005, 00:00

Bericht door angmar » 28 aug 2005, 19:46

tgoh.. rustig hier :shock:

B-sTyLe
Berichten: 561
Lid geworden op: 27 okt 2004, 17:12

Bericht door B-sTyLe » 28 aug 2005, 20:02

een beetje geduld graag wij zijn ook maar vrijwilligers

angmar
Berichten: 66
Lid geworden op: 17 aug 2005, 00:00

Bericht door angmar » 28 aug 2005, 20:47

ba21 schreef:een beetje geduld graag wij zijn ook maar vrijwilligers
ik deed het gewoon om te vermijden dat dit topic niet onderaan de lijst zou geraken :)

angmar
Berichten: 66
Lid geworden op: 17 aug 2005, 00:00

Bericht door angmar » 28 aug 2005, 21:54

hmm.. kan het zijn dat ik een kleine fout heb ontdekt in Niels' mod om automatisch de verjaardagen op te nemen in MyCalendar? Ik post de mod maar ineens hier, om jullie werk te besparen ;)

Code: Selecteer alles

[FIND]
$template->set_filenames(array(
    'body' => 'mycalendar_body.tpl')
);

[AFTER ADD]
// For the Birthday Mod
unset($birthdays);
$sql = "SELECT user_id, username, user_birthday FROM " . USERS_TABLE. " WHERE user_birthday!=999999";
if (!$result = $db->sql_query($sql))
{
   message_die(GENERAL_ERROR, 'Error querying birthdays for mycalendar.');
}
while ($birthdayrow = $db->sql_fetchrow($result))
{
      $user_birthday = realdate("Ymd",$birthdayrow['user_birthday']);
   $birthdays[intval($user_birthday[4].$user_birthday[5])][intval($user_birthday[6].$user_birthday[7])][] = (array(
      'user_id' => $birthdayrow['user_id'],'username' => $birthdayrow['username'],
      'birthday_year' => $user_birthday[0].$user_birthday[1].$user_birthday[2].$user_birthday[3]) );
}

[FIND]
                    // number the event should fall in, for visual block events (interval = 1 day)
                    elseif (!isset($eventStack[$topic_id]) && $topic['cal_interval_units'] == 'DAY' && $topic['cal_interval'] == 1) {
                        $eventStack[$topic_id] = empty($eventStack) ? 0 : sizeof($eventStack);
                    }
                }
            }

[AFTER ADD]
if (isset($birthdays[intval($monthView['month'])][intval($day)]))
foreach ($birthdays[intval($monthView['month'])][intval($day)] as $users)
{
      $first_date = '<span style="line-height: 16px; font-size: 16px; font-weight: bolder; vertical-align: middle;">&middot;</span> ';
      $topic_text = strlen($lang['Birthday']) > 18 ? substr($lang['Birthday'], 0, 17) . '...' : $lang['Birthday'];
   $u_user = append_sid('profile.' . $phpEx . '?mode=viewprofile&u='.$users['user_id']);
   $user_age = $today['year']-$users['birthday_year'];
   $template->assign_block_vars('date_row.date_cell.switch_date_cells.date_event', array(
               'U_EVENT' => "$first_date<a href=\"$u_user\" onMouseOver=\"createTitle(this, '<b>".$lang['Birthday'].": </b> ".$users['username']."</br><b>".$lang['Age'].':</b>'.$user_age."', event.pageX, event.pageY);\" onMouseOut=\"destroyTitle();\" class=\"gensmall\">$topic_text</a>") );
}
Wat is het probleem: ik heb dit gemerkt toen ik "verjaardag" als tekst invoerde na het kleine vierkantje ( code: &middot; ) dat normaal verschijnt voor een verjaardag (lees vorige post). Alles zag er goed uit, tot ik aan de maand januari kwam, toen stond er de tekst "verjaardag" op de 1ste dag van die maand, wat daar natuurlijk niet hoorde.. Ik dacht eerst dat het aan m'n eigen aanpassingen lag, maar toen ik die aanpassingen verwijderde, bleek dat kleine vierkantje nog altijd te staan op de 1ste januari.. Alleen valt zo'n mini-vierkantje natuurlijk minder op dan de onnodige en onlogische tekst "verjaardag" op 1 januari.. Toen heb ik de mod van Niels maar verwijderd om uit te maken of het aan Niels' mod lag of aan MyCalendar, en wat bleek: het vierkantje stond er niet meer en het zag er uit zoals het moest zijn.

Dus daaruit heb ik afgeleid dat er ergens een kleine fout in Niels' mod moet zijn ingeslopen, waardoor er automatisch zo'n vierkantje op de 1ste januari verschijnt, zonder dat er zelfs iets gebeurt die dag.. Iemand die weet wat er mee zou kunnen schelen?

Gesloten