Пример #1
0
 protected function beforeSubmit(&$response, &$model, &$params)
 {
     if (isset($params['share']) && !$model->readonly && !$model->isSomeonesHomeFolder() && $model->checkPermissionLevel(\GO\Base\Model\Acl::MANAGE_PERMISSION)) {
         if ($params['share'] == 1 && $model->acl_id == 0) {
             $model->visible = 1;
             //				$acl = new \GO\Base\Model\Acl();
             //				$acl->description = $model->tableName() . '.' . $model->aclField();
             //				$acl->user_id = \GO::user() ? \GO::user()->id : 1;
             //				$acl->save();
             $model->setNewAcl();
             //for enabling the acl permissions panel
             $response['acl_id'] = $model->acl_id;
         }
         if ($params['share'] == 0 && $model->acl_id > 0) {
             $model->acl->delete();
             $model->acl_id = $response['acl_id'] = 0;
         }
     }
     if (!empty($params['name']) && \GO::config()->convert_utf8_filenames_to_ascii) {
         $params['name'] = \GO\Base\Util\String::utf8ToASCII($params['name']);
     }
     return parent::beforeSubmit($response, $model, $params);
 }
Пример #2
0
 /**
  * Remove unwanted characters from a string so it can safely be used as a filename.
  * 
  * @param string $filename
  * @return string 
  */
 public static function stripInvalidChars($filename, $replace = '')
 {
     $filename = trim(preg_replace(self::INVALID_CHARS, $replace, $filename));
     //IE likes to change a double white space to a single space
     //We must do this ourselves so the filenames will match.
     $filename = preg_replace('/\\s+/', ' ', $filename);
     //strip dots from start
     $filename = ltrim($filename, '.');
     if (empty($filename)) {
         $filename = 'unnamed';
     }
     if (\GO::config()->convert_utf8_filenames_to_ascii) {
         $filename = \GO\Base\Util\String::utf8ToASCII($filename);
     }
     if (strlen($filename) > 255) {
         $filename = substr($filename, 0, 255);
     }
     return $filename;
 }