auth->getInfo('user_lang'); $new_image = isset($_POST['new_image']) ? $_POST['new_image'] : ''; $new_note = isset($_POST['new_note']) ? $_POST['new_note'] : 10; $new_cattitle = isset($_POST['new_cattitle']) ? $_POST['new_cattitle'] : ''; $new_catdesc = isset($_POST['new_catdesc']) ? $_POST['new_catdesc'] : ''; $action = isset($_POST['action']) ? $_POST['action'] : ''; # Actions try { # Update categories if ($action == 'update_categories') { # Reorder categories if (empty($_POST['cats_order']) && !empty($_POST['catpos']) ) { $order = $_POST['catpos']; asort($order); $order = array_keys($order); } elseif (!empty($_POST['cats_order'])) { $order = explode(',', $_POST['cats_order']); } if (!empty($order)) { foreach ($order as $pos => $id) { $pos = ((integer) $pos)+1; if (empty($pos) || empty($id)) { continue; } $cur = $core->con->openCursor($C2->table.'_cat'); $cur->cat_pos = $pos; $C2->updCategory($id, $cur); } dcPage::addSuccessNotice( __('Categories successfully reordered.') ); } # Delete categories if (!empty($_POST['delcat'])) { foreach($_POST['delcat'] as $cat_id) { $C2->delCategory($cat_id); } dcPage::addSuccessNotice( __('Categories successfully deleted.') ); } http::redirect(empty($_POST['redir']) ? $p_url.'#cats' : $_POST['redir'] ); } # Create new category if ($action == 'create_category') { if (empty($new_cattitle)) { throw new Exception(__('You must provide a title.')); } $exists = $C2->getCategories(array('cat_title' => $new_cattitle), true)->f(0); if ($exists) { throw new Exception(__('Category with same name already exists.')); } $cur = $core->con->openCursor($C2->table.'_cat'); $cur->cat_title = $new_cattitle; $cur->cat_desc = $new_catdesc; $C2->addCategory($cur); dcPage::addSuccessNotice( __('Category successfully created.') ); http::redirect(empty($_POST['redir']) ? $p_url.'#cats' : $_POST['redir'] ); } # Delete links if (!empty($_POST['links']) && $action == 'delete_links') { foreach($_POST['links'] as $link_id) { $C2->delLink($link_id); } dcPage::addSuccessNotice( __('Links successfully deleted.') ); http::redirect(empty($_POST['redir']) ? $p_url.'#links' : $_POST['redir'] ); } # Move to right tab if (!empty($_POST['links']) && $action == 'moveto_change_links_category') { // Nothing to do: show links action page } # Update category for a group of links if (!empty($_POST['links']) && $action == 'change_links_category') { foreach($_POST['links'] as $link_id) { $cur = $core->con->openCursor($C2->table); $cur->cat_id = abs((integer) $_POST['upd_category']); $C2->updLink($link_id,$cur); } dcPage::addSuccessNotice( __('Links successfully updated.') ); http::redirect(empty($_POST['redir']) ? $p_url.'#links' : $_POST['redir'] ); } # Move to right tab if (!empty($_POST['links']) && $_POST['action'] == 'moveto_change_links_note') { // Nothing to do: show links action page } # Update note for a group of links if (!empty($_POST['links']) && $action == 'change_links_note') { foreach($_POST['links'] as $link_id) { $cur = $core->con->openCursor($C2->table); $cur->link_note = abs((integer) $_POST['upd_note']); $C2->updLink($link_id,$cur); } dcPage::addSuccessNotice( __('Links successfully updated.') ); http::redirect(empty($_POST['redir']) ? $p_url.'#links' : $_POST['redir'] ); } # Create or update link if (!empty($_POST['newlink'])) { cinecturlink2::test_folder( DC_ROOT.'/'.$core->blog->settings->system->public_path, $core->blog->settings->cinecturlink2->cinecturlink2_folder ); if (empty($new_title)) { throw new Exception(__('You must provide a title.')); } if (empty($new_author)) { throw new Exception(__('You must provide an author.')); } if (!preg_match('/http:\/\/.+/',$new_image)) { throw new Exception(__('You must provide a link to an image.')); } $cur = $core->con->openCursor($C2->table); $cur->link_title = $new_title; $cur->link_desc = $new_desc; $cur->link_author = $new_author; $cur->link_url = $new_url; $cur->cat_id = $new_category == '' ? null : $new_category; $cur->link_lang = $new_lang; $cur->link_img = $new_image; $cur->link_note = $new_note; # Create link if (empty($upd_link_id)) { $exists = $C2->getLinks(array('link_title'=>$new_title),true)->f(0); if ($exists) { throw new Exception(__('Link with same name already exists.')); } $C2->addLink($cur); dcPage::addSuccessNotice( __('Link successfully created.') ); } # Update link else { $exists = $C2->getLinks(array('link_id'=>$upd_link_id),true)->f(0); if (!$exists) { throw new Exception(__('Unknown link.')); } $C2->updLink($upd_link_id,$cur); dcPage::addSuccessNotice( __('Link successfully updated.') ); } http::redirect(empty($_POST['redir']) ? $p_url.'#links' : $_POST['redir'] ); } } catch(Exception $e) { $core->error->add($e->getMessage()); } # Construct lists $show_filters = false; $sortby = !empty($_GET['sortby']) ? $_GET['sortby'] : 'link_upddt'; $order = !empty($_GET['order']) ? $_GET['order'] : 'desc'; $page = !empty($_GET['page']) ? (integer) $_GET['page'] : 1; $nb_per_page = 30; if (!empty($_GET['nb']) && (integer) $_GET['nb'] > 0) { if ($nb_per_page != $_GET['nb']) $show_filters = true; $nb_per_page = (integer) $_GET['nb']; } $sortby_combo = array( __('Date') => 'link_upddt', __('Title') => 'link_title', __('Category') => 'cat_title', __('My rating') => 'link_note', ); $order_combo = array( __('Descending') => 'desc', __('Ascending') => 'asc' ); $params = array(); $params['limit'] = array((($page-1)*$nb_per_page),$nb_per_page); if ($sortby != '' && in_array($sortby,$sortby_combo)) { if ($order != '' && in_array($order,$order_combo)) { $params['order'] = $sortby.' '.$order; } if ($sortby != 'link_upddt' || $order != 'desc') { $show_filters = true; } } $categories = $C2->getCategories(); $categories_combo = array('-'=> ''); while($categories->fetch()) { $cat_title = html::escapeHTML($categories->cat_title); $categories_combo[$cat_title] = $categories->cat_id; } $medias_combo = $tmp_medias_combo = $dir = null; try { $allowed_medias = array('png','jpg','gif','bmp','jpeg'); $core->media = new dcMedia($core); $core->media->chdir($core->blog->settings->cinecturlink2->cinecturlink2_folder); $core->media->getDir(); $dir =& $core->media->dir; foreach($dir['files'] as $file) { if (!in_array(files::getExtension($file->relname),$allowed_medias)) continue; $tmp_medias_combo[$file->media_title] = $file->file_url; } if (!empty($tmp_medias_combo)) { $medias_combo = array_merge(array('-'=>''),$tmp_medias_combo); } } catch (Exception $e) { //$core->error->add($e->getMessage()); } $langs_combo = l10n::getISOcodes(true); $links_action_combo = array( __('delete') => 'delete_links', __('change category') => 'moveto_change_links_category', __('change my rating') => 'moveto_change_links_note' ); $notes_combo = array(); for ($i=0;$i<21;$i++) { $notes_combo[$i.'/20'] = $i; } $pager_base_url = $p_url. '&sortby='.$sortby. '&order='.$order. '&nb='.$nb_per_page. '&page=%s'; try { $links = $C2->getLinks($params); $links_counter = $C2->getLinks($params,true)->f(0); $links_list = new adminListCinecturlink2($core,$links,$links_counter,$pager_base_url); } catch (Exception $e) { $core->error->add($e->getMessage()); } # Page headers echo ''. ''.__('Cinecturlink 2').''. dcPage::jsToolBar(). dcPage::jsToolMan(). dcPage::jsLoad('js/_posts_list.js'). dcPage::jsLoad('index.php?pf=cinecturlink2/js/cinecturlink2.js'). dcPage::jsPageTabs(). "\n". ''. ''; # Change category for links if (!empty($_POST['links']) && $action == 'moveto_change_links_category') { echo dcPage::breadcrumb( array( html::escapeHTML($core->blog->name) => '', __('Cinecturlink 2') => $p_url.'&move=1#links', __('Change category of links') => '' ) ). dcPage::notices(); echo ' '; } # Change note for links elseif (!empty($_POST['links']) && $action == 'moveto_change_links_note') { echo dcPage::breadcrumb( array( html::escapeHTML($core->blog->name) => '', __('Cinecturlink 2') => $p_url.'&move=1#links', __('Change note of links') => '' ) ). dcPage::notices(); echo ' '; } # All other tabs else { echo dcPage::breadcrumb( array( html::escapeHTML($core->blog->name) => '', __('Cinecturlink 2') => '' ) ). dcPage::notices(); # List links echo ' '; # Create/edit link $title = __('New link'); if (null !== $upd_link_id) { $upd_rs = $C2->getLinks(array('link_id' => $upd_link_id)); $upd_link_id = null; if (!$upd_rs->isEmpty()) { $new_title = $upd_rs->link_title; $new_desc = $upd_rs->link_desc; $new_author = $upd_rs->link_author; $new_url = $upd_rs->link_url; $new_category = $upd_rs->cat_id; $new_lang = $upd_rs->link_lang; $new_image = $upd_rs->link_img; $new_note = $upd_rs->link_note; $upd_link_id = $upd_rs->link_id; $title = __('Edit link'); } } echo ' '; # List categories echo '
'; if ($categories->isEmpty()) { echo '

'.__('There is no category').'

'; } else { echo '
'; $i = 0; while($categories->fetch()) { $i++; $id = $categories->cat_id; $title = html::escapeHTML($categories->cat_title); $desc = html::escapeHTML($categories->cat_desc); echo ' '; } echo '
#'.__('name').''.__('description').'
'.form::field(array('catpos['.$id.']'),2,5,$i).' '.form::checkbox(array('delcat[]'),$id).' '.$title.' '.$desc.'

'.__('Check to delete').'

'. form::hidden('cats_order', ''). form::hidden(array('action'), 'update_categories'). $core->formNonce().'

'; } echo '
'; # Create category echo '

'. form::hidden(array('action'), 'create_category'). $core->formNonce().'

'; } dcPage::helpBlock('cinecturlink2'); # Page footer echo '

'.__('Configuration').' - cinecturlink2 - '.$core->plugins->moduleInfo('cinecturlink2', 'version').'  '.__('cinecturlink2').'

';