But why would you do that when you can share the Calendar over outlook? On 6/6/05, tg-php@xxxxxxxxxxxxxxxxxxxxxx <tg-php@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > That looks like some of my code.. or a derivative of my code. For some > reason, my PC at work here is having issues with PHP instantiating with COM > so I can't test this, but the code you posted is conspicuously missing all > the braces { }. I'm guessing that's not your issue though... or else you'd > be getting some kind of error maybe. > > Anyway, here's a re-braced version of the code. It should produce > something when run through a web browser, but you might View Source and see > what shows up there. > > This does require Outlook to be installed on the PC that PHP is running > on, as that's how COM works. I never messed around with remote COM calls, > but I'm sure there's some way to do that. > > If someone wants to try this code and see if there are other issues > besides the missing braces. I don't see anything obviously wrong with it > (besides maybe some sloppy programming on my part :). I'll see about > checking it when I get home tonight if I have time. > > <?php > $comobjOutlook = new COM("outlook.application") or die("Outlook not > loaded"); > > //$comobjOutlook -> Activate; > > # This is your mailbox name just like it appears in your Folders view. > # It might be 'Inbox' or something else. > $targetmailboxname = "Mailbox - Baiocchi, Justin (CSIRO IT, Armidale)"; > > > # This is the folder you're looking for. In this case, I'm looking for > calendar > # items, but you can look for any folder. You need to add another loop to > look > # for subfolders. Although there's probably a better way, that's how I did > it when > # I needed to get to Personal Folders/Inbox/Subfoldername > $targetfoldername = "Calendar"; > > $objNamespace = $comobjOutlook->GetNameSpace("MAPI"); > $objFolders = $objNamespace->Folders(); > $mailboxcount = $objFolders -> Count(); > > > $foundmailbox = FALSE; > for ($i=1; $i<=$mailboxcount; $i++) { > $folderitem = $objFolders ->Item($i); > if ($folderitem -> Name == $targetmailboxname) { > $objMailbox = $folderitem; > $foundmailbox = TRUE; > > $foundcal = FALSE; > if ($foundmailbox) { > $objFolders = $objMailbox->Folders(); > $foldercount = $objFolders -> Count(); > > for ($i=1; $i<=$foldercount; $i++) { > $folderitem = $objFolders -> Item($i); > if ($folderitem -> Name == $targetfoldername) { > $objCalendar = $folderitem; > $foundcal = TRUE; > } > } > } > > > if ($foundcal) { > $objItems = $objCalendar->Items(); > $itemcount = $objItems->Count(); > > for ($i=1; $i<=$itemcount; $i++) { > $apptitem = $objItems -> Item($i); > $apptstart = $apptitem -> Start(); > $apptend = $apptitem -> End(); > $apptallday = $apptitem -> AllDayEvent(); > $apptrecur = $apptitem -> IsRecurring(); > $apptsubject = $apptitem -> Subject(); > $apptlocation = $apptitem -> Location(); > > $secondsadj = $apptstart - 14400; > $startadj = date("m/d/Y H:i:s", mktime(0,0,$secondsadj,1,1,1970)); > > $secondsadj = $apptend - 14400; > $endadj = date("m/d/Y H:i:s", mktime(0,0,$secondsadj,1,1,1970)); > > if($apptallday) $allday = "All Day"; else $allday = ""; > if($apptrecur) $recurring = "Recurring"; else $recurring = ""; > > echo "$apptsubject @ $apptlocation\r\nFrom: $startadj To: $endadj\r\n"; > > if ($allday <> "" OR $recurring <> "") echo "$allday $recurring\r\n"; > echo "\r\n\r\n"; > } > } else { > die ("Did not find calendar folder"); > } > } else { > die("Did not find target mailbox: $targetmailboxname"); > } > } > ?> > > > > = = = Original message = = = > > Hello all, > > I am trying to publish an Outlook Calendar on a web page using PHP and > COM. I have managed to track down on the net some examples of how it > could be done. The most promising is the code below. However, all that > happens is that outlook.exe is started on the server, but nothing is > displayed on the web page and it just times-out. > > I am running PHP 4.0.18 on Windows 2003 server and I have Outlook 2002 > installed on the server. > Does anybody know why it doesn't work? > > Thanks > Justin > > > ___________________________________________________________ > Sent by ePrompter, the premier email notification software. > Free download at http://www.ePrompter.com. > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > -- M.Saleh.E.G 97150-4779817