Changeset 3730:5c45a5df9a59 for plugins/blogroll/class.dc.blogroll.php
- Timestamp:
- 03/08/18 17:58:39 (8 years ago)
- Branch:
- default
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
plugins/blogroll/class.dc.blogroll.php
r2566 r3730 10 10 # 11 11 # -- END LICENSE BLOCK ----------------------------------------- 12 if (!defined('DC_RC_PATH')) { return;}12 if (!defined('DC_RC_PATH')) {return;} 13 13 14 14 class dcBlogroll 15 15 { 16 17 18 16 private $blog; 17 private $con; 18 private $table; 19 19 20 21 22 $this->blog =&$blog;23 $this->con =&$blog->con;24 $this->table = $this->blog->prefix.'link';25 20 public function __construct($blog) 21 { 22 $this->blog = &$blog; 23 $this->con = &$blog->con; 24 $this->table = $this->blog->prefix . 'link'; 25 } 26 26 27 public function getLinks($params=array())28 29 $strReq = 'SELECT link_id, link_title, link_desc, link_href, '.30 'link_lang, link_xfn, link_position '.31 'FROM '.$this->table.' '.32 "WHERE blog_id = '".$this->con->escape($this->blog->id)."' ";27 public function getLinks($params = array()) 28 { 29 $strReq = 'SELECT link_id, link_title, link_desc, link_href, ' . 30 'link_lang, link_xfn, link_position ' . 31 'FROM ' . $this->table . ' ' . 32 "WHERE blog_id = '" . $this->con->escape($this->blog->id) . "' "; 33 33 34 35 $strReq .= 'AND link_id = '.(integer) $params['link_id'].' ';36 34 if (isset($params['link_id'])) { 35 $strReq .= 'AND link_id = ' . (integer) $params['link_id'] . ' '; 36 } 37 37 38 38 $strReq .= 'ORDER BY link_position '; 39 39 40 41 40 $rs = $this->con->select($strReq); 41 $rs = $rs->toStatic(); 42 42 43 43 $this->setLinksData($rs); 44 44 45 46 45 return $rs; 46 } 47 47 48 49 50 48 public function getLink($id) 49 { 50 $params['link_id'] = $id; 51 51 52 52 $rs = $this->getLinks($params); 53 53 54 55 54 return $rs; 55 } 56 56 57 public function addLink($title,$href,$desc='',$lang='', $xfn='')58 59 57 public function addLink($title, $href, $desc = '', $lang = '', $xfn = '') 58 { 59 $cur = $this->con->openCursor($this->table); 60 60 61 $cur->blog_id= (string) $this->blog->id;62 63 $cur->link_href= (string) $href;64 $cur->link_desc= (string) $desc;65 $cur->link_lang= (string) $lang;66 $cur->link_xfn= (string) $xfn;61 $cur->blog_id = (string) $this->blog->id; 62 $cur->link_title = (string) $title; 63 $cur->link_href = (string) $href; 64 $cur->link_desc = (string) $desc; 65 $cur->link_lang = (string) $lang; 66 $cur->link_xfn = (string) $xfn; 67 67 68 69 70 68 if ($cur->link_title == '') { 69 throw new Exception(__('You must provide a link title')); 70 } 71 71 72 73 74 72 if ($cur->link_href == '') { 73 throw new Exception(__('You must provide a link URL')); 74 } 75 75 76 $strReq = 'SELECT MAX(link_id) FROM '.$this->table;77 $rs= $this->con->select($strReq);78 76 $strReq = 'SELECT MAX(link_id) FROM ' . $this->table; 77 $rs = $this->con->select($strReq); 78 $cur->link_id = (integer) $rs->f(0) + 1; 79 79 80 81 82 80 $cur->insert(); 81 $this->blog->triggerBlog(); 82 } 83 83 84 public function updateLink($id,$title,$href,$desc='',$lang='', $xfn='')85 86 84 public function updateLink($id, $title, $href, $desc = '', $lang = '', $xfn = '') 85 { 86 $cur = $this->con->openCursor($this->table); 87 87 88 89 $cur->link_href= (string) $href;90 $cur->link_desc= (string) $desc;91 $cur->link_lang= (string) $lang;92 $cur->link_xfn= (string) $xfn;88 $cur->link_title = (string) $title; 89 $cur->link_href = (string) $href; 90 $cur->link_desc = (string) $desc; 91 $cur->link_lang = (string) $lang; 92 $cur->link_xfn = (string) $xfn; 93 93 94 95 96 94 if ($cur->link_title == '') { 95 throw new Exception(__('You must provide a link title')); 96 } 97 97 98 99 100 98 if ($cur->link_href == '') { 99 throw new Exception(__('You must provide a link URL')); 100 } 101 101 102 $cur->update('WHERE link_id = '.(integer) $id.103 " AND blog_id = '".$this->con->escape($this->blog->id)."'");104 105 102 $cur->update('WHERE link_id = ' . (integer) $id . 103 " AND blog_id = '" . $this->con->escape($this->blog->id) . "'"); 104 $this->blog->triggerBlog(); 105 } 106 106 107 public function updateCategory($id,$desc)108 109 107 public function updateCategory($id, $desc) 108 { 109 $cur = $this->con->openCursor($this->table); 110 110 111 111 $cur->link_desc = (string) $desc; 112 112 113 114 115 113 if ($cur->link_desc == '') { 114 throw new Exception(__('You must provide a category title')); 115 } 116 116 117 $cur->update('WHERE link_id = '.(integer) $id.118 " AND blog_id = '".$this->con->escape($this->blog->id)."'");119 120 117 $cur->update('WHERE link_id = ' . (integer) $id . 118 " AND blog_id = '" . $this->con->escape($this->blog->id) . "'"); 119 $this->blog->triggerBlog(); 120 } 121 121 122 123 124 122 public function addCategory($title) 123 { 124 $cur = $this->con->openCursor($this->table); 125 125 126 $cur->blog_id= (string) $this->blog->id;127 $cur->link_desc= (string) $title;128 $cur->link_href= '';129 126 $cur->blog_id = (string) $this->blog->id; 127 $cur->link_desc = (string) $title; 128 $cur->link_href = ''; 129 $cur->link_title = ''; 130 130 131 132 133 131 if ($cur->link_desc == '') { 132 throw new Exception(__('You must provide a category title')); 133 } 134 134 135 $strReq = 'SELECT MAX(link_id) FROM '.$this->table;136 $rs= $this->con->select($strReq);137 135 $strReq = 'SELECT MAX(link_id) FROM ' . $this->table; 136 $rs = $this->con->select($strReq); 137 $cur->link_id = (integer) $rs->f(0) + 1; 138 138 139 140 139 $cur->insert(); 140 $this->blog->triggerBlog(); 141 141 142 143 142 return $cur->link_id; 143 } 144 144 145 146 147 145 public function delItem($id) 146 { 147 $id = (integer) $id; 148 148 149 $strReq = 'DELETE FROM '.$this->table.' '.150 "WHERE blog_id = '".$this->con->escape($this->blog->id)."' ".151 'AND link_id = '.$id.' ';149 $strReq = 'DELETE FROM ' . $this->table . ' ' . 150 "WHERE blog_id = '" . $this->con->escape($this->blog->id) . "' " . 151 'AND link_id = ' . $id . ' '; 152 152 153 154 155 153 $this->con->execute($strReq); 154 $this->blog->triggerBlog(); 155 } 156 156 157 public function updateOrder($id,$position)158 159 $cur= $this->con->openCursor($this->table);160 157 public function updateOrder($id, $position) 158 { 159 $cur = $this->con->openCursor($this->table); 160 $cur->link_position = (integer) $position; 161 161 162 $cur->update('WHERE link_id = '.(integer) $id.163 " AND blog_id = '".$this->con->escape($this->blog->id)."'");164 165 162 $cur->update('WHERE link_id = ' . (integer) $id . 163 " AND blog_id = '" . $this->con->escape($this->blog->id) . "'"); 164 $this->blog->triggerBlog(); 165 } 166 166 167 private function setLinksData($rs) 168 { 169 $cat_title = null; 170 while ($rs->fetch()) { 171 $rs->set('is_cat', !$rs->link_title && !$rs->link_href); 167 172 168 private function setLinksData($rs) 169 { 170 $cat_title = null; 171 while ($rs->fetch()) { 172 $rs->set('is_cat',!$rs->link_title && !$rs->link_href); 173 if ($rs->is_cat) { 174 $cat_title = $rs->link_desc; 175 $rs->set('cat_title', null); 176 } else { 177 $rs->set('cat_title', $cat_title); 178 } 179 } 180 $rs->moveStart(); 181 } 173 182 174 if ($rs->is_cat) { 175 $cat_title = $rs->link_desc; 176 $rs->set('cat_title',null); 177 } else { 178 $rs->set('cat_title',$cat_title); 179 } 180 } 181 $rs->moveStart(); 182 } 183 public function getLinksHierarchy($rs) 184 { 185 $res = array(); 183 186 184 public function getLinksHierarchy($rs) 185 { 186 $res = array(); 187 foreach ($rs->rows() as $k => $v) { 188 if (!$v['is_cat']) { 189 $res[$v['cat_title']][] = $v; 190 } 191 } 187 192 188 foreach ($rs->rows() as $k => $v) 189 { 190 if (!$v['is_cat']) { 191 $res[$v['cat_title']][] = $v; 192 } 193 } 194 195 return $res; 196 } 193 return $res; 194 } 197 195 }
Note: See TracChangeset
for help on using the changeset viewer.