Exemplo n.º 1
0
 function icons_add()
 {
     global $set, $apx, $db;
     if (!checkToken()) {
         infoInvalidToken();
     } else {
         $max = array_key_max($set['forum']['icons']);
         if (!$max) {
             $max = -1;
         }
         for ($i = 1; $i <= 5; $i++) {
             if (!$_POST['file' . $i]) {
                 continue;
             }
             if (!count($set['forum']['icons'])) {
                 $set['forum']['icons'][1] = array('file' => $_POST['file' . $i], 'ord' => ++$max);
             } else {
                 $set['forum']['icons'][] = array('file' => $_POST['file' . $i], 'ord' => ++$max);
             }
             logit('FORUM_ICONSADD', $_POST['file' . $i]);
         }
         $db->query("UPDATE " . PRE . "_config SET value='" . addslashes(serialize($set['forum']['icons'])) . "' WHERE module='forum' AND varname='icons' LIMIT 1");
         printJSRedirect('action.php?action=forum.icons');
     }
 }
Exemplo n.º 2
0
 function edit()
 {
     global $set, $db, $apx;
     $_REQUEST['id'] = (int) $_REQUEST['id'];
     if (!$_REQUEST['id']) {
         die('missing ID!');
     }
     //Sektions-Liste
     if (!is_array($_POST['secid']) || $_POST['secid'][0] == 'all') {
         $_POST['secid'] = array('all');
     }
     if ($_POST['send']) {
         //Mindestens zwei Felder belegt?
         for ($i = 1; $i <= 20; $i++) {
             if ($_POST['a' . $i]) {
                 ++$ac;
             }
             if ($ac == 2) {
                 break;
             }
         }
         if (!checkToken()) {
             infoInvalidToken();
         } elseif (!$_POST['question'] || !$_POST['days'] || $ac < 2) {
             infoNotComplete();
         } else {
             for ($i = 1; $i <= 20; $i++) {
                 if ($_POST['a' . $i] && $_POST['color' . $i]) {
                     $qcache[] = array($_POST['a' . $i], $_POST['color' . $i], $_POST['a' . $i . '_c']);
                 }
             }
             for ($i = 1; $i <= 20; $i++) {
                 $_POST['a' . $i] = $qcache[$i - 1][0];
                 $_POST['color' . $i] = $qcache[$i - 1][1];
                 $_POST['a' . $i . '_c'] = $qcache[$i - 1][2];
             }
             $_POST['secid'] = serialize_section($_POST['secid']);
             //Veröffentlichung
             if ($apx->user->has_right('poll.enable') && isset($_POST['t_day_1'])) {
                 $_POST['starttime'] = maketime(1);
                 $_POST['endtime'] = maketime(2);
                 if ($_POST['starttime']) {
                     if (!$_POST['endtime'] || $_POST['endtime'] <= $_POST['starttime']) {
                         $_POST['endtime'] = 3000000000;
                     }
                     $addfields = ',starttime,endtime';
                 }
             }
             $db->dupdate(PRE . '_poll', 'secid,question,meta_description,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,color1,color2,color3,color4,color5,color6,color7,color8,color9,color10,color11,color12,color13,color14,color15,color16,color17,color18,color19,color20,a1_c,a2_c,a3_c,a4_c,a5_c,a6_c,a7_c,a8_c,a9_c,a10_c,a11_c,a12_c,a13_c,a14_c,a15_c,a16_c,a17_c,a18_c,a19_c,a20_c,days,multiple,searchable,allowcoms' . $addfields, "WHERE ( id='" . $_REQUEST['id'] . "' ) LIMIT 1");
             logit('POLL_EDIT', 'ID #' . $_REQUEST['id']);
             //Tags
             $db->query("DELETE FROM " . PRE . "_poll_tags WHERE id='" . $_REQUEST['id'] . "'");
             $tagids = produceTagIds($_POST['tags']);
             foreach ($tagids as $tagid) {
                 $db->query("INSERT IGNORE INTO " . PRE . "_poll_tags VALUES('" . $_REQUEST['id'] . "', '" . $tagid . "')");
             }
             printJSRedirect(get_index('poll.show'));
         }
     } else {
         $res = $db->first("SELECT * FROM " . PRE . "_poll WHERE ( id='" . $_REQUEST['id'] . "' ) LIMIT 1");
         foreach ($res as $key => $val) {
             $_POST[$key] = $val;
         }
         $_POST['secid'] = unserialize_section($_POST['secid']);
         //Veröffentlichung
         if ($res['starttime']) {
             maketimepost(1, $res['starttime']);
             if ($res['endtime'] < 2147483647) {
                 maketimepost(2, $res['endtime']);
             }
         }
         //Sektionen auflisten
         if (is_array($apx->sections) && count($apx->sections)) {
             $seclist = '<option value="all" style="font-weight:bold;"' . iif(in_array('all', $_POST['secid']), ' selected="selected"') . '>' . $apx->lang->get('ALLSEC') . '</option>';
             foreach ($apx->sections as $id => $info) {
                 $seclist .= '<option value="' . $id . '"' . iif(in_array($id, $_POST['secid']), ' selected="selected"') . '>' . replace($info['title']) . '</option>';
             }
         }
         //Antwortmöglichkeiten
         for ($i = 1; $i <= 20; $i++) {
             if ($i > 1 && !$_POST['a' . $i]) {
                 continue;
             }
             $answerdata[$i]['TEXT'] = compatible_hsc($_POST['a' . $i]);
             $answerdata[$i]['VOTES'] = intval($_POST['a' . $i . '_c']);
             $answerdata[$i]['COLOR'] = iif($_POST['color' . $i], $_POST['color' . $i], $this->colors[0]);
             $answerdata[$i]['DISPLAY'] = 1;
         }
         //Felder auffüllen
         while (count($answerdata) < 20) {
             $answerdata[] = array('COLOR' => $this->colors[0]);
         }
         //Veröffentlichung
         if ($apx->user->has_right('poll.enable') && isset($_POST['t_day_1'])) {
             $apx->tmpl->assign('STARTTIME', choosetime(1, 0, maketime(1)));
             $apx->tmpl->assign('ENDTIME', choosetime(2, 1, maketime(2)));
         }
         //Farben
         foreach ($this->colors as $color) {
             $colordata[]['ID'] = $color;
         }
         //Tags
         $tags = array();
         $tagdata = $db->fetch("\n\t\t\tSELECT t.tag\n\t\t\tFROM " . PRE . "_poll_tags AS n\n\t\t\tLEFT JOIN " . PRE . "_tags AS t USING(tagid)\n\t\t\tWHERE n.id='" . $_REQUEST['id'] . "'\n\t\t\tORDER BY t.tag ASC\n\t\t");
         $tags = get_ids($tagdata, 'tag');
         $_POST['tags'] = implode(', ', $tags);
         $apx->tmpl->assign('COLOR', $colordata);
         $apx->tmpl->assign('ANSWER', $answerdata);
         $apx->tmpl->assign('ID', $_REQUEST['id']);
         $apx->tmpl->assign('SECLIST', $seclist);
         $apx->tmpl->assign('QUESTION', compatible_hsc($_POST['question']));
         $apx->tmpl->assign('DAYS', intval($_POST['days']));
         $apx->tmpl->assign('META_DESCRIPTION', compatible_hsc($_POST['meta_description']));
         $apx->tmpl->assign('TAGS', compatible_hsc($_POST['tags']));
         $apx->tmpl->assign('MULTIPLE', (int) $_POST['multiple']);
         $apx->tmpl->assign('ALLOWCOMS', (int) $_POST['allowcoms']);
         $apx->tmpl->assign('SEARCHABLE', (int) $_POST['searchable']);
         $apx->tmpl->parse('edit');
     }
 }
Exemplo n.º 3
0
 function group()
 {
     global $set, $db, $apx, $html;
     $_REQUEST['id'] = (int) $_REQUEST['id'];
     $data = $set['banner']['groups'];
     //Kategorie löschen
     if ($_REQUEST['do'] == 'del' && isset($data[$_REQUEST['id']])) {
         list($count) = $db->first("SELECT count(*) FROM " . PRE . "_banner WHERE " . PRE . "_banner.group='" . $id . "'");
         if (!$count) {
             if (isset($_POST['id'])) {
                 if (!checkToken()) {
                     infoInvalidToken();
                 } else {
                     unset($data[$_REQUEST['id']]);
                     $db->query("UPDATE " . PRE . "_config SET value='" . addslashes(serialize($data)) . "' WHERE module='banner' AND varname='groups' LIMIT 1");
                     logit('BANNER_CATDEL', $_REQUEST['id']);
                     printJSReload();
                 }
             } else {
                 $apx->tmpl->assign('MESSAGE', $apx->lang->get('MSG_TEXT', array('TITLE' => compatible_hsc($data[$_REQUEST['id']]))));
                 tmessageOverlay('catdel', array('ID' => $_REQUEST['id']));
             }
             return;
         }
     } elseif ($_REQUEST['do'] == 'edit' && isset($data[$_REQUEST['id']])) {
         if (isset($_POST['title'])) {
             if (!checkToken()) {
                 infoInvalidToken();
             } elseif (!$_POST['title']) {
                 infoNotComplete();
             } else {
                 $data[$_REQUEST['id']] = $_POST['title'];
                 $db->query("UPDATE " . PRE . "_config SET value='" . addslashes(serialize($data)) . "' WHERE module='banner' AND varname='groups' LIMIT 1");
                 logit('BANNER_CATEDIT', $_REQUEST['id']);
                 printJSRedirect('action.php?action=banner.group');
                 return;
             }
         } else {
             $_POST['title'] = $data[$_REQUEST['id']];
             $apx->tmpl->assign('TITLE', $_POST['title']);
             $apx->tmpl->assign('ACTION', 'edit');
             $apx->tmpl->assign('ID', $_REQUEST['id']);
             $apx->tmpl->parse('catadd_catedit');
         }
     } elseif ($_REQUEST['do'] == 'add') {
         if ($_POST['send']) {
             if (!checkToken()) {
                 printInvalidToken();
             } elseif (!$_POST['title']) {
                 infoNotComplete();
             } else {
                 if (!count($data)) {
                     $data[1] = $_POST['title'];
                 } else {
                     $data[] = $_POST['title'];
                 }
                 $db->query("UPDATE " . PRE . "_config SET value='" . addslashes(serialize($data)) . "' WHERE module='banner' AND varname='groups' LIMIT 1");
                 logit('BANNER_CATADD', array_key_max($data));
                 printJSRedirect('action.php?action=banner.group');
                 return;
             }
         }
     } else {
         $apx->tmpl->assign('ACTION', 'add');
         $apx->tmpl->parse('catadd_catedit');
     }
     $col[] = array('ID', 1, 'align="center"');
     $col[] = array('COL_TITLE', 80, 'class="title"');
     $col[] = array('COL_BANNERS', 20, 'align="center"');
     //AUSGABE
     asort($data);
     foreach ($data as $id => $res) {
         ++$i;
         list($count) = $db->first("SELECT count(*) FROM " . PRE . "_banner WHERE " . PRE . "_banner.group='" . $id . "'");
         $tabledata[$i]['COL1'] = $id;
         $tabledata[$i]['COL2'] = $res;
         $tabledata[$i]['COL3'] = $count;
         $tabledata[$i]['OPTIONS'] .= optionHTML('edit.gif', 'banner.group', 'do=edit&id=' . $id, $apx->lang->get('CORE_EDIT'));
         if (!$count) {
             $tabledata[$i]['OPTIONS'] .= optionHTMLOverlay('del.gif', 'banner.group', 'do=del&id=' . $id, $apx->lang->get('CORE_DEL'));
         } else {
             $tabledata[$i]['OPTIONS'] .= '<img src="design/ispace.gif" alt="" />';
         }
     }
     $apx->tmpl->assign('TABLE', $tabledata);
     $html->table($col);
 }
Exemplo n.º 4
0
 function edit()
 {
     global $set, $db, $apx;
     $_REQUEST['id'] = (int) $_REQUEST['id'];
     if (!$_REQUEST['id']) {
         die('missing ID!');
     }
     if ($_POST['send'] == 1) {
         $emails = explode(',', $_POST['email']);
         foreach ($emails as $one) {
             if (!checkmail(trim($one))) {
                 $wrongmail = true;
                 break;
             }
         }
         if (!checkToken()) {
             infoInvalidToken();
         } elseif (!$_POST['title'] || !$_POST['email']) {
             infoNotComplete();
         } elseif ($wrongmail) {
             info($apx->lang->get('INFO_NOEMAIL', array('EMAIL' => $one)));
         } else {
             $db->dupdate(PRE . '_contact', 'title,email', " WHERE id='" . $_REQUEST['id'] . "' LIMIT 1");
             logit('CONTACT_EDIT', 'ID #' . $_REQUEST['id']);
             printJSRedirect(get_index('contact.show'));
         }
     } else {
         list($_POST['title'], $_POST['email']) = $db->first("SELECT title,email FROM " . PRE . "_contact WHERE id='" . $_REQUEST['id'] . "' LIMIT 1");
         $apx->tmpl->assign('TITLE', compatible_hsc($_POST['title']));
         $apx->tmpl->assign('EMAIL', compatible_hsc($_POST['email']));
         $apx->tmpl->assign('ID', $_REQUEST['id']);
         $apx->tmpl->assign('ACTION', 'edit');
         $apx->tmpl->parse('add_edit');
     }
 }
Exemplo n.º 5
0
 function group()
 {
     global $set, $db, $apx, $html;
     $_REQUEST['id'] = (int) $_REQUEST['id'];
     $data = $set['content']['groups'];
     //Kategorie löschen
     if ($_REQUEST['do'] == 'del' && isset($data[$_REQUEST['id']])) {
         list($count) = $db->first("SELECT count(*) FROM " . PRE . "_content WHERE catid='" . $_REQUEST['id'] . "'");
         if (!$count) {
             if (isset($_POST['id'])) {
                 if (!checkToken()) {
                     infoInvalidToken();
                 } else {
                     unset($data[$_REQUEST['id']]);
                     $db->query("UPDATE " . PRE . "_config SET value='" . addslashes(serialize($data)) . "' WHERE module='content' AND varname='groups' LIMIT 1");
                     logit('CONTENT_CATDEL', $_REQUEST['id']);
                     printJSReload();
                 }
             } else {
                 $apx->tmpl->assign('MESSAGE', $apx->lang->get('MSG_TEXT', array('TITLE' => compatible_hsc($data[$_REQUEST['id']]))));
                 tmessageOverlay('catdel', array('ID' => $_REQUEST['id']));
             }
         }
         return;
     }
     //Kategorie leeren
     if ($_REQUEST['do'] == 'clean' && isset($data[$_REQUEST['id']])) {
         if ($_POST['id'] && $_POST['moveto']) {
             if (!checkToken()) {
                 infoInvalidToken();
             } else {
                 $db->query("UPDATE " . PRE . "_content SET catid='" . intval($_POST['moveto']) . "' WHERE catid='" . $_REQUEST['id'] . "'");
                 logit('CONTENT_CATCLEAN', "ID #" . $_REQUEST['id']);
                 //Kategorie löschen
                 if ($_POST['delcat']) {
                     unset($data[$_REQUEST['id']]);
                     $db->query("UPDATE " . PRE . "_config SET value='" . addslashes(serialize($data)) . "' WHERE module='content' AND varname='groups' LIMIT 1");
                     logit('CONTENT_CATDEL', $_REQUEST['id']);
                 }
                 printJSReload();
                 return;
             }
         } else {
             //Kategorien auflisten
             $catlist = '';
             $data = $set['content']['groups'];
             if (count($data)) {
                 foreach ($data as $id => $title) {
                     if ($id == $_REQUEST['id']) {
                         continue;
                     }
                     $catlist .= '<option value="' . $id . '"' . iif($_REQUEST['catid'] == $id, ' selected="selected"') . '>' . replace($title) . '</option>';
                 }
             }
             $apx->tmpl->assign('ID', $_REQUEST['id']);
             $apx->tmpl->assign('TITLE', compatible_hsc($data[$_REQUEST['id']]));
             $apx->tmpl->assign('DELCAT', (int) $_POST['delcat']);
             $apx->tmpl->assign('CATLIST', $catlist);
             tmessageOverlay('catclean');
         }
         return;
     } elseif ($_REQUEST['do'] == 'edit' && isset($data[$_REQUEST['id']])) {
         if (isset($_POST['title'])) {
             if (!checkToken()) {
                 infoInvalidToken();
             } elseif (!$_POST['title']) {
                 info('back');
             } else {
                 $data[$_REQUEST['id']] = $_POST['title'];
                 $db->query("UPDATE " . PRE . "_config SET value='" . addslashes(serialize($data)) . "' WHERE module='content' AND varname='groups' LIMIT 1");
                 logit('CONTENT_CATEDIT', $_REQUEST['id']);
                 printJSRedirect('action.php?action=content.group');
                 return;
             }
         } else {
             $_POST['title'] = $data[$_REQUEST['id']];
             $apx->tmpl->assign('TITLE', $_POST['title']);
             $apx->tmpl->assign('ACTION', 'edit');
             $apx->tmpl->assign('ID', $_REQUEST['id']);
             $apx->tmpl->parse('catadd_catedit');
         }
     } elseif ($_REQUEST['do'] == 'add') {
         if ($_POST['send']) {
             if (!checkToken()) {
                 printInvalidToken();
             } elseif (!$_POST['title']) {
                 info('back');
             } else {
                 if (!count($data)) {
                     $data[1] = $_POST['title'];
                 } else {
                     $data[] = $_POST['title'];
                 }
                 $db->query("UPDATE " . PRE . "_config SET value='" . addslashes(serialize($data)) . "' WHERE module='content' AND varname='groups' LIMIT 1");
                 logit('CONTENT_CATADD', array_key_max($data));
                 printJSRedirect('action.php?action=content.group');
                 return;
             }
         }
     } else {
         $apx->tmpl->assign('ACTION', 'add');
         $apx->tmpl->parse('catadd_catedit');
     }
     $col[] = array('ID', 1, 'align="center"');
     $col[] = array('COL_TITLE', 80, 'class="title"');
     $col[] = array('COL_CONTENTS', 20, 'align="center"');
     //AUSGABE
     asort($data);
     foreach ($data as $id => $res) {
         ++$i;
         list($count) = $db->first("SELECT count(*) FROM " . PRE . "_content WHERE catid='" . $id . "'");
         $tabledata[$i]['COL1'] = $id;
         $tabledata[$i]['COL2'] = $res;
         $tabledata[$i]['COL3'] = $count;
         $tabledata[$i]['OPTIONS'] .= optionHTML('edit.gif', 'content.group', 'do=edit&id=' . $id, $apx->lang->get('CORE_EDIT'));
         if (!$count) {
             $tabledata[$i]['OPTIONS'] .= optionHTMLOverlay('del.gif', 'content.group', 'do=del&id=' . $id, $apx->lang->get('CORE_DEL'));
         } else {
             $tabledata[$i]['OPTIONS'] .= '<img src="design/ispace.gif" alt="" />';
         }
         if ($count) {
             $tabledata[$i]['OPTIONS'] .= optionHTMLOverlay('clean.gif', 'content.group', 'do=clean&id=' . $id, $apx->lang->get('CLEAN'));
         } else {
             $tabledata[$i]['OPTIONS'] .= '<img src="design/ispace.gif" alt="" />';
         }
     }
     $apx->tmpl->assign('TABLE', $tabledata);
     $html->table($col);
 }
Exemplo n.º 6
0
 function catshow()
 {
     global $set, $db, $apx, $html;
     $_REQUEST['id'] = (int) $_REQUEST['id'];
     $data = $set['newsletter']['categories'];
     //Kategorie löschen
     if ($_REQUEST['do'] == 'del' && isset($data[$_REQUEST['id']])) {
         if (isset($_POST['id'])) {
             if (!checkToken()) {
                 printInvalidToken();
             } else {
                 unset($data[$_REQUEST['id']]);
                 $db->query("UPDATE " . PRE . "_config SET value='" . addslashes(serialize($data)) . "' WHERE module='newsletter' AND varname='categories' LIMIT 1");
                 logit('NEWSLETTER_CATDEL', $_REQUEST['id']);
                 printJSRedirect('action.php?action=newsletter.catshow');
             }
         } else {
             tmessageOverlay('catdel', array('ID' => $_REQUEST['id']));
         }
         return;
     } elseif ($_REQUEST['do'] == 'edit' && isset($data[$_REQUEST['id']])) {
         if ($_POST['send']) {
             if (!checkToken()) {
                 infoInvalidToken();
             } elseif (!$_POST['title']) {
                 infoNotComplete();
             } else {
                 $data[$_REQUEST['id']] = $_POST['title'];
                 $db->query("UPDATE " . PRE . "_config SET value='" . addslashes(serialize($data)) . "' WHERE module='newsletter' AND varname='categories' LIMIT 1");
                 logit('NEWSLETTER_CATEDIT', $_REQUEST['id']);
                 printJSRedirect('action.php?action=newsletter.catshow');
             }
         } else {
             $_POST['title'] = $data[$_REQUEST['id']];
             $apx->tmpl->assign('TITLE', $_POST['title']);
             $apx->tmpl->assign('ACTION', 'edit');
             $apx->tmpl->assign('ID', $_REQUEST['id']);
             $apx->tmpl->parse('catadd_catedit');
         }
     } elseif ($_REQUEST['do'] == 'add') {
         if ($_POST['send']) {
             if (!checkToken()) {
                 infoInvalidToken();
             } elseif (!$_POST['title']) {
                 infoNotComplete();
             } else {
                 $data[] = $_POST['title'];
                 $db->query("UPDATE " . PRE . "_config SET value='" . addslashes(serialize($data)) . "' WHERE module='newsletter' AND varname='categories' LIMIT 1");
                 logit('NEWSLETTER_CATADD', array_key_max($data));
                 printJSRedirect('action.php?action=newsletter.catshow');
             }
         }
         return;
     } else {
         $apx->tmpl->assign('ACTION', 'add');
         $apx->tmpl->parse('catadd_catedit');
     }
     ////////// AUFLISTUNG
     $col[] = array('COL_TITLE', 100, 'class="title"');
     asort($data);
     if (count($data)) {
         foreach ($data as $id => $name) {
             ++$i;
             $tabledata[$i]['COL1'] = replace($name);
             $tabledata[$i]['OPTIONS'] .= optionHTML('edit.gif', 'newsletter.catshow', 'do=edit&id=' . $id, $apx->lang->get('CORE_EDIT'));
             $tabledata[$i]['OPTIONS'] .= optionHTMLOverlay('del.gif', 'newsletter.catshow', 'do=del&id=' . $id, $apx->lang->get('CORE_DEL'));
         }
     }
     $apx->tmpl->assign('TABLE', $tabledata);
     $html->table($col);
 }
Exemplo n.º 7
0
 function edit()
 {
     global $set, $db, $apx;
     if (!$_REQUEST['id']) {
         die('missing ID!');
     }
     if ($_POST['send'] == 1) {
         if (!checkToken()) {
             infoInvalidToken();
         } elseif (!$_POST['id'] || !$_POST['parent'] || !$_POST['question']) {
             infoNotComplete();
         } else {
             $update = array('question' => $_POST['question'], 'answer' => $_POST['answer'], 'meta_description' => $_POST['meta_description'], 'searchable' => $_POST['searchable']);
             //Prüfen, ob der neue Elternknoten deaktiviert ist => falls ja den Knoten deaktivieren
             if (intval($_POST['parent'])) {
                 list($parentEnabled) = $db->first("SELECT starttime FROM " . PRE . "_faq WHERE id='" . intval($_POST['parent']) . "' LIMIT 1");
                 if (!$parentEnabled) {
                     $update['starttime'] = 0;
                 }
             }
             $this->cat->moveNode($_REQUEST['id'], $_POST['parent'], $update);
             logit('FAQ_EDIT', 'ID #' . $_REQUEST['id']);
             printJSRedirect(get_index('faq.show'));
         }
     } else {
         $res = $this->cat->getNode($_REQUEST['id'], array('question', 'meta_description', 'answer', 'searchable'));
         if (!$res['parents']) {
             $_POST['parent'] = 'root';
         } else {
             $_POST['parent'] = array_pop($res['parents']);
         }
         $_POST['question'] = $res['question'];
         $_POST['answer'] = $res['answer'];
         $_POST['meta_description'] = $res['meta_description'];
         $_POST['searchable'] = $res['searchable'];
         //Baum
         $catlist = '<option value="root" style="font-weight:bold;"' . iif($_POST['parent'] == 'root', ' selected="selected"') . '>' . $apx->lang->get('ROOT') . '</option>';
         $data = $this->cat->getTree(array('question'));
         if (count($data)) {
             $catlist .= '<option value=""></option>';
             foreach ($data as $res) {
                 if ($jumplevel && $res['level'] > $jumplevel) {
                     continue;
                 } else {
                     $jumplevel = 0;
                 }
                 if ($_REQUEST['id'] == $res['id']) {
                     $jumplevel = $res['level'];
                     continue;
                 }
                 $catlist .= '<option value="' . $res['id'] . '"' . iif($_POST['parent'] === $res['id'], ' selected="selected"') . '>' . str_repeat('&nbsp;&nbsp;', $res['level'] - 1) . replace($res['question']) . '</option>';
             }
         }
         $apx->tmpl->assign('CATLIST', $catlist);
         $apx->tmpl->assign('QUESTION', compatible_hsc($_POST['question']));
         $apx->tmpl->assign('ANSWER', compatible_hsc($_POST['answer']));
         $apx->tmpl->assign('META_DESCRIPTION', compatible_hsc($_POST['meta_description']));
         $apx->tmpl->assign('SEARCHABLE', (int) $_POST['searchable']);
         $apx->tmpl->assign('ID', $_REQUEST['id']);
         $apx->tmpl->assign('ACTION', 'edit');
         $apx->tmpl->parse('add_edit');
     }
 }
Exemplo n.º 8
0
 function catedit()
 {
     global $set, $apx, $tmpl, $db, $user;
     if (!$_REQUEST['id']) {
         die('missing ID!');
     }
     if (!count($_POST['groupid']) || $_POST['groupid'][0] == 'all') {
         $_POST['groupid'] = array('all');
     }
     if ($_POST['send'] == 1) {
         list($videos) = $db->first("SELECT count(id) FROM " . PRE . "_videos WHERE catid='" . $_REQUEST['id'] . "'");
         if (!checkToken()) {
             infoInvalidToken();
         } elseif (!$_POST['id'] || !$_POST['parent'] || !$_POST['title']) {
             infoNotComplete();
         } elseif (!$_POST['open'] && $videos) {
             info($apx->lang->get('INFO_CONTAINSVIDEOS'));
         } else {
             if ($_POST['groupid'][0] == 'all') {
                 $_POST['forgroup'] = 'all';
             } else {
                 $_POST['forgroup'] = serialize($_POST['groupid']);
             }
             $this->cat->moveNode($_REQUEST['id'], intval($_POST['parent']), array('title' => $_POST['title'], 'text' => $_POST['text'], 'icon' => $_POST['icon'], 'open' => $_POST['open'], 'forgroup' => $_POST['forgroup']));
             logit('VIDEOS_CATEDIT', 'ID #' . $_REQUEST['id']);
             printJSRedirect(get_index('videos.catshow'));
         }
     } else {
         $res = $this->cat->getNode($_REQUEST['id'], array('title', 'text', 'icon', 'open', 'forgroup'));
         $_POST['title'] = $res['title'];
         $_POST['text'] = $res['text'];
         $_POST['icon'] = $res['icon'];
         $_POST['open'] = $res['open'];
         if ($res['forgroup'] == 'all') {
             $_POST['groupid'][0] = 'all';
         } else {
             $_POST['groupid'] = unserialize($res['forgroup']);
         }
         if (!$res['parents']) {
             $_POST['parent'] = 'root';
         } else {
             $_POST['parent'] = array_pop($res['parents']);
         }
         //Baum
         $catlist = '<option value="root" style="font-weight:bold;">' . $apx->lang->get('ROOT') . '</option>';
         $data = $this->cat->getTree(array('title'));
         if (count($data)) {
             $catlist .= '<option value=""></option>';
             foreach ($data as $res) {
                 if ($jumplevel && $res['level'] > $jumplevel) {
                     continue;
                 } else {
                     $jumplevel = 0;
                 }
                 if ($_REQUEST['id'] == $res['id']) {
                     $jumplevel = $res['level'];
                     continue;
                 }
                 $catlist .= '<option value="' . $res['id'] . '"' . iif($_POST['parent'] === $res['id'], ' selected="selected"') . '>' . str_repeat('&nbsp;&nbsp;', $res['level'] - 1) . replace($res['title']) . '</option>';
             }
         }
         //Benutzergruppen
         $data = $db->fetch("SELECT groupid,name FROM " . PRE . "_user_groups WHERE ( gtype='admin' OR gtype='indiv' ) ORDER BY name ASC");
         $grouplist .= '<option value="all"' . iif(!isset($_POST['groupid']) || $_POST['groupid'][0] == 'all', ' selected="selected"') . ' style="font-weight:bold;">' . $apx->lang->get('ALL') . '</option>';
         if (count($data)) {
             foreach ($data as $res) {
                 $grouplist .= '<option value="' . $res['groupid'] . '"' . iif(isset($_POST['groupid']) && in_array($res['groupid'], $_POST['groupid']), ' selected="selected"') . '>' . replace($res['name']) . '</option>';
             }
         }
         $apx->tmpl->assign('TITLE', compatible_hsc($_POST['title']));
         $apx->tmpl->assign('TEXT', compatible_hsc($_POST['text']));
         $apx->tmpl->assign('ICON', compatible_hsc($_POST['icon']));
         $apx->tmpl->assign('OPEN', (int) $_POST['open']);
         $apx->tmpl->assign('CATLIST', $catlist);
         $apx->tmpl->assign('USERGROUPS', $grouplist);
         $apx->tmpl->assign('ID', $_REQUEST['id']);
         $apx->tmpl->assign('ACTION', 'edit');
         $apx->tmpl->parse('catadd_catedit');
     }
 }
Exemplo n.º 9
0
 function del()
 {
     global $set, $db, $apx;
     $_REQUEST['id'] = (int) $_REQUEST['id'];
     if (!$_REQUEST['id']) {
         die('missing ID!');
     }
     if ($_POST['send'] == 1) {
         if (!checkToken()) {
             infoInvalidToken();
         } else {
             list($image) = $db->first("SELECT image FROM " . PRE . "_affiliates WHERE id='" . $_REQUEST['id'] . "' LIMIT 1");
             require BASEDIR . 'lib/class.mediamanager.php';
             $mm = new mediamanager();
             $mm->deletefile($image);
             $db->query("DELETE FROM " . PRE . "_affiliates WHERE id='" . $_REQUEST['id'] . "' LIMIT 1");
             logit('AFFILIATES_DEL', 'ID #' . $_REQUEST['id']);
             printJSRedirect(get_index('affiliates.show'));
         }
     } else {
         list($title) = $db->first("SELECT title FROM " . PRE . "_affiliates WHERE id='" . $_REQUEST['id'] . "' LIMIT 1");
         $apx->tmpl->assign('MESSAGE', $apx->lang->get('MSG_TEXT', array('TITLE' => compatible_hsc($title))));
         tmessageOverlay('del', array('ID' => $_REQUEST['id']));
     }
 }
Exemplo n.º 10
0
 function sedit()
 {
     global $set, $db, $apx;
     $_REQUEST['id'] = (int) $_REQUEST['id'];
     if (!$_REQUEST['id']) {
         die('missing ID!');
     }
     if ($_POST['send'] == 1) {
         if (!checkToken()) {
             infoInvalidToken();
         } elseif (!$_POST['title'] || !$_POST['link']) {
             infoNotComplete();
         } else {
             $db->dupdate(PRE . '_news_sources', 'title,link', "WHERE id='" . $_REQUEST['id'] . "' LIMIT 1");
             logit('NEWS_SEDIT', 'ID #' . $_REQUEST['id']);
             printJSRedirect(get_index('news.sshow'));
         }
     } else {
         list($_POST['title'], $_POST['link']) = $db->first("SELECT title,link FROM " . PRE . "_news_sources WHERE id='" . intval($_REQUEST['id']) . "' LIMIT 1");
         $apx->tmpl->assign('TITLE', compatible_hsc($_POST['title']));
         $apx->tmpl->assign('LINK', compatible_hsc($_POST['link']));
         $apx->tmpl->assign('ACTION', 'sedit');
         $apx->tmpl->assign('ID', $_REQUEST['id']);
         $apx->tmpl->parse('sadd_sedit');
     }
 }
Exemplo n.º 11
0
 function rdel()
 {
     global $set, $apx, $db;
     if (!$_REQUEST['id']) {
         die('missing ID!');
     }
     $_REQUEST['id'] = (int) $_REQUEST['id'];
     if ($_POST['send'] == 1) {
         if (!checkToken()) {
             infoInvalidToken();
         } else {
             $db->query("DELETE FROM " . PRE . "_mediarules WHERE id='" . $_REQUEST['id'] . "' LIMIT 1");
             logit('MEDIAMANAGER_RDEL', 'ID #' . $_REQUEST['id']);
             printJSRedirect('action.php?action=mediamanager.rules&module=' . $this->module);
         }
     } else {
         list($title) = $db->first("SELECT extension FROM " . PRE . "_mediarules WHERE id='" . $_REQUEST['id'] . "' LIMIT 1");
         $apx->tmpl->assign('MESSAGE', $apx->lang->get('MSG_TEXT', array('TITLE' => compatible_hsc($title))));
         $input['ID'] = $_REQUEST['id'];
         tmessageOverlay('rdel', $input);
     }
 }
Exemplo n.º 12
0
 function catedit()
 {
     global $set, $apx, $db;
     if (!$_REQUEST['id']) {
         die('missing ID!');
     }
     //ABSENDEN
     if ($_POST['send'] == 1) {
         if (!checkToken()) {
             infoInvalidToken();
         } elseif (!$_POST['id'] || !$_POST['title']) {
             infoNotComplete();
         } else {
             $db->dupdate(PRE . '_glossar_cat', 'title,icon,text', "WHERE id='" . $_REQUEST['id'] . "' LIMIT 1");
             logit('GLOSSAR_CATEDIT', 'ID #' . $_REQUEST['id']);
             printJSRedirect(get_index('glossar.catshow'));
         }
     } else {
         list($_POST['title'], $_POST['icon'], $_POST['text']) = $db->first("SELECT title,icon,text FROM " . PRE . "_glossar_cat WHERE id='" . $_REQUEST['id'] . "' LIMIT 1");
         $apx->tmpl->assign('TITLE', compatible_hsc($_POST['title']));
         $apx->tmpl->assign('ICON', compatible_hsc($_POST['icon']));
         $apx->tmpl->assign('TEXT', compatible_hsc($_POST['text']));
         $apx->tmpl->assign('ID', $_REQUEST['id']);
         $apx->tmpl->assign('ACTION', 'edit');
         $apx->tmpl->parse('catadd_catedit');
     }
 }
Exemplo n.º 13
0
 function catedit()
 {
     global $set, $apx, $tmpl, $db, $user;
     if (!$_REQUEST['id']) {
         die('missing ID!');
     }
     if ($_POST['send'] == 1) {
         list($links) = $db->first("SELECT count(id) FROM " . PRE . "_links WHERE catid='" . $_REQUEST['id'] . "'");
         if (!checkToken()) {
             infoInvalidToken();
         } elseif (!$_POST['id'] || !$_POST['parent'] || !$_POST['title']) {
             infoNotComplete();
         } elseif (!$_POST['open'] && $links) {
             info($apx->lang->get('INFO_CONTAINSLINKS'));
         } else {
             $this->cat->moveNode($_REQUEST['id'], intval($_POST['parent']), array('title' => $_POST['title'], 'text' => $_POST['text'], 'icon' => $_POST['icon'], 'open' => $_POST['open']));
             logit('LINKS_CATEDIT', 'ID #' . $_REQUEST['id']);
             printJSRedirect(get_index('links.catshow'));
         }
     } else {
         $res = $this->cat->getNode($_REQUEST['id'], array('title', 'text', 'icon', 'open'));
         $_POST['title'] = $res['title'];
         $_POST['text'] = $res['text'];
         $_POST['icon'] = $res['icon'];
         $_POST['open'] = $res['open'];
         if (!$res['parents']) {
             $_POST['parent'] = 'root';
         } else {
             $_POST['parent'] = array_pop($res['parents']);
         }
         //Baum
         $catlist = '<option value="root" style="font-weight:bold;">' . $apx->lang->get('ROOT') . '</option>';
         $data = $this->cat->getTree(array('title'));
         if (count($data)) {
             $catlist .= '<option value=""></option>';
             foreach ($data as $res) {
                 if ($jumplevel && $res['level'] > $jumplevel) {
                     continue;
                 } else {
                     $jumplevel = 0;
                 }
                 if ($_REQUEST['id'] == $res['id']) {
                     $jumplevel = $res['level'];
                     continue;
                 }
                 $catlist .= '<option value="' . $res['id'] . '"' . iif($_POST['parent'] === $res['id'], ' selected="selected"') . '>' . str_repeat('&nbsp;&nbsp;', $res['level'] - 1) . replace($res['title']) . '</option>';
             }
         }
         $apx->tmpl->assign('TITLE', compatible_hsc($_POST['title']));
         $apx->tmpl->assign('TEXT', compatible_hsc($_POST['text']));
         $apx->tmpl->assign('ICON', compatible_hsc($_POST['icon']));
         $apx->tmpl->assign('OPEN', (int) $_POST['open']);
         $apx->tmpl->assign('CATLIST', $catlist);
         $apx->tmpl->assign('ID', $_REQUEST['id']);
         $apx->tmpl->assign('ACTION', 'edit');
         $apx->tmpl->parse('catadd_catedit');
     }
 }
Exemplo n.º 14
0
 function group()
 {
     global $set, $db, $apx, $html;
     $_REQUEST['id'] = (int) $_REQUEST['id'];
     $data = $set['navi']['groups'];
     //Kategorie löschen
     if ($_REQUEST['do'] == 'del' && isset($data[$_REQUEST['id']])) {
         list($count) = $db->first("SELECT count(*) FROM " . PRE . "_navi WHERE nid='" . $id . "'");
         if (!$count) {
             if (isset($_POST['id'])) {
                 if (!checkToken()) {
                     infoInvalidToken();
                 } else {
                     //Navigationspunkte löschen
                     $queryData = $db->fetch("SELECT id FROM " . PRE . "_navi WHERE nid='" . $_REQUEST['id'] . "' AND parents='|'");
                     foreach ($queryData as $res) {
                         $this->cat->deleteSubtree($res['id']);
                     }
                     //Navigation löschen
                     unset($data[$_REQUEST['id']]);
                     $db->query("UPDATE " . PRE . "_config SET value='" . addslashes(serialize($data)) . "' WHERE module='navi' AND varname='groups' LIMIT 1");
                     logit('NAVI_CATDEL', $_REQUEST['id']);
                     printJSReload();
                 }
             } else {
                 $apx->tmpl->assign('MESSAGE', $apx->lang->get('MSG_TEXT', array('TITLE' => compatible_hsc($data[$_REQUEST['id']]))));
                 tmessageOverlay('catdel', array('ID' => $_REQUEST['id']));
             }
             return;
         }
     } elseif ($_REQUEST['do'] == 'edit' && isset($data[$_REQUEST['id']])) {
         if (isset($_POST['title'])) {
             if (!checkToken()) {
                 infoInvalidToken();
             } elseif (!$_POST['title']) {
                 info('back');
             } else {
                 $data[$_REQUEST['id']] = $_POST['title'];
                 $db->query("UPDATE " . PRE . "_config SET value='" . addslashes(serialize($data)) . "' WHERE module='navi' AND varname='groups' LIMIT 1");
                 logit('NAVI_CATEDIT', $_REQUEST['id']);
                 printJSRedirect('action.php?action=navi.group');
                 return;
             }
         } else {
             $_POST['title'] = $data[$_REQUEST['id']];
             $apx->tmpl->assign('TITLE', $_POST['title']);
             $apx->tmpl->assign('ACTION', 'edit');
             $apx->tmpl->assign('ID', $_REQUEST['id']);
             $apx->tmpl->parse('catadd_catedit');
         }
     } elseif ($_REQUEST['do'] == 'add') {
         if ($_POST['send']) {
             if (!checkToken()) {
                 printInvalidToken();
             } elseif (!$_POST['title']) {
                 info('back');
             } else {
                 if (!count($data)) {
                     $data[1] = $_POST['title'];
                 } else {
                     $data[] = $_POST['title'];
                 }
                 $db->query("UPDATE " . PRE . "_config SET value='" . addslashes(serialize($data)) . "' WHERE module='navi' AND varname='groups' LIMIT 1");
                 logit('NAVI_CATADD', array_key_max($data));
                 printJSRedirect('action.php?action=navi.group');
                 return;
             }
         }
     } else {
         $apx->tmpl->assign('ACTION', 'add');
         $apx->tmpl->parse('catadd_catedit');
     }
     $col[] = array('ID', 1, 'align="center"');
     $col[] = array('COL_TITLE', 80, 'class="title"');
     $col[] = array('COL_ENTRIES', 20, 'align="center"');
     //AUSGABE
     asort($data);
     foreach ($data as $id => $res) {
         ++$i;
         list($count) = $db->first("SELECT count(*) FROM " . PRE . "_navi WHERE nid='" . $id . "'");
         $tabledata[$i]['COL1'] = $id;
         $tabledata[$i]['COL2'] = $res;
         $tabledata[$i]['COL3'] = $count;
         $tabledata[$i]['OPTIONS'] .= optionHTML('edit.gif', 'navi.group', 'do=edit&id=' . $id, $apx->lang->get('CORE_EDIT'));
         $tabledata[$i]['OPTIONS'] .= optionHTMLOverlay('del.gif', 'navi.group', 'do=del&id=' . $id, $apx->lang->get('CORE_DEL'));
     }
     $apx->tmpl->assign('TABLE', $tabledata);
     $html->table($col);
 }
Exemplo n.º 15
0
 function sendpm()
 {
     global $set, $db, $apx;
     //Senden durchführen
     if ($_REQUEST['doit']) {
         $this->sendpm_exec();
         return;
     }
     //Gruppen selected
     if (!is_array($_POST['groupid']) || $_POST['groupid'][0] == 'all') {
         $_POST['groupid'] = array('all');
     }
     //Daten speichern
     if ($_POST['send']) {
         if (!checkToken()) {
             infoInvalidToken();
         } elseif (!$_POST['subject'] || !$_POST['text'] || !count($_POST['groupid'])) {
             infoNotComplete();
         } else {
             $groups = array();
             if ($_POST['groupid'][0] != 'all') {
                 $groups = array_map('intval', $_POST['groupid']);
             }
             $data = array('subject' => $_POST['subject'], 'text' => $_POST['text'], 'groups' => $groups);
             $db->query("UPDATE " . PRE . "_config SET value='" . addslashes(serialize($data)) . "' WHERE module='user' AND varname='sendpm_data' LIMIT 1");
             //die('action.php?action=user.sendpm&doit=1');
             printJSRedirect('action.php?action=user.sendpm&doit=1&sectoken=' . $apx->session->get('sectoken'));
         }
     } else {
         //Sektionen auflisten
         $grouplist = '<option value="all"' . iif($_POST['groupid'][0] == 'all', 'selected="selected"') . ' style="font-weight:bold;">' . $apx->lang->get('ALL') . '</option>';
         $data = $db->fetch("SELECT groupid,name FROM " . PRE . "_user_groups ORDER BY name ASC");
         if (count($data)) {
             foreach ($data as $res) {
                 $grouplist .= '<option value="' . $res['groupid'] . '"' . iif(in_array($res['groupid'], $_POST['groupid']), ' selected="selected"') . '>' . replace($res['name']) . '</option>';
             }
         }
         $apx->tmpl->assign('GROUP', $grouplist);
         $apx->tmpl->assign('SUBJECT', compatible_hsc($_POST['subject']));
         $apx->tmpl->assign('TEXT', compatible_hsc($_POST['text']));
         $apx->tmpl->parse('sendpm');
     }
 }
Exemplo n.º 16
0
 function systems_edit()
 {
     global $set, $db, $apx;
     $_REQUEST['id'] = (int) $_REQUEST['id'];
     if (!$_REQUEST['id']) {
         die('missing ID!');
     }
     //Absenden
     if ($_POST['send']) {
         if (!checkToken()) {
             infoInvalidToken();
         } elseif (!$_POST['title']) {
             info($apx->lang->get('CORE_BACK'), 'back');
         } else {
             $db->dupdate(PRE . '_products_groups', 'title,icon', "WHERE grouptype='system' AND id='" . $_REQUEST['id'] . "' LIMIT 1");
             logit('PRODUCTS_SYSTEMS_EDIT', 'ID #' . $_REQUEST['id']);
             printJSRedirect(get_index('products.systems'));
         }
     } else {
         list($_POST['title'], $_POST['icon']) = $db->first("SELECT title,icon FROM " . PRE . "_products_groups WHERE grouptype='system' AND id='" . $_REQUEST['id'] . "' LIMIT 1");
         $apx->tmpl->assign('TITLE', compatible_hsc($_POST['title']));
         $apx->tmpl->assign('ICON', compatible_hsc($_POST['icon']));
         $apx->tmpl->assign('ID', $_REQUEST['id']);
         $apx->tmpl->assign('ACTION', 'edit');
         $apx->tmpl->parse('sysadd_sysedit');
     }
 }
Exemplo n.º 17
0
 function blockip()
 {
     global $set, $db, $apx, $html;
     $_REQUEST['key'] = (int) $_REQUEST['key'];
     //IP löschen
     if ($_REQUEST['do'] == 'del') {
         if ($_POST['send']) {
             if (!checkToken()) {
                 printInvalidToken();
             } else {
                 unset($set['guestbook']['blockip'][$_REQUEST['id']]);
                 $db->query("UPDATE " . PRE . "_config SET value='" . addslashes(serialize($set['guestbook']['blockip'])) . "' WHERE module='guestbook' AND varname='blockip' LIMIT 1");
                 printJSRedirect('action.php?action=guestbook.blockip');
             }
         } else {
             $ip = float2ip($set['guestbook']['blockip'][$_REQUEST['id']]['startip']);
             if ($set['guestbook']['blockip'][$_REQUEST['id']]['endip']) {
                 $ip .= ' - ' . float2ip($set['guestbook']['blockip'][$_REQUEST['id']]['endip']);
             }
             $apx->tmpl->assign('MESSAGE', $apx->lang->get('MSG_DEL', array('TITLE' => compatible_hsc($ip))));
             tmessageOverlay('ipdel', array('ID' => $_REQUEST['id']));
         }
         return;
     } elseif ($_REQUEST['do'] == 'add') {
         if (!checkToken()) {
             infoInvalidToken();
         } else {
             for ($i = 1; $i <= 4; $i++) {
                 $_POST['startip_' . $i] = (int) $_POST['startip_' . $i];
                 $_POST['endip_' . $i] = (int) $_POST['endip_' . $i];
                 if ($_POST['startip_' . $i] > 255) {
                     $_POST['startip_' . $i] = 255;
                 }
                 if ($_POST['startip_' . $i] < 0) {
                     $_POST['startip_' . $i] = 0;
                 }
                 if ($_POST['endip_' . $i] > 255) {
                     $_POST['endip_' . $i] = 255;
                 }
                 if ($_POST['endip_' . $i] < 0) {
                     $_POST['endip_' . $i] = 0;
                 }
             }
             $start = ip2float($_POST['startip_1'] . '.' . $_POST['startip_2'] . '.' . $_POST['startip_3'] . '.' . $_POST['startip_4']);
             $end = ip2float($_POST['endip_1'] . '.' . $_POST['endip_2'] . '.' . $_POST['endip_3'] . '.' . $_POST['endip_4']);
             if ($_POST['type'] == 1) {
                 $end = false;
             }
             //IPs umdrehen
             if ($end !== false && $end < $start) {
                 $cache = $end;
                 $end = $start;
                 $start = $cache;
             }
             $set['guestbook']['blockip'][] = array('startip' => $start, 'endip' => $end);
             $db->query("UPDATE " . PRE . "_config SET value='" . addslashes(serialize($set['guestbook']['blockip'])) . "' WHERE module='guestbook' AND varname='blockip' LIMIT 1");
             printJSRedirect('action.php?action=guestbook.blockip');
         }
         return;
     }
     quicklink_index('guestbook.show');
     quicklink_out();
     //AUFLISTUNG BEGINNT
     $ips = $set['guestbook']['blockip'];
     if (!is_array($ips)) {
         $ips = array();
     }
     $ips = array_sort($ips, 'startip', 'asc');
     $col[] = array('COL_IPRANGE', 100, 'class="title"');
     foreach ($ips as $i => $res) {
         $start = float2ip($res['startip']);
         $end = float2ip($res['endip']);
         $tabledata[$i]['COL1'] = $start . iif($res['endip'], ' &#150; ' . $end);
         $tabledata[$i]['OPTIONS'] = optionHTMLOverlay('del.gif', 'guestbook.blockip', 'do=del&id=' . $i, $apx->lang->get('CORE_DEL'));
     }
     $apx->tmpl->assign('TABLE', $tabledata);
     $html->table($col);
     //Hinzufügen
     if ($_REQUEST['setip']) {
         $ipp = explode('.', $_REQUEST['setip'], 4);
         $apx->tmpl->assign('IP_1', (int) $ipp[0]);
         $apx->tmpl->assign('IP_2', (int) $ipp[1]);
         $apx->tmpl->assign('IP_3', (int) $ipp[2]);
         $apx->tmpl->assign('IP_4', (int) $ipp[3]);
     }
     $apx->tmpl->parse('blockip');
 }
Exemplo n.º 18
0
 function padd()
 {
     global $set, $db, $apx, $html;
     $_REQUEST['id'] = (int) $_REQUEST['id'];
     if (!$_REQUEST['id']) {
         die('missing ID!');
     }
     @set_time_limit(600);
     if ($_POST['send'] == 1) {
         if (!checkToken()) {
             infoInvalidToken();
         } else {
             $files = array();
             require_once BASEDIR . 'lib/class.mediamanager.php';
             $mm = new mediamanager();
             //ZIP
             if ($_REQUEST['what'] == 'zip' && $_FILES['zip']['tmp_name']) {
                 $mm->uploadfile($_FILES['zip'], 'gallery/uploads', $mm->getfile($_FILES['zip']['tmp_name']));
                 $zipfile = zip_open(BASEDIR . getpath('uploads') . 'gallery/uploads/' . $mm->getfile($_FILES['zip']['tmp_name']));
                 while ($zipentry = zip_read($zipfile)) {
                     if (zip_entry_open($zipfile, $zipentry, 'r')) {
                         if (substr(zip_entry_name($zipentry), -1) == '/') {
                             continue;
                         }
                         $content = zip_entry_read($zipentry, zip_entry_filesize($zipentry));
                         $zipname = str_replace('/', '%1%', zip_entry_name($zipentry));
                         $outfilepath = 'gallery/uploads/' . $zipname;
                         zip_entry_close($zipentry);
                         //Datei schreiben
                         $outfile = fopen(BASEDIR . getpath('uploads') . $outfilepath, 'w');
                         fwrite($outfile, $content);
                         fclose($outfile);
                         $ext = strtolower($mm->getext($outfilepath));
                         if ($ext == 'gif') {
                             $ext = 'jpg';
                         }
                         $files[] = array('ext' => $ext, 'source' => $outfilepath, 'watermark' => $_POST['watermark'], 'noresize' => $_POST['noresize'], 'allowcoms' => $_POST['allowcoms'], 'allowrating' => $_POST['allowrating'], 'caption' => $_POST['caption']);
                     }
                 }
                 zip_close($zipfile);
                 $mm->deletefile('gallery/uploads/' . $mm->getfile($_FILES['zip']['tmp_name']));
             } elseif ($_REQUEST['what'] == 'ftp') {
                 if (!is_array($_POST['ftp'])) {
                     $_POST['ftp'] = array();
                 }
                 require_once BASEDIR . 'lib/class.mediamanager.php';
                 $mm = new mediamanager();
                 foreach ($_POST['ftp'] as $key => $file) {
                     $file = $mm->securefile($file);
                     $ext = strtolower($mm->getext($file));
                     if ($ext == 'gif') {
                         $ext = 'jpg';
                     }
                     $files[] = array('ext' => $ext, 'source' => 'gallery/uploads/' . $file, 'watermark' => $_POST['watermark' . $key], 'noresize' => $_POST['noresize' . $key], 'allowcoms' => $_POST['allowcoms' . $key], 'allowrating' => $_POST['allowrating' . $key], 'caption' => $_POST['caption' . $key]);
                 }
             } else {
                 for ($i = 1; $i <= $set['gallery']['addpics']; $i++) {
                     if (!$_FILES['upload' . $i]['tmp_name']) {
                         continue;
                     }
                     //Erfolgreichen Upload prüfen
                     if (!$mm->uploadfile($_FILES['upload' . $i], 'gallery/uploads', $mm->getfile($_FILES['upload' . $i]['tmp_name']))) {
                         continue;
                     }
                     $ext = strtolower($mm->getext($_FILES['upload' . $i]['name']));
                     if ($ext == 'gif') {
                         $ext = 'jpg';
                     }
                     $files[] = array('ext' => $ext, 'source' => 'gallery/uploads/' . $mm->getfile($_FILES['upload' . $i]['tmp_name']), 'watermark' => $_POST['watermark' . $i], 'noresize' => $_POST['noresize' . $i], 'allowcoms' => $_POST['allowcoms' . $i], 'allowrating' => $_POST['allowrating' . $i], 'caption' => $_POST['caption' . $i]);
                 }
             }
             $this->process_files($files);
             //Gallery Updatetime
             $this->setGalleryUpdatetime($_REQUEST['id']);
             //Weitere Bilder anfügen
             if ($_POST['addnext']) {
                 printJSRedirect('action.php?action=gallery.padd&id=' . $_REQUEST['id'] . '&updateparent=' . $_REQUEST['updateparent']);
             } else {
                 if ($_REQUEST['updateparent']) {
                     printJSUpdateObject($_REQUEST['updateparent'], get_gallery_list($_REQUEST['id']));
                 } else {
                     printJSRedirect('action.php?action=gallery.pshow&id=' . $_REQUEST['id']);
                 }
             }
         }
     } else {
         //Layer
         $layerdef[] = array('LAYER_UPLOAD', 'action.php?action=gallery.padd&amp;id=' . $_REQUEST['id'] . '&amp;updateparent=' . $_REQUEST['updateparent'], !$_REQUEST['what']);
         $layerdef[] = array('LAYER_ZIP', 'action.php?action=gallery.padd&amp;id=' . $_REQUEST['id'] . '&amp;what=zip&amp;updateparent=' . $_REQUEST['updateparent'], $_REQUEST['what'] == 'zip');
         $layerdef[] = array('LAYER_FTP', 'action.php?action=gallery.padd&amp;id=' . $_REQUEST['id'] . '&amp;what=ftp&amp;updateparent=' . $_REQUEST['updateparent'], $_REQUEST['what'] == 'ftp');
         if (!function_exists('zip_open')) {
             unset($layerdef[1]);
         }
         $html->layer_header($layerdef);
         //ZIP
         if ($_REQUEST['what'] == 'zip') {
             $apx->tmpl->assign('ID', $_REQUEST['id']);
             $apx->tmpl->assign('SET_OPTIONS', $apx->is_module('comments') && $set['gallery']['coms'] || $apx->is_module('ratings') && $set['gallery']['ratings'] || $set['gallery']['watermark'] || $set['gallery']['picwidth'] && $set['gallery']['picheight']);
             $apx->tmpl->assign('SET_COMS', $apx->is_module('comments') && $set['gallery']['coms']);
             $apx->tmpl->assign('SET_RATING', $apx->is_module('ratings') && $set['gallery']['ratings']);
             $apx->tmpl->assign('SET_WATERMARK', iif($set['gallery']['watermark'], 1, 0));
             $apx->tmpl->assign('SET_NORESIZE', iif($set['gallery']['picwidth'] && $set['gallery']['picheight'], 1, 0));
             $apx->tmpl->assign('UPDATEPARENT', (int) $_REQUEST['updateparent']);
             $apx->tmpl->parse('padd_zip');
         } elseif ($_REQUEST['what'] == 'ftp') {
             require_once BASEDIR . 'lib/class.mediamanager.php';
             $mm = new mediamanager();
             $extensions = array('jpg', 'jpeg', 'jpe', 'png', 'gif');
             $files = array();
             $dirs = array();
             if (is_dir(BASEDIR . getpath('uploads') . 'gallery/uploads/' . iif($_REQUEST['dir'], $_REQUEST['dir'] . '/'))) {
                 $dir = opendir(BASEDIR . getpath('uploads') . 'gallery/uploads/' . iif($_REQUEST['dir'], $_REQUEST['dir'] . '/'));
                 while ($file = readdir($dir)) {
                     if ($file == '.' || $file == '..') {
                         continue;
                     }
                     //Ordner
                     if (is_dir(BASEDIR . getpath('uploads') . 'gallery/uploads/' . iif($_REQUEST['dir'], $_REQUEST['dir'] . '/') . $file)) {
                         $dirs[] = $file;
                         continue;
                     }
                     //Datei
                     if (!in_array(strtolower($mm->getext($file)), $extensions)) {
                         continue;
                     }
                     $files[] = $file;
                 }
                 closedir($dir);
             }
             sort($files);
             sort($dirs);
             //Ordner auflisten
             foreach ($dirs as $dir) {
                 ++$i;
                 $subdir[$i]['NAME'] = $dir;
                 $subdir[$i]['LINK'] = 'action.php?action=gallery.padd&amp;id=' . $_REQUEST['id'] . '&amp;what=ftp&amp;dir=' . iif($_REQUEST['dir'], $_REQUEST['dir'] . '/') . $dir;
             }
             //Dateien auflisten
             foreach ($files as $file) {
                 ++$i;
                 $upload[$i]['FILE'] = $file;
                 $upload[$i]['FILEID'] = iif($_REQUEST['dir'], $_REQUEST['dir'] . '/') . $file;
                 $upload[$i]['LINK'] = HTTPDIR . getpath('uploads') . 'gallery/uploads/' . iif($_REQUEST['dir'], $_REQUEST['dir'] . '/') . $file;
             }
             //Pfad erstellen
             $pp = explode('/', $_REQUEST['dir']);
             if ($_REQUEST['dir'] && count($pp)) {
                 foreach ($pp as $dirname) {
                     ++$i;
                     $path .= iif($path, '/') . $dirname;
                     $pathdata[$i]['NAME'] = $dirname;
                     $pathdata[$i]['LINK'] = 'action.php?action=gallery.padd&amp;id=' . $_REQUEST['id'] . '&amp;what=ftp&amp;dir=' . $path;
                 }
             }
             $apx->tmpl->assign('ID', $_REQUEST['id']);
             $apx->tmpl->assign('FTP', $upload);
             $apx->tmpl->assign('DIR', $subdir);
             $apx->tmpl->assign('PATH', $pathdata);
             $apx->tmpl->assign('SET_OPTIONS', $apx->is_module('comments') && $set['gallery']['coms'] || $apx->is_module('ratings') && $set['gallery']['ratings'] || $set['gallery']['watermark'] || $set['gallery']['picwidth'] && $set['gallery']['picheight']);
             $apx->tmpl->assign('SET_COMS', $apx->is_module('comments') && $set['gallery']['coms']);
             $apx->tmpl->assign('SET_RATING', $apx->is_module('ratings') && $set['gallery']['ratings']);
             $apx->tmpl->assign('SET_WATERMARK', iif($set['gallery']['watermark'], 1, 0));
             $apx->tmpl->assign('SET_NORESIZE', iif($set['gallery']['picwidth'] && $set['gallery']['picheight'], 1, 0));
             $apx->tmpl->assign('UPDATEPARENT', (int) $_REQUEST['updateparent']);
             $apx->tmpl->parse('padd_ftp');
         } else {
             for ($i = 1; $i <= $set['gallery']['addpics']; $i++) {
                 $upload[$i]['ASD'] = 1;
             }
             $apx->tmpl->assign('ID', $_REQUEST['id']);
             $apx->tmpl->assign('UPLOAD', $upload);
             $apx->tmpl->assign('SET_COMS', $apx->is_module('comments') && $set['gallery']['coms']);
             $apx->tmpl->assign('SET_RATING', $apx->is_module('ratings') && $set['gallery']['ratings']);
             $apx->tmpl->assign('SET_WATERMARK', iif($set['gallery']['watermark'], 1, 0));
             $apx->tmpl->assign('SET_NORESIZE', iif($set['gallery']['picwidth'] && $set['gallery']['picheight'], 1, 0));
             $apx->tmpl->assign('UPDATEPARENT', (int) $_REQUEST['updateparent']);
             $apx->tmpl->parse('padd_upload');
         }
         //Layer Ende
         $html->layer_footer();
     }
 }