예제 #1
0
 /**
  * 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;
 }