True if the the content can be edited
@return Boolean
322708
final protected function CanEdit()
    {
        $form = $this->module->ContentForm();
        return BackendModule::Guard()->Allow(BackendAction::Edit(), $this->content) 
                && BackendModule::Guard()->Allow(BackendAction::Read(), $form);
    }
817372
public function isWritable()
    {
        if (!is_resource($this->resource)) {
            return false;
        }

        $meta = stream_get_meta_data($this->resource);

        return is_writable($meta['uri']);
    }
867180
function canMoveFrom( )
    {
        if ( !isset( $this->Permissions['can_move_from'] ) )
        {
            $this->Permissions['can_move_from'] = $this->checkAccess( 'edit' ) && $this->checkAccess( 'remove' );
        }
        return ( $this->Permissions['can_move_from'] == 1 );
    }
115590
function canEdit( )
    {
        if ( !isset( $this->Permissions["can_edit"] ) )
        {
            $this->Permissions["can_edit"] = $this->checkAccess( 'edit' );
            if ( $this->Permissions["can_edit"] != 1 )
            {
                 $user = eZUser::currentUser();
                 if ( $user->id() == $this->ContentObject->attribute( 'id' ) )
                 {
                     $access = $user->hasAccessTo( 'user', 'selfedit' );
                     if ( $access['accessWord'] == 'yes' )
                     {
                         $this->Permissions["can_edit"] = 1;
                     }
                 }
            }
        }
        return ( $this->Permissions["can_edit"] == 1 );
    }
757447
function isWritable()
    {
        if (!$this->_assertUsable())
            return false;

        $mode = $this->getMetadata('mode');
        return in_array($mode, self::$readWriteHash['write']);
    }
1034726
public function editableFields()
    {
        $ignored = [];
        foreach ($this->groups() as $group) {
            if ($group->getCondition() && $group->getCondition()->fail()) {
                $ignored = array_merge($ignored, $group->fieldNames());
            }
        }

        return $this->fields()->filter(function (Field $field) use ($ignored) {
            return $field->isEditable() && !in_array($field->name(), $ignored);
        });
    }
411789
public function edit($content)
    {
        if (stripos($this->_block->name, 'meta') !== false) {
            if (stripos($this->_block->name, 'title') !== false) {
                $lengthGuide = ['data-min' => 40, 'data-max' => 60];
            } elseif (stripos($this->_block->name, 'desc') !== false) {
                $lengthGuide = ['data-min' => 120, 'data-max' => 156];
            }
            if (isset($lengthGuide)) {
                $this->_editViewData['class'] = (empty($this->_editViewData['class']) ? '' : $this->_editViewData['class']) . ' length-guide';
                $this->_editViewData['input_attr'] = $lengthGuide;
            }
        }
        return parent::edit($content);
    }
414117
public function isWritable()
    {
        if (null !== ($uri = $this->getMetadata('uri'))) {
            if (is_writable($uri)) {
                return true;
            } elseif (null !== ($mode = $this->getMetadata('mode'))) {
                preg_match_all('/[a-z]\D?/', $mode, $matches);

                if (isset($matches[ 0 ])) {
                    foreach ($matches[ 0 ] as $match) {
                        if (in_array($match, ['r+', 'w', 'w+', 'a', 'a+', 'x', 'x+', 'c', 'c+'])) {
                            return true;

                            break;
                        }
                    }
                }
            }
        }

        return false;
    }
269041
public function isWritableByCurrentUser()
    {
        if ($this->hasConfigValue()) {
            return false;
        }

        if (isset($this->hasWritePermission)) {
            return $this->hasWritePermission;
        }

        // performance improvement, do not detect this in __construct otherwise likely rather "big" query to DB.
        $this->hasWritePermission = Piwik::hasUserSuperUserAccess();

        return $this->hasWritePermission;
    }
789863
public boolean isEditable() {

        if (m_request == null) {
            return false;
        }
        CmsExplorerTypeSettings settings = OpenCms.getWorkplaceManager().getExplorerTypeSetting(getResourceTypeName());
        if (settings != null) {
            String rightSite = OpenCms.getSiteManager().getSiteRoot(getResource().getRootPath());
            if (rightSite == null) {
                rightSite = "";
            }
            String currentSite = getCms().getRequestContext().getSiteRoot();
            try {
                getCms().getRequestContext().setSiteRoot(rightSite);
                return settings.isEditable(getCms(), getResource());
            } finally {
                getCms().getRequestContext().setSiteRoot(currentSite);
            }
        }
        return false;
    }
1102142
public function isReadable()
    {
        if ($this->stream) {
            $meta = $this->getMetadata();
            $readableModes = ['r', 'r+', 'w+', 'a+', 'x+', 'c+'];
            foreach ($readableModes as $mode) {
                if (strpos($meta['mode'], $mode) === 0) {
                    return true;
                }
            }
        }

        return false;
    }
224746
public function canEdit(): bool
    {
        if ($this->isPendingDeletion()) {
            return false;
        }

        if (Auth::isManager($this->record->tree())) {
            return true;
        }

        // Members cannot edit RESN, CHAN and locked records
        return Auth::isEditor($this->record->tree()) && strpos($this->gedcom, "\n2 RESN locked") === false && $this->getTag() !== 'RESN' && $this->getTag() !== 'CHAN';
    }
349389
boolean isEditable(CmsObject cms, CmsResource resource) {

        try {
            return cms.hasPermissions(resource, CmsPermissionSet.ACCESS_WRITE, false, CmsResourceFilter.ALL);
        } catch (CmsException e) {
            return false;
        }
    }
561105
public function isWritable() : bool
	{
		if (! \is_resource($this->resource))
		{
			return false;
		}

		$metadata = \stream_get_meta_data($this->resource);

		return ! (false === \strpbrk($metadata['mode'], '+acwx'));
	}
1325588
public function hasInlineEdit()
	{
		$condition = $this->datagrid->getRowCondition('inline_edit');

		return $condition ? $condition($this->item) : true;
	}
835473
function canSwap()
    {
        if ( !isset( $this->Permissions['can_swap'] ) )
        {
            $this->Permissions['can_swap'] = $this->checkAccess( 'edit' );
        }
        return ( $this->Permissions['can_swap'] == 1 );
    }
533636
function canRemove( )
    {
        if ( !isset( $this->Permissions["can_remove"] ) )
        {
            $this->Permissions["can_remove"] = $this->checkAccess( 'remove' );
        }
        return ( $this->Permissions["can_remove"] == 1 );
    }