/** * Generates a sitemap.xml for the site * * @return Response */ public function generateSitemap(Request $request) { // get request data $email = $request->input('auth-email'); $siteId = $request->input('auth-id'); // get site $site = Site::getById($siteId); // get user $user = User::getByEmail($email, $siteId); // publish site map Publish::publishSiteMap($user, $site); return response('Ok', 200); }
/** * Removes the gallery image * * @return Response */ public function remove(Request $request) { // get request data $email = $request->input('auth-email'); $siteId = $request->input('auth-id'); // id, galleryId $id = $request->json()->get('id'); $galleryId = $request->json()->get('galleryId'); // get form $gallery = Gallery::getById($galleryId, $siteId); if ($gallery != NULL) { $index = GalleryImage::getIndexById($id, $galleryId, $siteId); array_splice($gallery->images, $index, 1); $gallery->save($siteId); // get site and user $site = Site::getById($siteId); $user = User::getByEmail($email, $siteId); // re-publish plugins Publish::publishPlugins($user, $site); return response('Ok', 200); } return response('Gallery not found', 400); }
/** * Gets a site for a given Id * * @param {string} $id the ID for the user * @return {Site} */ public static function create($name, $theme, $email, $password) { // create an id $id = strtolower($name); // replaces all spaces with hyphens $id = str_replace(' ', '-', $id); // replaces all spaces with hyphens $id = $new_id = preg_replace('/[^A-Za-z0-9\\-]/', '', $id); // find a unique $id (e.g. myid, myid1, myid2, etc.) $x = 1; $folder = app()->basePath() . '/public/sites/' . $id; while (file_exists($folder) === TRUE) { // increment id and folder $new_id = $id . $x; $folder = app()->basePath() . '/public/sites/' . $new_id; $x++; } // set id to new_id $id = $new_id; // create a site $site_arr = array('id' => $id, 'name' => $name, 'email' => $email, 'theme' => $theme); // create and save the site $site = new Site($site_arr); $site->save(); // create and save the user $user = new User(array('email' => $email, 'password' => password_hash($password, PASSWORD_DEFAULT), 'firstName' => 'New', 'lastName' => 'User', 'language' => 'en', 'photo' => '', 'token' => '')); $user->save($site->id); // publish theme Publish::publishTheme($theme, $site); // publish plugins Publish::publishPlugins($user, $site); // return site information return array('id' => $id, 'name' => $name); }
/** * Removes the form field * * @return Response */ public function remove(Request $request) { // get request data $email = $request->input('auth-email'); $siteId = $request->input('auth-id'); // name, items $formId = $request->json()->get('id'); $index = $request->json()->get('index'); // get form $form = Form::getById($formId, $siteId); if ($form != NULL) { array_splice($form->fields, $index, 1); $form->save($siteId); // get site and user $site = Site::getById($siteId); $user = User::getByEmail($email, $siteId); // re-publish plugins Publish::publishPlugins($user, $site); return response('Ok', 200); } return response('Form not found', 400); }
/** * Removes the menu item * * @return Response */ public function remove(Request $request) { // get request data $email = $request->input('auth-email'); $siteId = $request->input('auth-id'); // name, items $menuId = $request->json()->get('id'); $index = $request->json()->get('index'); // update order in file $menu = Menu::getById($menuId, $siteId); if ($menu != NULL) { array_splice($menu->items, $index, 1); $menu->save($siteId); // get site and user $site = Site::getById($siteId); $user = User::getByEmail($email, $siteId); // re-publish plugins Publish::publishPlugins($user, $site); return response('Ok', 200); } return response('Menu Item not found', 400); }
/** * Removes the page * * @return Response */ public function remove(Request $request) { // get request data $email = $request->input('auth-email'); $id = $request->input('auth-id'); // get the site $site = Site::getById($id); $user = User::getByEmail($email, $id); // get url, title and description $url = $request->json()->get('url'); $page = Page::getByUrl($url, $id); $page->remove($user, $site); // re-publish site map Publish::publishSiteMap($user, $site); // return OK return response('OK, page removed at = ' . $page->url, 200); }