Initial import from local backup (Documents-Playground/pakerpale)
This commit is contained in:
69
homestead/application/models/CurationModel.php
Normal file
69
homestead/application/models/CurationModel.php
Normal file
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
defined('BASEPATH') or exit('No direct script access allowed');
|
||||
|
||||
class CurationModel extends MY_Model
|
||||
{
|
||||
|
||||
public $thumbnail;
|
||||
public $title;
|
||||
public $description;
|
||||
public $likes;
|
||||
public $subscribes;
|
||||
public $updatedAt;
|
||||
public $category;
|
||||
public $link;
|
||||
|
||||
private $table = 'cm_curation_raw_yt';
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->load->database();
|
||||
}
|
||||
|
||||
public function save($data)
|
||||
{
|
||||
$inserted = [];
|
||||
$updated = [];
|
||||
foreach ($data->videos as $v) {
|
||||
if (empty($data->action) || $data->action == 'insert') {
|
||||
$publishedAt = date('Y-m-d H:i:s', strtotime($v->publishedAt));
|
||||
$v = (object) array_map(function ($val) {
|
||||
return is_null($val) ? "" : $val;
|
||||
}, (array) $v);
|
||||
$video = [
|
||||
'Title' => $v->title,
|
||||
'Thumbnail' => $v->thumbnails->high->url,
|
||||
'Description' => $v->description,
|
||||
'Category' => $data->categoryTitle,
|
||||
'VideoId' => $v->id,
|
||||
'UpdatedAt' => $publishedAt,
|
||||
'CreatedAt' => date('Y-m-d H:i:s')
|
||||
];
|
||||
}else $video = (array)$v;
|
||||
if (!$this->db->where('VideoId', $video['VideoId'])->get($this->table)->num_rows()) {
|
||||
$this->db->insert($this->table, $video);
|
||||
array_push($inserted, $this->db->insert_id());
|
||||
} else {
|
||||
$this->db->where('VideoId', $video['VideoId'])->update($this->table, $video);
|
||||
array_push($updated, $video['VideoId']);
|
||||
}
|
||||
}
|
||||
return ['inserted' => $inserted, 'updated' => $updated];
|
||||
}
|
||||
|
||||
public function get($data)
|
||||
{
|
||||
return $this->db->offset($data->offset)->limit(empty($data->limit) ? 10 : $data->limit)->get($this->table)->result();
|
||||
}
|
||||
|
||||
public function delete($data)
|
||||
{
|
||||
$deleted = [];
|
||||
foreach($data->videos as $video) {
|
||||
$this->db->where('VideoId', $video->VideoId)->delete($this->table);
|
||||
array_push($deleted, $video->VideoId);
|
||||
}
|
||||
return $deleted;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user