/**
  * Adds the image
  *
  * @return Response
  */
 public function add(Request $request)
 {
     // get request data
     $email = $request->input('auth-email');
     $siteId = $request->input('auth-id');
     // params
     $name = $request->json()->get('name');
     $url = $request->json()->get('url');
     $thumb = $request->json()->get('thumb');
     $caption = $request->json()->get('caption');
     $galleryId = $request->json()->get('galleryId');
     // fix thumb and url
     $thumb = str_replace('sites/' . $siteId . '/', '', $thumb);
     $url = str_replace('sites/' . $siteId . '/', '', $url);
     $id = $name;
     // get an image id
     $id = str_replace(' ', '-', $id);
     $id = str_replace('.', '-', $id);
     // replaces all spaces with hyphens
     $id = preg_replace('/[^A-Za-z0-9\\-]/', '', $id);
     // add a field
     $image = GalleryImage::add($id, $name, $url, $thumb, $caption, $galleryId, $siteId);
     // get site and user
     $site = Site::getById($siteId);
     $user = User::getByEmail($email, $siteId);
     // re-publish plugins
     Publish::publishPlugins($user, $site);
     if ($image !== NULL) {
         return response('OK, image added', 200);
     }
     return response('Error', 400);
 }