if ($_SERVER['REQUEST_METHOD'] != 'POST') bc_err("This script only accepts POST requests."); $bc_url = trim(@$_REQUEST['bc_url']); $bc_login = trim(@$_REQUEST['bc_login']); $bc_password = trim(@$_REQUEST['bc_password']); if (strpos($bc_url, "http://") !== 0) $bc_url = "http://$bc_url"; $parsed_url = @parse_url($bc_url); if (!$parsed_url) bc_err("Please enter a valid URL, e.g. mysite.grouphub.com", "basecamp_url"); $bc_url = $parsed_url['scheme']."://".$parsed_url['host']; if (!$bc_login) bc_err("Please enter your Basecamp login name", "basecamp_login"); if (!$bc_password) bc_err("Please enter your Basecamp password", "basecamp_password"); $bc = new BaseCampClient($bc_url, $bc_login, $bc_password); try { switch (@$_REQUEST['op']) { case 'projects': // show list of projects ?><div class="font-size-14 bold font-red">Select the project from which you want to import people:</div><ul><? $projects = $bc->list_projects(); foreach ($projects as $project) { ?><li class="font-size-12"><a href="#basecamp_div" onclick="return basecamp({op: 'project_people', project: <?=$project->id?>, project_company: <?=$project->company->id?>})"><?=htmlspecialchars($project->name)?></a></li><? } echo "</ul>"; break;
?> "></td></tr> <tr><td>basecamp password</td><td><input type="password" name="bc_password" value="<?php echo htmlspecialchars($bc_password); ?> "></td></tr> <tr><td></td><td><input type="submit" value="Get your basecamp info"></td></tr> </table> </form><? if (!$bc_login || !$bc_password) { echo "<p>please enter your basecamp login details above.</p>"; exit; } $bc = new BaseCampClient($bc_url, $bc_login, $bc_password); echo "<p>scraping contacts page to get companies</p>"; flush(); $companies = $bc->companies(); foreach ($companies as $company) { echo "<h1>company: ".htmlspecialchars($company['name'])."</h1>"; foreach ($company['people'] as $person) { echo '<li><a href="mailto:'.$person['email'].'">'.$person['name'].'</a></li>'; } } echo "<p>getting project list</p>"; flush();