$channel->setDefaultPermissions((int) $form->inputRead | (int) $form->inputWrite | (int) $form->inputDelete); // channel owner gets all permissions by default $certificate = $channel->generate_certificate(RenegadeConstants::kPermissionRead | RenegadeConstants::kPermissionWrite | RenegadeConstants::kPermissionDelete); $metadata = $channel->generate_metadata(); $subscription = new Subscription(); $subscription->setCertificate($certificate['key']); $subscription->setApplication($metadata['application']); $subscription->setChannel($metadata['_id']); $subscription->setMaster(true); // place us in the application db context $options = array('default' => Renegade::databaseForId($form->inputApplicationId)); $channels = Renegade::database(RenegadeConstants::kDatabaseMongoDB, RenegadeConstants::kDatabaseChannels, $options); $subscriptions = Renegade::database(RenegadeConstants::kDatabaseMongoDB, RenegadeConstants::kDatabaseSubscriptions, $options); $redis->set($certificate['key'], $certificate['value']); $channels->insert($metadata); $subscriptions->insert($subscription->toArray()); } else { // error, something is potentially wrong, either from the user or the system // lets assume the system, it's easy to throw guilt at the user =) echo 'Error'; exit; header('Location: /applications'); exit; } header('Location:/applications/' . $form->inputApplicationId . '/channels'); exit; } else { foreach ($form->validators as $validator) { if ($validator->isValid == false) { echo $validator->message . "\n"; }
$channel->setCertificate($application['certificate']); $channel->setLabel($remote_channel['label']); $channel->setDescription($remote_channel['description']); $channel->setDefaultPermissions($remote_channel['defaultPermissions']); $certificate = $channel->generate_certificate($remote_channel['defaultPermissions']); $metadata = $channel->generate_metadata(); $metadata['requests'] = $remote_channel['requests']; $subscription = new Subscription(); $subscription->setCertificate($certificate['key']); $subscription->setApplication($form->inputApplicationId); $subscription->setChannel($metadata['_id']); $subscription->setMaster(false); $db_remote_options = array('default' => Renegade::databaseForId($remote_application)); $db_remote_subscriptions = Renegade::database(RenegadeConstants::kDatabaseMongoDB, RenegadeConstants::kDatabaseSubscriptions, $db_remote_options); $certificates = Renegade::database(RenegadeConstants::kDatabaseRedis, RenegadeConstants::kDatabaseCertificates); $db_remote_subscriptions->insert($subscription->toArray()); $db_channels->insert($metadata); $certificates->set($certificate['key'], $certificate['value']); // All Done Renegade::redirect('/applications/' . $form->inputApplicationId . '/channels'); } } else { echo 'channel not found'; //Renegade::redirect('/applications/'.$form->inputApplicationId.'./channels'); } } } } } } Renegade::redirect('/');