meraproject/module/vcard/views/model.php
keboss-m 5c21d25d45 Initial commit: Merakomis portal, Docker stack and user-reader API.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-24 11:04:05 +03:00

75 lines
2.1 KiB
PHP

<?
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\views\structure\vcardViewsLang as Vars;
class Views extends msModuleTable {
static $self;
static $table_name = 'vcardViews';
static $controller = 'vcard.views';
static $ID = 'id';
static $CARD = 'card';
static $DATE = 'date';
static $COUNT = 'count';
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
}
static function getTitle(){return V::get(Vars::$MODULE_NAME);}
static function getSystemLangValues():array{ return Vars::getArray(); }
public static function installUniques() {
\DB::addIndexManyColumns(self::$table_name,[self::$CARD,self::$DATE]);
\DB::addUnique(self::$table_name,self::$table_name.'_unique',[self::$CARD,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,
]),
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 Views();
///