コード例 #1
0
 /**
  * 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);
 }
コード例 #2
0
 /**
  * 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);
 }
コード例 #3
0
ファイル: Site.php プロジェクト: YounessTayer/respond
 /**
  * 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);
 }
コード例 #4
0
 /**
  * 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);
 }
コード例 #5
0
 /**
  * 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);
 }
コード例 #6
0
 /**
  * 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);
 }