meraproject/module/vcard/stat/model.php

80 lines
2.4 KiB
PHP
Raw Normal View History

<?
namespace vcard;
use core\db\structure\Column as C;
use core\db\structure\eColumnType;
use ui\form\structure\eInputType;
use ui\Form;
use ui\input\Input;
use core\lang\structure\LangVariable as V;
use ms\ms\structure\msModuleTable;
use vcard\stat\structure\vcardStatLang as Vars;
class Stat extends msModuleTable {
static $self;
static $table_name = 'vcardStat';
static $controller = 'vcard.stat';
static $ID = 'id';
static $CARD = 'card';
static $BLOCK = 'block';
static $DATE = 'date';
static $COUNT = 'count';
static function getTitle(){return V::get(Vars::$MODULE_NAME);}
static function getSystemLangValues():array{ return Vars::getArray(); }
public function _insert(array $values, array $options = array()) {
$options[\Query::ON_DUPLICATE_KEY_UPDATE] = [self::$COUNT => $values[self::$COUNT]];
return parent::_insert($values, $options); // TODO: Change the autogenerated stub
}
public static function installUniques() {
\DB::addIndexManyColumns(self::$table_name,[self::$CARD,self::$BLOCK,self::$DATE]);
\DB::addUnique(self::$table_name,self::$table_name.'_unique',[self::$BLOCK,self::$DATE]);
}
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::$CARD,
C::TYPE => eColumnType::INT,
C::DEFAULT => 0,
]),
new C([
C::VAR_NAME => &self::$BLOCK,
C::TYPE => eColumnType::INT,
C::DEFAULT => 0,
]),
new C([
C::VAR_NAME => &self::$DATE,
C::TYPE => eColumnType::DATE,
C::DEFAULT => date('Y-m-d'),
]),
new C([
C::VAR_NAME => &self::$COUNT,
C::TYPE => eColumnType::INT,
C::DEFAULT => 0,
]),
];
}
}
new Stat();
///