Kaitnieks-San (kaitnieks)

Nedēļas, kas sākas no svētdienas. 

otrdien, 29.06.2004 @3:17 am | Kaitnieks-San

Interesanta lietiņa tā S2 bakstīšana. Gluži kā operēt sirds asinsvadus ar tortes lāpstiņu un un putekļu sūcēju.
Lai nu kā, ir paredzēta tāda lieta manuālī, kā $.reg_firstdayofweek;

$*reg_firstdayofweek
The day of the week the calendar weeks starts on. Either 'sunday' or 'monday'.
Base value:
sunday

Es saprotu, ka manu S2 kodētprasmi var salīdzināt ar Beisika entuziasta māku, kurš ir apguvis goto burvību un necenšas iedziļināties tādās perversijās kā "funkcija" vai "for cikls", bet man katrā ziņā neizdevās panākt lai kalendāros tiešām attēlotu nedēļas, sākot ar pirmdienu.
Tad nu es te mazliet... (diemžēl viss formatējums un krāsojums tu-tū)



---------------------------------------------------------
funkcija, kas uzzīmē mazu kalendārīti

# This function prints a calendar using tables.
function RecentPage::lay_print_minicalendar() {
#var YearMonth m = $this->get_latest_month();
var YearMonth m = $this->get_latest_month();
var string currentmonth = $m->month_format();


"""
<!-- BEGIN CALENDAR -->
<div class="sidebox">
       <h2>Kalendars</h2>



$currentmonth<br />
<table>
<tr><td colspan="7" style="text-align:center; font-weight:bold;">
""";
$this->get_latest_month();
"""
</td></tr>
""";


#generate NewMonth that will display weeks correctly from monday
var YearMonth NewMonth;
var int WeekNum = 0;
var int DayNum;
var int NewDayNum;


var int ii = 0;
foreach var YearWeek w ($m.weeks) {
    if($w.pre_empty == 0)
    {
      $NewDayNum = 6;
    }else
    {
      $NewDayNum = $w.pre_empty - 1;
    }
    foreach var YearDay d ($w.days) {
      if($d.day > 0)
      {
        $NewMonth.weeks[$WeekNum].days[$ii] = $d;
      }
      $NewDayNum++;
      $ii++;
      if($NewDayNum >= 7)
      {
        if($WeekNum == 0)
        {
          $NewMonth.weeks[$WeekNum].pre_empty = 7 - $ii;
        }else
        {
          $NewMonth.weeks[$WeekNum].post_empty = 7 - $ii;
        }
        $NewDayNum = 0;
        $ii = 0;
        $WeekNum++;
      }
    }
}
if($ii > 0)
{
  $NewMonth.weeks[$WeekNum].post_empty = 7 - $ii;
}
#end of NewMonth generation


foreach var YearWeek w ($NewMonth.weeks) {
    "<tr>";
    if ($w.pre_empty) { "<td colspan='$w.pre_empty'><div class='calempty'></div></td>"; }
    foreach var YearDay d ($w.days) {


        if ($d.num_entries) {
            """<td class="calendarActive" >""";
            """<a href="$d.url">$d.day</a>""";
        } else {
            """<td>""";
            "<div class='calendarInactive'>$d.day</div>";
        }
        "</td>";
    }
    if ($w.post_empty) { "<td colspan='$w.post_empty'><div class='calempty'> </div></td>"; }
    "</tr>";
}
"""
</table>
</div>
""";
}







---------------------------------------------------------
izd...mainīta funkcija, kas zīmē mēnesi arhīva lapā

function YearPage::print_month(YearMonth m) {
    if (not $m.has_entries) { return; }
    """<table style="margin-left: 25%; margin-right: 25%; margin-top: 1em; margin-bottom: 1em;
       border-collapse: collapse; border: 1px solid;" border="1">\n
       <tr><th colspan="7" style="text-align: center; border: 1px solid;">""";



    var YearMonth NewMonth;
    var int WeekNum = 0;
    var int DayNum;
    var int NewDayNum;


    var int ii = 0;
    foreach var YearWeek w ($m.weeks) {
        if($w.pre_empty == 0)
        {
          $NewDayNum = 6;
        }else
        {
          $NewDayNum = $w.pre_empty - 1;
        }
        foreach var YearDay d ($w.days) {
          if($d.day > 0)
          {
            $NewMonth.weeks[$WeekNum].days[$ii] = $d;
          }
          $NewDayNum++;
          $ii++;
          if($NewDayNum >= 7)
          {
            if($WeekNum == 0)
            {
              $NewMonth.weeks[$WeekNum].pre_empty = 7 - $ii;
            }else
            {
              $NewMonth.weeks[$WeekNum].post_empty = 7 - $ii;
            }
            $NewDayNum = 0;
            $ii = 0;
            $WeekNum++;
          }
        }
    }
    if($ii > 0)
    {
      $NewMonth.weeks[$WeekNum].post_empty = 7 - $ii;
    }


    print $m->month_format();
    """</th></tr>\n""";
    foreach var int d (weekdays()) {
        "<th>"+$*lang_dayname_short[$d]+"</th>\n";
    }
    "</tr>\n";



    $m.weeks[2] = $NewMonth.weeks[2];
    foreach var YearWeek w ($NewMonth.weeks) {
        if($w)
        {
            # $w->print();
            # okay, this is nasty, but I get this strict refs error
            # so instead of calling print method we'll just do it right here
               """<tr valign="top" style="height: 2em;">\n""";
               if ($w.pre_empty > 0) {
                  """<td class="emptyday" colspan="$w.pre_empty">&nbsp;</td>\n""";
               }
               foreach var YearDay d ($w.days) {
                   """<td style="border: 1px solid;">\n""";
                   """<div style="text-align: right;">$d.day</div>\n""";
                   if ($d.num_entries > 0) {
                       """<div style="text-align: center;"><a href="$d.url">$d.num_entries</a></div>\n""";
                   }
                   """</td>\n""";
               }
               if ($w.post_empty > 0) {
                  """<td colspan="$w.post_empty">&nbsp;</td>\n""";
               }
               "</tr>";
            #end of w->print() simulation
        }
    }
    """<tr><td colspan="7" style="text-align: center; border: 1px solid;">
        <a href="$m.url">$*text_view_month</a></td></tr>\n""";
    "</table>";
}




---------------------------------------
Ne viss kods ir mans, tas pieder dažādiem cilvēkiem, bet publicētais kods satur manus labojumus. Ja jums tas pats izdevās ar $*reg_firstdayofweek, tad apgaismojiet mani, lūdzu.
iemetu abus ieksh sava.. | Ivars (atbildēt)

otrdien, 29.06.2004 @9:55 am

iemetu abus ieksh sava debesuzvanu sub layer`a. un ko talaak?
Kaitnieks-San (kaitnieks)
Nu, kā redzi, arhīva lapā.. | Kaitnieks-San (atbildēt)

otrdien, 29.06.2004 @12:29 pm

Nu, kā redzi, arhīva lapā mēneši Tev rādās pareizi (Jūnija pēdējā nedēļā ir trīs dienas, gluži kā manā sienas kalendārā), vēl tikai samaini masīvu ar dienām, resp. to nosaukumiem - noliec "Svētdiena" beigās.
kā to darīt? | Ivars (atbildēt)

otrdien, 29.06.2004 @3:23 pm

vari iepejstot tās 2 (vai cik tur tās rindiņas) - a to ar parastu set nemacēju nomainīt ;)
Kaitnieks-San (kaitnieks)
Re: kā to darīt? | Kaitnieks-San (atbildēt)

otrdien, 29.06.2004 @3:31 pm

Nu, sameklē savā stilā "ceturtdiena". Iraksti man šeit visas rindiņas, kas satur meklēto vārdu.
Re: kā to darīt? | Ivars (atbildēt)

otrdien, 29.06.2004 @3:47 pm

tu smiesies ja pateikšu ka VISPĀR tādu rindiņu NEVIENU neatradu? :))
Kaitnieks-San (kaitnieks)
Re: kā to darīt? | Kaitnieks-San (atbildēt)

otrdien, 29.06.2004 @3:53 pm

Nuu veciit :P

Ieliec savam layerim kaut kur saakumaa rindu

set lang_dayname_short = [ "", "Pirmd.", "Otrd.", "Trešd.",
"Cet.", "Piektd.", "Sestd.", "Sv." ];

Paarmaini uz pilnajiem nedeeljas dienu vaardiem.

Paarliecinies, ka lang_dayname_short nekur citur mainiits peec tam netiek
Re: kā to darīt? | Ivars (atbildēt)

otrdien, 29.06.2004 @8:31 pm

paldiesh. ša iečekosim...
x-ƒ (x_f)
ne gluži pa tēmu | x-ƒ (atbildēt)

pirmdien, 2.08.2004 @6:38 pm

vai drīkst uzzināt, kur Tu dabūji šos kodus?
vienkārši interesē. varbūt tur vēl kas interesants atrodams?
Kaitnieks-San (kaitnieks)
Re: ne gluži pa tēmu | Kaitnieks-San (atbildēt)

pirmdien, 2.08.2004 @6:39 pm

Atvaino, pats uzrakstīju.
x-ƒ (x_f)
Re: ne gluži pa tēmu | x-ƒ (atbildēt)

pirmdien, 2.08.2004 @7:58 pm

un pēdējie puksta teikumi..? :)
un mana kalendārīša kods izskatās ļoti līdzīgs, tapē skaidrs, ka tie nākuši no vienas vietas.
nu Tev grūti pateikt? :)
Kaitnieks-San (kaitnieks)
Re: ne gluži pa tēmu | Kaitnieks-San (atbildēt)

otrdien, 3.08.2004 @8:21 am

Aa tas bija kaut kaads stils, kur viss izskats reguleejas ar CSS. Kalendaariitis pats tajaa layerii bija.
http://www.mezzoblue.com/zengarden/
x-ƒ (x_f)
ēmm.. paldies Tev par šo.. | x-ƒ (atbildēt)

piektdien, 6.08.2004 @5:24 pm

ēmm.. paldies Tev par šo kodu! :)
beidzot iedomājos to pielāgot un izmantot savā slānī. strādā un lieliski.
tāpēc paldies! :)