Avatar billede ask05 Nybegynder
07. januar 2005 - 11:11 Der er 3 kommentarer og
1 løsning

kalender med mulighed for indlæg

Hej, jeg fandt følgende script på hotscripts.com. Det er en meget simpel kalender, som ifølge udvikleren giver mulighed for at browse gennem de forskellige måneder og dage, og så tilføje indlæg/aftaler under diverse datoer. Det giver endda mulighed for login...

Men når jeg sætter det op, får jeg kun selve kalenderen, hvor man blot kan bladre i månederne, og så heller ikke mere. Funktionen med at tilføje aftaler kommer ikke frem, hvilket også gælder login...

Nogen som kan genneskue hvad der skal til???

<?php
session_start();

// Use as it is or include it in a php page.
// If you're happy with the style of the calendar.
// You don't need to change anything.
// Else you can change the colours below.



// Username and password for adding events.
// Change this.
$username = "user";
$password = "pass";

// Name of the month, in the language you want.
$januari = 'jan';
$februari = 'feb';
$mars =    'mars';
$april = 'apr';
$maj = 'maj';
$juni = 'juni';
$juli = 'juli';
$augusti = 'aug';
$september = 'sept';
$oktober = 'okt';
$november = 'nov';
$december = 'Dec';

// Name of the days, in the language you want.
$monday = "m";
$tuesday = "t";
$wednesday = "o";
$thursday = "t";
$friday = "f";
$saturday = "l";
$sunday = "s";

// Virtual path to event files.
// If the calendar is included in some other file, use this to point
// to the calendar directory from main file.
$path = "./";

// If you want to se weeknumber, else false.
$weeknumber = true;

// Width of the calander.
$width = "50px";

// Color of the days in current month.
$numberBGColor = "#EEE";
$numberTextColor ="#000";

// Color of the days before and after current month.
$emptyBGColor = "#FFF";
$emptyTextColor ="#FFF";

// The color the "hover" day should change to.
$selBGColor = "#999";
$selTextColor = "#000";

// The colour for today.
$todayBGColor = "#FF9999";
$todayTextColor = "#FFFFFF";

// Colours for the month and day names.
$monthBGColor = "#FFFFFF";
$monthTextColor = "#A7D18D";
$daysBGColor = "#CCCCCC";
$weekBGColor = "#EEEEEE";


$background = "#FFFFFF";

// Colours to toggle between if more then one event.
$event1 = "#EEEEEE";
$event2 = "#CCCCCC";

// If you want space between the days comment out this.
//$spacing = "collapse";


////////////////////////////////////////////////////////////////
// Start of actual code, no need to change ////////////////////
//
$dayName = array($monday, $tuesday, $wednesday, $thursday, $friday, $saturday,$sunday);

$monthName = array($januari, $februari, $mars, $april, $maj, $juni, $juli, $augusti, $september, $oktober,
$november, $december);

if(isset($_GET['act'])){
    $act = $_GET['act'];
} else {
    $act = "";
}
if(isset($_GET['date'])){
    $date = $_GET['date'];
} else {
    $date = date("Y-m-d");
}

////////////////////////////////////////////////////////////////
// CSS for the calender ///////////////////////////////////////
//
echo "<STYLE type=\"text/css\">
<!--
.A {   
    font-family:             Verdana, Arial, Helvetica, sans-serif;
    font-size:             10px;
    font-style:             normal;
    line-height:             normal;
    font-weight:             bold;
    font-variant:             normal;
    text-transform:         none;
    text-decoration:         none;
    vertical-align:         middle;
    text-align:             center;
    color:                $numberTextColor;

}

.sel {   
    font-family:             Verdana, Arial, Helvetica, sans-serif;
    font-size:             10px;
    font-style:             normal;
    line-height:             normal;
    font-weight:             normal;
    font-variant:             normal;
    text-transform:         none;
    text-decoration:         none;
    text-align:             center;
    vertical-align:         middle;
    cursor:             default;
    color:                $selTextColor;
    background-color:        $selBGColor;
}
.event {
    font-family:             Verdana, Arial, Helvetica, sans-serif;
    font-size:             10px;
    font-style:             normal;
    line-height:             normal;
    font-weight:             normal;
    font-variant:             normal;
    text-transform:         none;
    text-decoration:         none;
    cursor:             default;
    vertical-align:         middle;
    text-align:             center;
    color:                $numberTextColor;
    background-color:        $numberBGColor;
}

.empty {
    font-family:             Verdana, Arial, Helvetica, sans-serif;
    font-size:             10px;
    font-style:             normal;
    line-height:             normal;
    font-weight:             normal;
    font-variant:             normal;
    text-transform:         none;
    text-decoration:         none;
    cursor:                default;
    vertical-align:         middle;
    text-align:             center;
    color:                $emptyTextColor;
    background-color:        $emptyBGColor;
}
.today {
    font-family:             Verdana, Arial, Helvetica, sans-serif;
    font-size:             10px;
    font-style:             normal;
    line-height:             normal;
    font-weight:             normal;
    font-variant:             normal;
    text-transform:         none;
    text-decoration:         none;
    cursor:             default;
    vertical-align:         middle;
    text-align:             center;
    color:                $todayTextColor;
    background-color:        $todayBGColor;
}";

if($act == "event") {

echo "table {
    width:                250px;
    border-style:             none;
    padding:            0px;
    margin:                0px;
    vertical-align:         middle;
}

td {   
    font-family:             Verdana, Arial, Helvetica, sans-serif;
    font-size:                10;
    font-weight:              normal;
    font-style:              normal;
    text-align:             center;
    vertical-align:         middle;
    padding:            2 2 2 2;
    text-align:            left;
    vertical-align:         top;
    vertical-align:         middle;
}\n";
} else {
echo ".table {
    border-style:             none;


    border-collapse:         $spacing;
    empty-cells:             hide;
}

.td {   
    font-family:             Verdana, Arial, Helvetica, sans-serif;
    font-size:             10px;
    font-style:             normal;
    line-height:             normal;
    font-weight:             normal;
    font-variant:             normal;
    text-transform:         none;
    text-decoration:         none;
    text-align:             center;
    vertical-align:         middle;
}";
}
echo "-->\n</STYLE>\n\n";
// End of CSS
////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////
// Function for creating the current month ////////////////////
//
function createMonth($date) {
    $date = split("\-", $date);
    $year = $date[0];
    $month = $date[1];
   
    // Dates
   
    $this_month_date = makeDate($year, $month, 1);
    $last_month_date = makeDate($year, $month - 1, 1);
    $next_month_date = makeDate($year, $month + 1, 1);
    // Numbers
    $this_month_first_day = trim(date("w", $this_month_date));
   
    $this_month_days = trim(date("t", $this_month_date));
    $last_month_days = trim(date("t", $last_month_date));
   
    $this_month_number = trim(date("n", $this_month_date));
    $last_month_number = trim(date("n", $last_month_date));
    $next_month_number = trim(date("n", $next_month_date));
   
    $this_month_year = trim(date("Y", $this_month_date));
    $last_month_year = trim(date("Y", $last_month_date));
    $next_month_year = trim(date("Y", $next_month_date));
   
    if($this_month_first_day == 0) {
        $this_month_first_day = 7;
    }
       
    // Förra
    for($I = 1; $I < $this_month_first_day; $I++) {
        $temp = $last_month_days - $this_month_first_day + $I + 1;
        $monthArray["$last_month_year-$last_month_number-$temp"] = array(0, "$last_month_year-$last_month_number-$temp");
    }
    // Månad.
    for($I = 1; $I <= $this_month_days; $I++) {
        $monthArray["$this_month_year-$this_month_number-$I"] = array(1, "$this_month_year-$this_month_number-$I");
    }
    // Nästa
    for($I = 1; $I <= 43 - $this_month_days - $this_month_first_day; $I++) {
        $monthArray["$next_month_year-$next_month_number-$I"] = array(0, "$next_month_year-$next_month_number-$I");
    }
return $monthArray;   
};

// End of createMonth function
////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////
// Function for adding events to month ////////////////////////
//
function appendEvent($date, $monthArray) {
   
    global $path, $act;
   
    $date = split("\-", $date);
    $year = $date[0];
    $month = $date[1];

    $date = makeDate($year, $month, 1);
    $date = date("Y-m", $date);

   
   
    if($act == "event") {
        $fp = @fopen("$date.txt", "r");
    } else {
        $fp = @fopen("$path$date.txt", "r");
    }
   
    if($fp) {
        while (!feof($fp))  {
            $line = fgets($fp);
            if($line != "") {
                $data = split("\#", $line);
                $date = split("\|", $data[0]);
                $monthArray["$date[0]"][0] = 2;
                $monthArray["$date[0]"][1] = "$date[0]";
                $monthArray["$date[0]"][2][] = array("$date[1]", "$data[1]");
            }
        }
    }
    return $monthArray;
};
// End of appendEvent function
////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////
// Function for adding the current day ////////////////////////
//
function addToday($date, $monthArray) {
    $date = split("\-", $date);
    $year = $date[0];
    $month = $date[1];
    $this_year = date("Y");
    $this_month = date("n");
   
    if($year == $this_year && $month == $this_month) {
        $monthArray[date("Y-n-j")][0] +=2;
    }
    return $monthArray;
};
// End of appendEvent function
////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////
// Function for displaying the current month //////////////////
//
function displayMonth($date, $monthArray) {
   
    global $path, $weekBGColor, $weeknumber, $width, $monthName, $dayName, $monthBGColor, $monthTextColor, $daysBGColor;

    $date = split("\-", $date);
    $year = $date[0];
    $month = $date[1];
   
    $this_month = mktime(0, 0, 0, $month, 1,  $year);
    $last_month = mktime(0, 0, 0, $month - 1, 1,  $year);
    $next_month = mktime(0, 0, 0, $month + 1, 1,  $year);



    ////////////////////////////////////////////////////////
    // Javascript for popup window. ///////////////////////
    //
    echo "<script type=\"text/javascript\">
    <!--
   
    function event(location){
   
    win=window.open(\"\",\"\",\"height=400,width=280, scrollbars=0, resizable=1, location=0, menubar=0, toolbar=0, status=0\")
    //win.moveTo(0,0)
    //win.resizeTo(heigh,width)
    win.location=location
    }
    //-->
    </script>\n\n";
    //
    ////////////////////////////////////////////////////////


echo "<TABLE class=\"table\" cellspacing=\"0\" cellpadding=\"0\" width=\"$width\">\n<TR>\n";
echo "<TD class=\"td\" color=\"$monthTextColor\" bgcolor=\"$monthBGColor\" onMouseOver=\"this.className='sel'\" onMouseOut=\"this.className='td'\" >\n<A class=\"A\" HREF=\"?date=";
echo date("Y-m-j", $last_month);
echo "\">&laquo;</A>\n</TD>\n<TD class=\"td\" color=\"$monthTextColor\"  bgcolor=\"$monthBGColor\">\n";
echo $monthName[$month-1];
echo date(" Y", $this_month);
echo "\n</TD>\n<TD class=\"td\" color=\"$monthTextColor\"  bgcolor=\"$monthBGColor\" onMouseOver=\"this.className='sel'\" onMouseOut=\"this.className='td'\" >\n<A class=\"A\" HREF=\"?date=";
echo date("Y-m-j", $next_month);
echo "\">&raquo;</A>\n</TD>\n</TR>\n<TR>\n";
   
echo "<TD class=\"td\" colspan=\"3\">\n    <TABLE class=\"table\" width=\"100%\">\n<TR>\n";

foreach ($dayName as $key) {
    echo "<TD class=\"td\"  bgcolor=\"$daysBGColor\">$key</TD>\n";
}
if($weeknumber) {
    echo "<TD class=\"td\"  bgcolor=\"$daysBGColor\">v.</TD>\n";
}

echo "</TR>\n\n<TR>\n";


    ////////////////////////////////////////////////////////
    // Prints the days. ///////////////////////////////////
    //
    $day = 0;
   
    if($weeknumber) {
        $week = date("W", $this_month);
    }
       
   
    foreach ($monthArray as $key) {
        $date = split("\-", $key[1]);
   
        if($key[0] == 0) {
                echo "<TD class=\"empty\">$date[2]</TD>\n";
        } else if($key[0] == 1) {
            echo "<TD onMouseOver=\"this.className='sel'\" onMouseOut=\"this.className='event'\" class=\"event\">$date[2]</TD>\n";
        } else if($key[0] == 2) {
            echo "<TD onMouseOver=\"this.className='sel'\" onMouseOut=\"this.className='event'\" class=\"event\"><A class=\"A\" HREF=\"java script:event('$path?act=event&date=" . $key[1] . "')\">$date[2]</A></TD>\n";
        } else if ($key[0] == 3) {
            echo "<TD onMouseOver=\"this.className='sel'\" onMouseOut=\"this.className='today'\" class=\"today\">$date[2]</TD>\n";
        } else if ($key[0] == 4) {
            echo "<TD onMouseOver=\"this.className='sel'\" onMouseOut=\"this.className='today'\" class=\"today\"><A class=\"A\" HREF=\"java script:event('$path?act=event&date=" . $key[1] . "')\"><B>$date[2]</B></A></TD>\n";
        }
    $day++;
    if($day >= 7) {
        if($weeknumber) {
            echo "<TD bgcolor=\"$weekBGColor\" class=\"event\">$week</TD>\n";
            if($week >= 53) {
                $week = 0;
            }
            $week++;
        }
        echo "</TR>\n<TR>\n";
        $day = 0;
    }
    //
    ////////////////////////////////////////////////////////
}
echo "</TR>\n</TABLE>\n</TD></TR></TABLE>\n";



};

// End of displayMonth function
////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////
// Function for diplay of an event. ///////////////////////////
//
function displayEvent($date, $monthArray) {
   
    global $event1, $event2;
   
    $date = split("\-", $date);
    $year = $date[0];
    $month = $date[1];
    $day = $date[2];
    $event = $monthArray["$year-$month-$day"][2];

    echo "<TABLE>\n";
    echo "<TR>\n<TD bgcolor=\"$event2\"colspan=\"2\">\n";
    echo date("j F Y", mktime(0, 0, 0, $month, $day,  $year));
    echo "\n</TD>\n</TR>\n\n";
    foreach ($event as $key) {
        echo "<TR>\n";
        echo "<TD width=\"40px\" bgcolor=\"$event1\">\n";
       
        $time = split("\-",$key[0]);
        echo "$time[0]";
        if($time[1] != ":") {
            echo "-$time[1]";
        }
       
        echo "\n</TD>\n";
        echo "<TD bgcolor=\"$event1\" width=\"210px\">\n";
        echo $key[1];
        echo "\n<TD>\n</TR>\n\n";
    $temp = $event1;
    $event1 = $event2;
    $event2 = $temp;
    }
    echo "</TABLE>\n";
};
// End of displayEvent function
////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////
// Function for adding event. /////////////////////////////////
//
function login() {
    global $username, $password;
   
    if (isset($_POST['calender_username']) && isset($_POST['calender_password'])) {
        if ($_POST['calender_username'] == $username && $_POST['calender_password'] == $password) {
            $_SESSION['calender_login'] = 1;
        }
       
    }
   
    if(isset($_SESSION['calender_login']) && $_SESSION['calender_login'] == 1) {
    ?>

<form action='./?act=addEvent' method='post' enctype='multipart/form-data' name='login'>
  <table width="200" border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td>Year:</td>
      <td>
        <select name="calender_year">
        <option value="2005">2005</option>
        <option value="2006">2006/option>
        <option value="2007">2007</option>
        <option value="2008">2008</option>

      </select></td></tr><tr>
      <td>Month:</td><td>
        <select name="calender_month">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>

        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
        <option value="10">10</option>

        <option value="11">11</option>
        <option value="12">12</option>
      </select> </td></tr><tr>
      <td>Day:</td><td>
        <select name="calender_day">
        <option value="1">1</option>
        <option value="2">2</option>

        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>

        <option value="9">9</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
        <option value="13">13</option>
        <option value="14">14</option>

        <option value="15">15</option>
        <option value="16">16</option>
        <option value="17">17</option>
        <option value="18">18</option>
        <option value="19">19</option>
        <option value="20">20</option>

        <option value="21">21</option>
        <option value="22">22</option>
        <option value="23">23</option>
        <option value="24">24</option>
        <option value="25">25</option>
        <option value="26">26</option>

        <option value="27">27</option>
        <option value="28">28</option>
        <option value="29">29</option>
        <option value="30">30</option>
        <option value="31">31</option>
      </select> </td>

  </tr>
  <tr>
      <td>start</td>
   
      <td>
        <input name='calender_shour' type='text' value='' size='2' maxlength='2' />
        :
<input name='calender_sminut' type='text' value='' size='2' maxlength='2' />
      </td>

  </tr>
  <tr>
      <td>end</td>
   
      <td>
        <input name='calender_ehour' type='text' value='' size='2' maxlength='2' />
        :
<input name='calender_eminut' type='text' value='' size='2' maxlength='2' />
      </td>

  </tr>
  <tr>
    <td colspan="3">
    <textarea name="calender_event" cols="20" rows="3"></textarea>
    </td>
  </tr>
  <tr>
    <td><a href="java script:document.login.submit()">Submit</a></td>
    <td colspan="2"><a href="java script:document.login.reset()">Reset</A></td>

  </tr>
</table>
</form>

    <?php   
        } else {

    ?>
    <form action='./?act=add' method='post' enctype='multipart/form-data' name='login'>
    Användarnamn:<BR />
    <input name='calender_username' type='text'
    value='' size='13' maxlength='20' /><BR />
    Lösenord:<BR />
    <input name='calender_password' type='password' value=''
    size='13' maxlength='20' /><BR />
    <a href="java script:document.login.submit()">Login</a>
    <a href="java script:document.login.reset()">Reset</A>
    </form>
    <?php }

};
// End of login function
////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////
// Function for adding event. /////////////////////////////////
//
function addEvent() {
    if(isset($_POST['calender_year']) && isset($_POST['calender_month']) &&isset($_POST['calender_day'])) {

        $year = $_POST['calender_year'];
        $month = $_POST['calender_month'];
        $day = $_POST['calender_day'];
        $date = "$year-$month-$day";
        $eventArray = array();
        $eventArray = appendEvent($date, $eventArray);
       
        $shour = $_POST['calender_shour'];
        $sminut = $_POST['calender_sminut'];
        $ehour = $_POST['calender_ehour'];
        $eminut = $_POST['calender_eminut'];
        $event = $_POST['calender_event'];
       
       
        $eventArray["$year-$month-$day"][0] = 2;
        $eventArray["$year-$month-$day"][1] = "$year-$month-$day";
        $eventArray["$year-$month-$day"][2][] = array("$shour:$sminut-$ehour:$eminut", $event);
       
        echo "Event added!<BR/>";
        echo "<A HREF=\"./?act=add\">Add new</A>  ";
        echo "<A HREF=\"./\">Return to calender</A>";
       
        return $eventArray;
    }
   
};
// End of addEvent function
////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////
// Function for saving events. /////////////////////////////////
//
function saveEvents($eventArray) {
   
    global $path;
   
        $year = $_POST['calender_year'];
        $month = $_POST['calender_month'];
        $day = $_POST['calender_day'];
        $date = makeDate($year, $month, 1);
        $date = date("Y-m", $date);
       
        foreach ($eventArray as $day) {
            foreach($day[2] as $key) {
            $data[] = trim("$day[1]|$key[0]#$key[1]");
            }
        }
       
        sort($data);
       
        $fp = fopen("$path$date.txt","w");
            if($fp) {
                foreach($data as $key) {
                    fwrite($fp, $key . "\n");
                }
            }
        fclose($fp);
};
// End of saveEvents function
////////////////////////////////////////////////////////////////
   
   
////////////////////////////////////////////////////////////////
// Function for creating a date. //////////////////////////////
//       

function makeDate($year, $month, $day) {
    return mktime(0, 0, 0, $month, $day,  $year);
};

// End of makeDate function
////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////
// Switch for action. /////////////////////////////////////////
//       
switch($act) {

    case "":
        $monthArray = createMonth($date);
        $monthArray = appendEvent($date, $monthArray);
        $monthArray = addToday($date, $monthArray);
        displayMonth($date, $monthArray);
        break;
       
    case "add":
        login();
        break;
           
    case "addEvent":
        $eventArray = addEvent();
        saveEvents($eventArray);
        break;
   
    case "event":
        $monthArray = createMonth($date);
        $monthArray = appendEvent($date, $monthArray);
        displayEvent($date, $monthArray);
        break;
       
    default:
        $monthArray = createMonth($date);
        $monthArray = appendEvent($date, $monthArray);
        $monthArray = addToday($date, $monthArray);
        displayMonth($date, $monthArray);
        break;
}
//
////////////////////////////////////////////////////////////////
?>
Avatar billede ask05 Nybegynder
07. januar 2005 - 11:13 #1
glemte lige at sige, at scriptet ifølge teksten på hotscripts.com skulle gemme aftaler/indlæg i en txt fil. Men når man downloader det, får man kun index.php som jeg har tilføjet foroven. Siden jeg ikke kan tilføje noget, kunne det jo være at der mangler en eller to? Måske??
Avatar billede ask05 Nybegynder
07. januar 2005 - 15:40 #2
det er måske ikke så lige til?
Avatar billede ask05 Nybegynder
08. januar 2005 - 19:15 #3
bump
Avatar billede ask05 Nybegynder
08. januar 2005 - 22:31 #4
okay, så prøver vi igen med flere point....
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester