| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- <?php
- namespace zin;
- class dynamicItem
- {
- /**
- * @param object $dynamic
- */
- public static function getStatusClass($dynamic)
- {
- $action = strtolower($dynamic->action);
- $objectType = strtolower($dynamic->objectType);
- // if($dynamic->major) return 'active';
- if($objectType == 'release' && $action == 'opened') return 'trophy';
- if($objectType == 'project' && $action == 'closed') return 'trophy';
- if(strpos($action, 'assigned') !== false) return 'blue';
- if(strpos($action, 'releaseddoc') !== false) return 'green';
- if(strpos($action, 'finished') !== false || strpos($action, 'resolved') !== false || ($action == 'closed' && $objectType != 'product')) return 'green';
- return '';
- }
- /**
- * @param object $dynamic
- * @param mixed[] $users
- */
- public static function build($dynamic, $users)
- {
- global $config;
- $dynamicLabel = zget($dynamic, 'dynamicLabel', '');
- if(empty($dynamicLabel)) $dynamicLabel = zget($dynamic, 'actionLabel', '');
- $objectLabel = array();
- if($dynamic->action != 'login' && $dynamic->action != 'logout')
- {
- $objectLabel[] = span
- (
- $dynamic->objectLabel
- );
- $objectID = $dynamic->objectID && strpos(',module,chartgroup,', ",$dynamic->objectType,") !== false && strpos(',created,edited,moved,', "$dynamic->action") !== false ? trim($dynamic->extra, ',') : $dynamic->objectID;
- $objectLabel[] = $objectID ? span
- (
- setClass('label gray-300-outline mx-2 font-sm'),
- $objectID
- ) : null;
- if(($config->edition == 'max' && strpos($config->action->assetType, ",{$dynamic->objectType},") !== false) && empty($dynamic->objectName))
- {
- $objectLabel[] = span("#{$dynamic->objectID}");
- }
- elseif(empty($dynamic->objectID) and $dynamic->extra)
- {
- $objectLabel[] = span("#{$dynamic->extra}");
- }
- elseif(empty($dynamic->objectLink))
- {
- $objectLabel[] = span($dynamic->objectName);
- }
- else
- {
- $objectLabel[] = a
- (
- set::href($dynamic->objectLink),
- set::title($dynamic->objectName),
- $dynamic->objectName
- );
- }
- }
- $dynamicClass = static::getStatusClass($dynamic);
- return li
- (
- setClass($dynamicClass),
- div
- (
- span
- (
- setClass('dynamic-tag p-1 text-gray'),
- isset($dynamic->time) ? $dynamic->time : $dynamic->date
- ),
- div
- (
- setClass('dynamic-text flex flex-nowrap justify-between items-center'),
- div
- (
- setClass('clip p-1'),
- zget($users, $dynamic->actor),
- span
- (
- setClass('text-gray px-1'),
- $dynamicLabel
- ),
- $objectLabel
- ),
- $dynamicClass == 'trophy' ?
- div
- (
- setClass('w-0 h-0'),
- h::img
- (
- set::src('static/svg/trophy.svg'),
- setClass('ml-2')
- )
- ) : null
- )
- )
- );
- }
- }
|