Exemplo n.º 1
0
 /**
  * This method is called during property updates.
  *
  * Here we check if a user attempted to update a protected property and
  * ensure that the process fails if this is the case.
  *
  * @param string $path
  * @param PropPatch $propPatch
  * @return void
  */
 function propPatchProtectedPropertyCheck($path, PropPatch $propPatch)
 {
     // Comparing the mutation list to the list of propetected properties.
     $mutations = $propPatch->getMutations();
     $protected = array_intersect($this->server->protectedProperties, array_keys($mutations));
     if ($protected) {
         $propPatch->setResultCode($protected, 403);
     }
 }
Exemplo n.º 2
0
 function propPatch(PropPatch $propPatch)
 {
     $mutations = $propPatch->getMutations();
     // If this is a shared calendar, the user can only change the enabled property, to hide it.
     if (isset($this->calendarInfo['{http://owncloud.org/ns}owner-principal']) && (sizeof($mutations) !== 1 || !isset($mutations['{http://owncloud.org/ns}calendar-enabled']))) {
         throw new Forbidden();
     }
     parent::propPatch($propPatch);
 }