<?php
#[AllowDynamicProperties]
class  EncuestaComunicacionalData 
{
	public static $tablename = "encuesta_fuerza_comunicacional";

	public $user_id;
	public $user_type;
	public $personal_type;
	public $user_email;
	public $user_dni;
	public $user_name;
	public $user_lastname;
	public $user_phone;
	public $code_info;
	public $info_name;
	public $user_state;
	public $user_municipality;
	public $user_parish;
	public $user_zone_type;


	public $n_guerreros_internet;
	public $n_cuentas_activas_instagram;
	public $n_cuentas_activas_tiktok;
	public $n_cuentas_activas_facebook;
	public $n_cuentas_activas_x;
	public $n_cuentas_activas_blogger;
	public $n_cuentas_activas_pinterest;
	public $n_cuentas_activas_threads;
	public $n_cuentas_activas_youtube;
	public $n_seguidores_activas_instagram;
	public $n_seguidores_activas_tiktok;
	public $n_seguidores_activas_facebook;
	public $n_seguidores_activas_x;
	public $n_seguidores_activas_blogger;
	public $n_seguidores_activas_pinterest;
	public $n_seguidores_activas_threads;
	public $n_seguidores_activas_youtube;
	public $n_grupos_whatsapp;
	public $n_miembros_whatsapp;
	public $n_grupos_telegram;
	public $n_miembros_telegram;


	public $user_name_os;
	public $date_update;

	public function __construct()
	{
		$this->user_id = "";
		$this->user_type = "";
		$this->personal_type = "";
		$this->user_email = "";
		$this->user_dni = "";
		$this->user_name = "";
		$this->user_lastname = "";
		$this->user_phone = "";
		$this->code_info = "";
		$this->info_name = "";
		$this->user_state = "";
		$this->user_municipality = "";
		$this->user_parish = "";
		$this->user_zone_type = "";

		$this->n_guerreros_internet = "";
		$this->n_cuentas_activas_instagram = "";
		$this->n_cuentas_activas_tiktok = "";
		$this->n_cuentas_activas_facebook = "";
		$this->n_cuentas_activas_x = "";
		$this->n_cuentas_activas_blogger = "";
		$this->n_cuentas_activas_pinterest = "";
		$this->n_cuentas_activas_threads = "";
		$this->n_cuentas_activas_youtube = "";
		$this->n_seguidores_activos_instagram = "";
		$this->n_seguidores_activos_tiktok = "";
		$this->n_seguidores_activos_facebook = "";
		$this->n_seguidores_activos_x = "";
		$this->n_seguidores_activos_blogger = "";
		$this->n_seguidores_activos_pinterest = "";
		$this->n_seguidores_activos_threads = "";
		$this->n_seguidores_activos_youtube = "";
		$this->n_grupos_whatsapp = "";
		$this->n_miembros_whatsapp = "";
		$this->n_grupos_telegram = "";
		$this->n_miembros_telegram = "";

		$this->user_name_os = "";
		$this->date_update = "";
	}



	public function addPg()
	{
		$sql = "INSERT into encuesta_fuerza_comunicacional (
		user_id, 
		user_type, 
		personal_type, 
		user_email, 
		user_dni, 
		user_name, 
		user_lastname, 
		user_phone, 
		code_info, 
		info_name, 
		user_state, 
		user_municipality, 
		user_parish, 
		user_zone_type, 
		n_guerreros_internet, 
		n_cuentas_activas_instagram, 
		n_cuentas_activas_tiktok, 
		n_cuentas_activas_facebook, 
		n_cuentas_activas_x, 
		n_cuentas_activas_blogger, 
		n_cuentas_activas_pinterest, 
		n_cuentas_activas_threads, 
		n_cuentas_activas_youtube, 
		n_seguidores_activos_instagram, 
		n_seguidores_activos_tiktok, 
		n_seguidores_activos_facebook, 
		n_seguidores_activos_x, 
		n_seguidores_activos_blogger, 
		n_seguidores_activos_pinterest, 
		n_seguidores_activos_threads, 
		n_seguidores_activos_youtube, 
		n_grupos_whatsapp, 
		n_miembros_whatsapp, 
		n_grupos_telegram, 
		n_miembros_telegram,
		user_name_os,
		date_update
		)";
		$sql .= " VALUES (
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?,
			?
			);";
		$values = [
			$this->user_id,
			$this->user_type,
			$this->personal_type,
			$this->user_email,
			$this->user_dni,
			$this->user_name,
			$this->user_lastname,
			$this->user_phone,
			$this->code_info,
			$this->info_name,
			$this->user_state,
			$this->user_municipality,
			$this->user_parish,
			$this->user_zone_type,
			$this->n_guerreros_internet,
			$this->n_cuentas_activas_instagram,
			$this->n_cuentas_activas_tiktok,
			$this->n_cuentas_activas_facebook,
			$this->n_cuentas_activas_x,
			$this->n_cuentas_activas_blogger,
			$this->n_cuentas_activas_pinterest,
			$this->n_cuentas_activas_threads,
			$this->n_cuentas_activas_youtube,
			$this->n_seguidores_activos_instagram,
			$this->n_seguidores_activos_tiktok,
			$this->n_seguidores_activos_facebook,
			$this->n_seguidores_activos_x,
			$this->n_seguidores_activos_blogger,
			$this->n_seguidores_activos_pinterest,
			$this->n_seguidores_activos_threads,
			$this->n_seguidores_activos_youtube,
			$this->n_grupos_whatsapp,
			$this->n_miembros_whatsapp,
			$this->n_grupos_telegram,
			$this->n_miembros_telegram,
			$this->user_name_os,
			$this->date_update
		];
		$resul = ExecutorPg::insert($sql, $values);
		return $resul[0];
	}

	public static function delById($id)
	{
		$sql = "delete from " . self::$tablename . " where id=$id";
		Executor::doit($sql);
	}
	public function del()
	{
		$sql = "delete from " . self::$tablename . " where id=$this->id";
		Executor::doit($sql);
	}

	public function delByIdActivity()
	{
		$sql = "delete from " . self::$tablename . " where id_activity=$this->id_activity";
		Executor::doit($sql);
	}


	public function updatePg()
	{
		$sql = "UPDATE encuesta_fuerza_comunicacional set 
		user_type = ?, 
		personal_type = ?, 
		user_email = ?, 
		user_dni = ?, 
		user_name = ?, 
		user_lastname = ?, 
		user_phone = ?, 
		code_info = ?, 
		info_name = ?, 
		user_state = ?, 
		user_municipality = ?, 
		user_parish = ?, 
		user_zone_type = ?, 
		n_guerreros_internet = ?, 
		n_cuentas_activas_instagram = ?, 
		n_cuentas_activas_tiktok = ?, 
		n_cuentas_activas_facebook = ?, 
		n_cuentas_activas_x = ?, 
		n_cuentas_activas_blogger = ?, 
		n_cuentas_activas_pinterest = ?, 
		n_cuentas_activas_threads = ?, 
		n_cuentas_activas_youtube = ?,
		n_seguidores_activos_instagram = ?, 
		n_seguidores_activos_tiktok = ?, 
		n_seguidores_activos_facebook = ?, 
		n_seguidores_activos_x = ?,
		n_seguidores_activos_blogger = ?, 
		n_seguidores_activos_pinterest = ?, 
		n_seguidores_activos_threads = ?, 
		n_seguidores_activos_youtube = ?,
		n_grupos_whatsapp = ?, 
		n_miembros_whatsapp = ?, 
		n_grupos_telegram = ?, 
		n_miembros_telegram = ?,
		user_name_os = ?,
		date_update = ?
		where user_id = ?;
		";
		$values = [
			$this->user_type,
			$this->personal_type,
			$this->user_email,
			$this->user_dni,
			$this->user_name,
			$this->user_lastname,
			$this->user_phone,
			$this->code_info,
			$this->info_name,
			$this->user_state,
			$this->user_municipality,
			$this->user_parish,
			$this->user_zone_type,
			$this->n_guerreros_internet,
			$this->n_cuentas_activas_instagram,
			$this->n_cuentas_activas_tiktok,
			$this->n_cuentas_activas_facebook,
			$this->n_cuentas_activas_x,
			$this->n_cuentas_activas_blogger,
			$this->n_cuentas_activas_pinterest,
			$this->n_cuentas_activas_threads,
			$this->n_cuentas_activas_youtube,
			$this->n_seguidores_activos_instagram,
			$this->n_seguidores_activos_tiktok,
			$this->n_seguidores_activos_facebook,
			$this->n_seguidores_activos_x,
			$this->n_seguidores_activos_blogger,
			$this->n_seguidores_activos_pinterest,
			$this->n_seguidores_activos_threads,
			$this->n_seguidores_activos_youtube,
			$this->n_grupos_whatsapp,
			$this->n_miembros_whatsapp,
			$this->n_grupos_telegram,
			$this->n_miembros_telegram,
			$this->user_name_os,
			$this->date_update,
			$this->user_id,
		];

		// return $sql;
		return ExecutorPg::update($sql, $values);
	}

	

	public static function getById($id)
	{
		$sql = "select * from " . self::$tablename . " where id=$id";
		$query = Executor::doit($sql);
		return Model::one($query[0], new  EncuestaComunicacionalData ());
	}

	public static function getByInfo($code_info)
	{
		$sql = "select * from " . self::$tablename . " where code_info=$code_info";
		$query = Executor::doit($sql);
		return Model::one($query[0], new  EncuestaComunicacionalData ());
	}



	public static function getByIdActivity($id)
	{
		$sql = "select * from " . self::$tablename . " where id_activity=$id";
		$query = Executor::doit($sql);
		return Model::one($query[0], new  EncuestaComunicacionalData ());
	}


	public static function getNameById($id)
	{
		$con = Database::getCon();
		$query = $con->query("select * from " . self::$tablename . " where id=$id");

		while ($res = mysqli_fetch_array($query)) {
			$resul[] = $res;
		}

		// foreach($resul as $p):
		// 	$html.= "<option value='".$p['id_municipio']."'>".$p['municipio']."</option>";
		// endforeach;

		// return $html;
		return $resul;
	}

	public static function getAll()
	{
		$sql = "select * from " . self::$tablename;
		$query = Executor::doit($sql);
		return Model::many($query[0], new  EncuestaComunicacionalData ());
	}

	public static function getLike($q)
	{
		$sql = "select * from " . self::$tablename . " where name like '%$q%'";
		$query = Executor::doit($sql);
		return Model::many($query[0], new  EncuestaComunicacionalData ());
	}

	public static function getBySQL($sql)
	{
		$query = Executor::doit($sql);
		return Model::many($query[0], new  EncuestaComunicacionalData ());
	}

	public static function UpdateBySQL($sql)
	{
		$query = Executor::doit($sql);
	}

	public static function getRepeated($document_number)
	{
		$sql = "select * from " . self::$tablename . " where user_dni=\"$document_number\"";
		$query = Executor::doit($sql);
		return Model::one($query[0], new  EncuestaComunicacionalData ());
	}


	public static function getByIdPg($id)
	{

		$sql = "SELECT * from encuesta_fuerza_comunicacional where id=$id";
		$query = ExecutorPg::doit($sql);
		// return $query;
		// return $sql;
		if ($query === []) {
			$array = ModelPg::one($query[0][0], new  EncuestaComunicacionalData ());
			if ($array->id == "") {
				return "null";
			} else {
				return $array;
			}
		} else {
			return "null";
		}
	}


	public static function getByUserId($id)
	{

		$sql = "SELECT * from encuesta_fuerza_comunicacional where user_id=$id";
		$query = ExecutorPg::doit($sql);
		// return $query;
		// return $sql;
		if ($query[0]->user_dni) {
			$array = ModelPg::one($query[0], new  EncuestaComunicacionalData ());
			if ($array->id == "") {
				return "null";
			} else {
				return $array;
			}
		} else {
			return "null";
		}
	}


	public static function getRepeatedPg($user_dni)
	{
		$sql = "select * from encuesta_fuerza_comunicacional where user_dni='$user_dni'";
		$query = ExecutorPg::doit($sql);
		// return $query;
		if ($query[0]->user_dni) {
			$array = ModelPg::one($query[0], new  EncuestaComunicacionalData ());
			if ($array->id == "") {
				return "null";
			} else {
				return $array;
			}
		} else {
			return "null";
		}
	}

	public static function getAllPg($sql)
	{
		$conn = DatabasePg::connectPg();

		if (Core::$debug_sql) {
			print "<pre>" . $sql . "</pre>";
		}
		$stmt = $conn->prepare($sql);
		$stmt->execute();
		$data = $stmt->fetchAll(PDO::FETCH_OBJ);
		$TotalReg = $stmt->rowCount();
		return array($data, $TotalReg);
	}
}
