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); }
/** * 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; }