/** * Update security rules * * @return void */ function cx_update_security_rules() { global $CX; require_once CX_PATH . '/core/lib/firebaseLib.php'; // Get security rules $rules_json = file_get_contents(CX_PATH . '/rules.json'); // Default path $path = 'https://' . $CX->opts['app_url'] . '.firebaseio.com/'; // Connect to auth rules $firebase = new Firebase($path, $CX->opts['app_token']); // Update rules return json_decode($firebase->set('/.settings/rules', $rules_json)); }
private function sync($obj) { $sync = Config::get('database.connections.firebase.sync'); // `sync` by Default (config)? $path = strtolower(get_class($obj)) . 's'; // plural collection name $id = \Firebase::getId($obj); // object ID (extracted) // Whitelist if (isset($obj->firebase) && !empty($obj->firebase) && is_array($obj->firebase)) { $data = []; foreach ($obj->toArray() as $key => $value) { // Filter Attributes if (in_array($key, $obj->firebase) !== false) { $data[$key] = $value; } } } else { $data = $obj->toArray(); } // Post if Allowed if (($sync !== false || !empty($obj->firebase)) && $obj->firebase !== false || $obj->firebase === true) { \Firebase::set('/' . $path . '/' . $id, $data); } return true; }