'Дашбоард', self::$ACCOUNT => 1, ]); } public static function getName($v, array $options = []): string { return $v?$v[self::$NAME]:'-'; } static function renderDashboard($C){ if(is_numeric($C)) $C = Dashboard::getByID($C); ob_start(); include_once(dirname(__FILE__) . '/views/dash.php'); return ob_get_clean(); } static function getMyList(){ $res = ''; $a = Dashboard::getMy(true); foreach ($a as $k=>$v){ $id = $v[Dashboard::$ID]; $icon = Image::imageResize($v[Image::$URL]); $res .= '
'.self::getName($v).'
'; } return $res; } static function addWidget($dashboard_id,$values=[]){ $values[Widget::$DASHBOARD] = intval($dashboard_id); $r = Widget::insert($values); $widget = eWidget::$array[$values[Widget::$TYPE]]; if($widget[eWidget::CONTROLLER]) { Table::add([ Table::$NAME => Widget::getWidgetTableID($r->id), Table::$CLASS => $widget[eWidget::CONTROLLER], ]); } } static function getMy($isArray = false){ $r = self::select([ \Query::LEFT_JOINS => [ [Image::$table_name,Image::$ID,self::$ICON], ], \Query::WHERE=>new \Where(\Where::_operator(Dashboard::$ACCOUNT,'=',UID)) ]); return $r; } static function getForm($values = [], $options = []) :array { return [ self::getCommonFormInputs(), [ Form::VIEW=>Form::ROW, Form::COLS => [ [ Form::VIEW =>Form::INPUT, Form::COL_CLASSES =>'c c-50', Form::KEY_VALUE =>self::$ICON, Form::TYPE =>eInputType::IMAGE, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$ICON), Input::LABEL => $c, ], ], [ Form::VIEW =>Form::INPUT, Form::COL_CLASSES =>'c c-50', Form::KEY_VALUE =>self::$BG, Form::TYPE =>eInputType::IMAGE, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$BG), Input::LABEL => $c, ], ], [ Form::VIEW =>Form::INPUT, Form::COL_CLASSES =>'c c-100', Form::KEY_VALUE =>self::$NAME, Form::TYPE =>eInputType::TEXT, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$NAME), Input::LABEL => $c, INPUT::VALIDATION => [ eInputValidation::NOT_EMPTY=>true, ], ], ], ] ], [ Form::VIEW=>Form::INPUT, Form::TYPE=>eInputType::SUBMIT, Form::INPUT_OPT=>[ Input::LABEL=>'Сохранить', ], ], ]; } static function columnInfo() : array { return [ new C([ C::VAR_NAME =>&self::$ID, C::TYPE =>eColumnType::INT, C::AUTO_INCREMENT =>true, C::PRIMARY =>true, C::DEFAULT =>0, C::HIDDEN =>true, C::TH =>V::get(Vars::$ID), ]), new C([ C::VAR_NAME => &self::$NAME, C::TYPE => eColumnType::VARCHAR, C::LENGTH => 1023, C::TH => V::get(Vars::$NAME), ]), new C([ C::VAR_NAME => &self::$ICON, C::TYPE => eColumnType::INT, C::DEFAULT => 0, C::TH => V::get(Vars::$ICON), ]), new C([ C::VAR_NAME => &self::$BG, C::TYPE => eColumnType::INT, C::DEFAULT => 0, C::TH => V::get(Vars::$BG), ]), new C([ C::VAR_NAME => &self::$NAME, C::TYPE => eColumnType::VARCHAR, C::LENGTH => 1023, C::TH => V::get(Vars::$NAME), ]), new C([ C::VAR_NAME => &self::$ACCOUNT, C::TYPE => eColumnType::INT, C::LENGTH => 11, C::TH => V::get(Vars::$ACCOUNT), C::DEFAULT => intval(UID), //c::HIDDEN=>true, c::FUNC_VALUE => function($v){ if($id = $v[self::$ACCOUNT]) { return \Account::getName( \Account::getByID($id) ); } else return '-'; }, ]), new C([ C::VAR_NAME => &self::$CREATED, C::TYPE => eColumnType::INT, C::LENGTH => 11, C::TH => V::get(Vars::$CREATED), C::DEFAULT => time(), c::FUNC_VALUE => function($v){return self::formatDate($v[self::$CREATED]);}, c::HIDDEN=>true, ]), new C([ C::VAR_NAME => &self::$UPDATED, C::TYPE => eColumnType::INT, C::DEFAULT => time(), C::TH => V::get(Vars::$UPDATED), c::FUNC_VALUE => function($v){return self::formatDate($v[self::$UPDATED]);}, c::HIDDEN=>true, ]), ]; } } new Dashboard();