CommentsConf.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <?php
  2. namespace app\models;
  3. use Yii;
  4. /**
  5. * This is the model class for table "commets_conf".
  6. *
  7. * @property string $AllStop
  8. * @property string $reg
  9. * @property string $dt-start
  10. * @property string $dt-stop
  11. * @property string $d0
  12. * @property string $d1
  13. * @property string $d2
  14. * @property string $d3
  15. * @property string $d4
  16. * @property string $d5
  17. * @property string $d6
  18. */
  19. class CommentsConf extends \yii\db\ActiveRecord
  20. {
  21. public static $keysCache = 'CommentsConf';
  22. /**
  23. * {@inheritdoc}
  24. */
  25. public static function tableName()
  26. {
  27. return 'comments_conf';
  28. }
  29. /**
  30. * {@inheritdoc}
  31. */
  32. public function rules()
  33. {
  34. return [
  35. [['AllStop', 'reg', 'd0', 'd1', 'd2', 'd3', 'd4', 'd5', 'd6'], 'string'],
  36. [['dt_start', 'dt_stop'], 'safe'],
  37. [['AllStop','reg'], 'default', 'value' => 'N'],
  38. ];
  39. }
  40. /**
  41. * {@inheritdoc}
  42. */
  43. public function attributeLabels()
  44. {
  45. return [
  46. 'AllStop' => 'Остановить все',
  47. 'reg' => 'Зарегиные как гости',
  48. 'dt_start' => 'Время начал премодерации',
  49. 'dt_stop' => 'Время окончания премодерации',
  50. 'd0' => 'D0',
  51. 'd1' => 'D1',
  52. 'd2' => 'D2',
  53. 'd3' => 'D3',
  54. 'd4' => 'D4',
  55. 'd5' => 'D5',
  56. 'd6' => 'D6',
  57. ];
  58. }
  59. /**
  60. * {@inheritdoc}
  61. */
  62. public function isActive()
  63. {
  64. return ($this->AllStop == 'N');
  65. }
  66. public function isPreModerate($reg = false)
  67. {
  68. if( $reg && $this->reg == 'N' ) return false;
  69. if( $this->{'d'.(date('N')-1)} == 'Y' ){
  70. return true;
  71. }
  72. list( $hs, $ms, $ss ) = explode( ':', $this->dt_start );
  73. list( $he, $me, $se ) = explode( ':', $this->dt_stop );
  74. if( date("H") < $he || date("H") > $hs ){
  75. if( date("i") < $me || date("i") > $ms ){
  76. return true;
  77. }
  78. }
  79. return false;
  80. }
  81. public static function find()
  82. {
  83. return parent::find(0);
  84. }
  85. }