/** * Prepare the source for iteration and output * * @param xPDOObject|modAccessibleObject|modMediaSource $object * @return array */ public function prepareRow(xPDOObject $object) { $canEdit = $this->modx->hasPermission('source_edit'); $canSave = $this->modx->hasPermission('source_save'); $canRemove = $this->modx->hasPermission('source_delete'); $objectArray = $object->toArray(); $objectArray['iconCls'] = $this->modx->getOption('mgr_source_icon', null, 'icon-folder-open-o'); $props = $object->getPropertyList(); if (isset($props['iconCls']) && !empty($props['iconCls'])) { $objectArray['iconCls'] = $props['iconCls']; } $cls = array(); if ($object->checkPolicy('save') && $canSave && $canEdit) { $cls[] = 'pupdate'; } if ($object->checkPolicy('remove') && $canRemove) { $cls[] = 'premove'; } if ($object->checkPolicy('copy') && $canSave) { $cls[] = 'pduplicate'; } $objectArray['cls'] = implode(' ', $cls); return $objectArray; }