$first = DateTime::createFromFormat('m/d/Y', $date1); $second = DateTime::createFromFormat('m/d/Y', $date2); if ($date1 > $date2) { return datediffInWeeks($date2, $date1); } return floor($first->diff($second)->days / 7); } if ($sourcename != "" && $password != "" && $siteID != "" && $fromdate != "" && $todate != "" && $_GET["settings-updated"] == 'true') { // initialize default credentials $creds = new SourceCredentials($sourcename, $password, array($siteID)); //START Class services $classService = new MBClassService(); $classService->SetDefaultCredentials($creds); $StartClassDateTime = new DateTime($fromdate); $EndClassDateTime = new DateTime($todate); $result = $classService->GetClasses(array(), array(), array(), $StartClassDateTime, $EndClassDateTime, NULL, 1000, 1); $resultget = $result->GetClassesResult->Classes->Class; $resultafter = array(); $completedresults = array(); //END Class services $classids = array(); $i = 0; foreach ($resultget as $class) { if ($class->ClassDescription->Program->ScheduleType == 'DropIn') { $resultafter[$i] = new StdClass(); $resultafter[$i] = $class; $resultafter[$i]->title = $class->ClassDescription->Name; $resultafter[$i]->Level = $class->ClassDescription->Level->Name; $resultafter[$i]->Description = $class->ClassDescription->Description; $resultafter[$i]->imageurl = $class->ClassDescription->ImageURL; $resultafter[$i]->id = $class->ID;
log_it('******** ' . date('Y-m-d H:i:s') . ' ***********'); require_once "includes/classService.php"; // sandbox credentials: $sourcename = 'AccelerantStudiosLLC'; $password = "******"; //$siteID ="-99"; // Mindbody Sandbox $siteID = "38100"; // Casey's ID, now that our keys work there $creds = new SourceCredentials($sourcename, $password, array($siteID)); $classService = new MBClassService(); $classService->SetDefaultCredentials($creds); $d1 = new DateTime(); // defaults to now $d2 = new DateTime("2015-12-31"); // Make this 30, 60 or 365 days ahead, $result = $classService->GetClasses(array(), array(), array(), $d1, $d2, null, 1000, 0); //print_r($result); //The array of class data we want is $result->GetClassesResult->Classes->Class (why 3 deep? dunno. Big sprawling structure. Not my code. MSH) // DEV: look at the structure for ($i = 0; $i < 6; $i++) { //print_r($result->GetClassesResult->Classes->Class[$i]); } // load wordpress so we can get the existing event posts require_once $_SERVER['DOCUMENT_ROOT'] . "/wp-load.php"; //for image processing require_once ABSPATH . "wp-admin" . '/includes/image.php'; require_once ABSPATH . "wp-admin" . '/includes/file.php'; require_once ABSPATH . "wp-admin" . '/includes/media.php'; require_once ABSPATH . "wp-admin" . '/includes/image.php'; // GET ALL EXISTING EVENT POSTS WITH START DATES AFTER LAST MIDNIGHT(POSSIBLY INCLUDING SOME THAT ARE NOT FROM MINDBODY) // AND YES, THOSE NESTED ARRAYS ARE THE WAY get_posts() WANTS IT.
<input type="submit" value="submit" name="submit"/> </form> <?php } else { $sourcename = $_POST["sName"]; $password = $_POST["password"]; $siteID = $_POST["siteID"]; // initialize default credentials $creds = new SourceCredentials($sourcename, $password, array($siteID)); // initialize the services you are going to use $classService = new MBClassService(true); $classService->SetDefaultCredentials($creds); $clientService = new MBClientService(true); $clientService->SetDefaultCredentials($creds); // get a list of upcoming classes $result = $classService->GetClasses(array(), array(), array(), new DateTime("2010-11-28"), new DateTime("2010-12-04"), null, 10, 0); $classHtml = '<table><tr><td>ID</td><td>Name</td><td>Start Time</td></tr>'; $classes = toArray($result->GetClassesResult->Classes->Class); foreach ($classes as $class) { $classHtml .= sprintf('<tr><td>%d</td><td>%s</td><td>%s</td></tr>', $class->ID, $class->ClassDescription->Name, $class->StartDateTime); } $classHtml .= '</table>'; // pick a classID to sign a client into $classID = $classes[0]->ID; ?> <h2>Class List</h2> <?php echo $classHtml; ?>