Reply to Re: [PHP] Displaying an Outlook Calendar on a webpage using PHP

Your name:

Reply:


Posted by tg-php on 06/06/05 22:00

Reasons:

1. Because you can.

2. Because I believe you need Exchange Server and IIS running to share outlook calendars out via the web(?)

3. Because the project has a requirement to do it this way

4. Because he likes a challenge



The question "Is this the best way to accomplish your goal" is a good one because if there's a smarter/better way, I'm sure even inflexible bosses can be made to bend a bit, but asking "Why?" always feels like someone's asking "Are you a moron?" hah..

-TG



= = = Original message = = =

But why would you do that when you can share the Calendar over outlook?

On 6/6/05, tg-php@gryffyndevelopment.com <tg-php@gryffyndevelopment.com>
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.

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация