RosCMS (Part 2) Added: trunk/web/reactos.org/htdocs/roscms/inc/ Added: trunk/web/reactos.org/htdocs/roscms/inc/404.php Added: trunk/web/reactos.org/htdocs/roscms/inc/admin.php Added: trunk/web/reactos.org/htdocs/roscms/inc/admin_content.php Added: trunk/web/reactos.org/htdocs/roscms/inc/admin_content_edit.php Added: trunk/web/reactos.org/htdocs/roscms/inc/admin_dyncontent.php Added: trunk/web/reactos.org/htdocs/roscms/inc/admin_dyncontent_edit.php Added: trunk/web/reactos.org/htdocs/roscms/inc/admin_generate_menu.php Added: trunk/web/reactos.org/htdocs/roscms/inc/admin_generate_menu_topframe.php Added: trunk/web/reactos.org/htdocs/roscms/inc/admin_generator.php Added: trunk/web/reactos.org/htdocs/roscms/inc/admin_help.php Added: trunk/web/reactos.org/htdocs/roscms/inc/admin_inctext.php Added: trunk/web/reactos.org/htdocs/roscms/inc/admin_languages.php Added: trunk/web/reactos.org/htdocs/roscms/inc/admin_languages_edit.php Added: trunk/web/reactos.org/htdocs/roscms/inc/admin_overview.php Added: trunk/web/reactos.org/htdocs/roscms/inc/admin_pages.php Added: trunk/web/reactos.org/htdocs/roscms/inc/admin_pages_delete.php Added: trunk/web/reactos.org/htdocs/roscms/inc/admin_pages_edit.php Added: trunk/web/reactos.org/htdocs/roscms/inc/admin_pages_save.php Added: trunk/web/reactos.org/htdocs/roscms/inc/admin_seclog.php Added: trunk/web/reactos.org/htdocs/roscms/inc/admin_seclog_edit.php Added: trunk/web/reactos.org/htdocs/roscms/inc/admin_subsys.php Added: trunk/web/reactos.org/htdocs/roscms/inc/admin_subsys_check.php Added: trunk/web/reactos.org/htdocs/roscms/inc/admin_subsys_deluser.php Added: trunk/web/reactos.org/htdocs/roscms/inc/admin_subsys_fix.php Added: trunk/web/reactos.org/htdocs/roscms/inc/admin_user_accounts.php _____
Added: trunk/web/reactos.org/htdocs/roscms/inc/404.php --- trunk/web/reactos.org/htdocs/roscms/inc/404.php 2005-11-16 21:17:43 UTC (rev 19275) +++ trunk/web/reactos.org/htdocs/roscms/inc/404.php 2005-11-16 21:19:57 UTC (rev 19276) @@ -0,0 +1,46 @@
+<?php + /* + RosCMS - ReactOS Content Management System + Copyright (C) 2005 Ge van Geldorp <gvg@reactos.org> + Klemens Friedl <frik85@reactos.org> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +// To prevent hacking activity: +if ( !defined('ROSCMS_SYSTEM') ) +{ + if ( !defined('ROSCMS_SYSTEM_LOG') ) { + define ("ROSCMS_SYSTEM_LOG", "Hacking attempt"); + } + $seclog_section="roscms_interface"; + $seclog_level="50"; + $seclog_reason="Hacking attempt: noaccess.php"; + define ("ROSCMS_SYSTEM", "Hacking attempt"); + include('securitylog.php'); // open security log + die("Hacking attempt"); +} +?> +<h1>404 - Page not found</h1> +<h2>Page not found</h2> +<p>Our Web server cannot find the page or file you asked for.</p> +<p>The link you followed may be broken or expired. </p> +<p>Please use one of the following links to find the information you are looking + for:</p> +<ul> + <li><a href="http://www.reactos.org/">www.reactos.org Homepage</a> </li> + <li><a href="http://www.reactos.org/?page=sitemap">www.reactos.org Sitemap</a> + </li> +</ul> Property changes on: trunk/web/reactos.org/htdocs/roscms/inc/404.php ___________________________________________________________________ Name: svn:eol-style + native _____
Added: trunk/web/reactos.org/htdocs/roscms/inc/admin.php --- trunk/web/reactos.org/htdocs/roscms/inc/admin.php 2005-11-16 21:17:43 UTC (rev 19275) +++ trunk/web/reactos.org/htdocs/roscms/inc/admin.php 2005-11-16 21:19:57 UTC (rev 19276) @@ -0,0 +1,181 @@
+<?php + /* + RosCMS - ReactOS Content Management System + Copyright (C) 2005 Klemens Friedl <frik85@reactos.org> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + + // To prevent hacking activity: + if ( !defined('ROSCMS_SYSTEM') ) + { + if ( !defined('ROSCMS_SYSTEM_LOG') ) { + define ("ROSCMS_SYSTEM_LOG", "Hacking attempt"); + } + $seclog_section="roscms_admin_interface"; + $seclog_level="50"; + $seclog_reason="Hacking attempt: admin.php"; + define ("ROSCMS_SYSTEM", "Hacking attempt"); + include('securitylog.php'); // open security log + die("Hacking attempt"); + } + + + if ( !defined('ROSCMS_SYSTEM_ADMIN') ) { + define ("ROSCMS_SYSTEM_ADMIN", "Admin Interface"); // to prevent hacking activity + } + + if ($roscms_intern_usrgrp_admin == true) { // only for (super) admin group member + if ($rpm_site == "") { + create_head($rpm_page_title, $rpm_logo, $roscms_langres); + create_structure($rpm_page); + } + + switch ($rpm_sec) { + case "generator": // static page generator (output/view) + if ($rpm_site == "") { + echo '<div class="contentSmall"> <span class="contentSmallTitle">Admin Interface - Generator</span>'; + include("inc/generate_page.php"); + echo "</div>"; + } + else { + if ($rpm_sec3 == "menu") { + include("admin_generate_menu.php"); + } + if ($rpm_sec3 == "menutop") { + include("admin_generate_menu_topframe.php"); + } + else { + include("inc/generate_page.php"); + } + } + break; + case "generate": // generator menu page + include("inc/admin_generator.php"); + break; + case "pages": + if ($rpm_sec2=="view") { + include("inc/admin_pages.php"); + } + else if ($rpm_sec2=="edit") { + include("inc/admin_pages_edit.php"); + } + else if ($rpm_sec2=="delete") { + include("inc/admin_pages_delete.php"); + } + else if ($rpm_sec2=="save") { + include("inc/admin_pages_save.php"); + } + break; + case "content": + if ($rpm_sec2=="view") { + include("inc/admin_content.php"); + } + else if ($rpm_sec2=="edit") { + include("inc/admin_content_edit.php"); + } + else if ($rpm_sec2=="delete") { + include("inc/admin_content.php"); + //include("inc/admin_content_delete.php"); + } + else if ($rpm_sec2=="save") { + include("inc/admin_content_edit.php"); + //include("inc/admin_content_save.php"); + } + break; + case "dyncontent": + if ($rpm_sec2=="view") { + include("inc/admin_dyncontent.php"); + } + else if ($rpm_sec2=="edit") { + include("inc/admin_dyncontent_edit.php"); + } + /*else if ($rpm_sec2=="delete") { + include("inc/admin_content.php"); + //include("inc/admin_content_delete.php"); + }*/ + else if ($rpm_sec2=="save") { + include("inc/admin_dyncontent_edit.php"); + } + break; + case "inctext": + if ($rpm_sec2=="view") { + include("inc/admin_inctext.php"); + } + else if ($rpm_sec2=="edit") { + include("inc/nopermission.php"); + } + else if ($rpm_sec2=="delete") { + include("inc/nopermission.php"); + } + else if ($rpm_sec2=="save") { + include("inc/nopermission.php"); + } + break; + case "languages": + if ($rpm_sec2=="view") { + include("inc/admin_languages.php"); + } + else if ($rpm_sec2=="edit") { + include("inc/admin_languages_edit.php"); + } + else if ($rpm_sec2=="delete") { + include("inc/admin_languages.php"); + //include("inc/admin_languages_delete.php"); + } + else if ($rpm_sec2=="save") { + include("inc/admin_languages.php"); + //include("inc/admin_languages_save.php"); + } + break; + case "users": + include("inc/admin_user_accounts.php"); + break; + case "usergroups": + include("inc/admin_user_groups.php"); + break; + case "usrgrpmbr": + include("inc/admin_user_group_memebers.php"); + break; + case "sessions": + include("inc/admin_user_sessions.php"); + break; + case "seclog": + if ($rpm_sec2=="view") { + include("inc/admin_seclog.php"); + } + else if ($rpm_sec2=="edit") { + include("inc/admin_seclog_edit.php"); + } + break; + case "stats": + include("../roswebstats/rospage_stats/admin/view_stats.php"); + break; + case "help": + include("inc/admin_help.php"); + break; + case "subsys": + include("inc/admin_subsys.php"); + break; + case "overview": + default: + include("inc/admin_overview.php"); + break; + } + } + else { // for all other user groups + header("location:?page=nopermission"); + } +?> Property changes on: trunk/web/reactos.org/htdocs/roscms/inc/admin.php ___________________________________________________________________ Name: svn:eol-style + native _____
Added: trunk/web/reactos.org/htdocs/roscms/inc/admin_content.php --- trunk/web/reactos.org/htdocs/roscms/inc/admin_content.php 2005-11-16 21:17:43 UTC (rev 19275) +++ trunk/web/reactos.org/htdocs/roscms/inc/admin_content.php 2005-11-16 21:19:57 UTC (rev 19276) @@ -0,0 +1,423 @@
+<?php + /* + RosCMS - ReactOS Content Management System + Copyright (C) 2005 Klemens Friedl <frik85@reactos.org> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + + // To prevent hacking activity: + if ( !defined('ROSCMS_SYSTEM') ) + { + if ( !defined('ROSCMS_SYSTEM_LOG') ) { + define ("ROSCMS_SYSTEM_LOG", "Hacking attempt"); + } + $seclog_section="roscms_interface"; + $seclog_level="50"; + $seclog_reason="Hacking attempt: admin_content.php"; + define ("ROSCMS_SYSTEM", "Hacking attempt"); + include('securitylog.php'); // open security log + die("Hacking attempt"); + } + if ($rpm_page != "admin" && $rpm_page != "dev" && $rpm_page != "team" && $rpm_page != "trans") { + die(""); + } + if ($roscms_intern_usrgrp_admin == true || $roscms_intern_usrgrp_dev == true || $roscms_intern_usrgrp_team == true || $roscms_intern_usrgrp_trans == true) { + +?> + +<div class="contentSmall"> <span class="contentSmallTitle">Admin Interface - Content</span> + <ul> + <li><strong>Content</strong></li> + </ul> + <p>Action: <?php if ($roscms_intern_usrgrp_admin == true && $rpm_page == "admin") { ?><a href="?page=<?php echo $rpm_page; ?>&sec=content&sec2=edit&opt=insert&<?php echo 'sort='.$rpm_sort.'&filt='.$rpm_filt.'&langid='.$rpm_lang_id ; ?>&db_id=new">New + Content</a> | <?php } ?><a href="?page=<?php echo $rpm_page; ?>&sec=content&sec2=view">reset filters & + sort</a></p> + + <?php + if($roscms_intern_account_level>50) { + $rpm_content_active=""; + $rpm_content_active_set=""; + if(array_key_exists("content_active", $_GET)) $rpm_content_active=$_GET["content_active"]; + if(array_key_exists("content_active_set", $_GET)) $rpm_content_active_set=$_GET["content_active_set"]; + + if ($rpm_content_active != "" AND $rpm_content_active_set != "") { + $content_postc="UPDATE `content` SET `content_active` = '$rpm_content_active' WHERE `content_id` = '$rpm_content_active_set' LIMIT 1 ;"; + $content_post_listc=mysql_query($content_postc); + } + } + + + if ($rpm_lang_id == "") { + if (($roscms_intern_usrgrp_trans == true || $roscms_intern_usrgrp_team == true) && ($rpm_page == "trans" || $rpm_page == "team")) { + $rpm_lang_id="en"; + } + else { + $rpm_lang_id="all"; + } + } + echo '<p>Language: '; + if ($roscms_intern_usrgrp_dev == true || $roscms_intern_usrgrp_admin == true) { + if ($rpm_lang_id == "all") { + echo '<b>All</b>'; + $ros_cms_intern_content_lang = ""; + } + else { + echo '<a href="?page='.$rpm_page.'&sec=content&sec2=view&sort='.$rpm_ sort.'&filt='.$rpm_filt.'&opt='.$rpm_opt.'&langid=all">All</ a>'; + } + echo ' | '; + if ($rpm_lang_id == "nolang") { + echo '<b>International</b>'; + $ros_cms_intern_content_lang = "AND content_lang = 'all'"; + } + else { + echo '<a href="?page='.$rpm_page.'&sec=content&sec2=view&sort='.$rpm_ sort.'&filt='.$rpm_filt.'&opt='.$rpm_opt.'&langid=nolang">In ternational</a>'; + } + } + else { + echo '->'; + } + // Languages + $sql_lang="SELECT * + FROM languages + WHERE lang_level != '0' + ORDER BY 'lang_level' DESC"; + $sql_query_lang=mysql_query($sql_lang); + while($myrow_lang=mysql_fetch_row($sql_query_lang)) { + $roscms_sel_lang = $myrow_lang[0]; + echo ' | '; + if ($rpm_lang_id == $roscms_sel_lang) { + echo '<b>'.$myrow_lang[1].'</b>'; + $ros_cms_intern_content_lang = "AND content_lang = '".$roscms_sel_lang."'"; + } + else { + echo '<a href="?page='.$rpm_page.'&sec=content&sec2=view&sort='.$rpm_ sort.'&filt='.$rpm_filt.'&opt='.$rpm_opt.'&langid='.$roscms_ sel_lang.'">'.$myrow_lang[1].'</a>'; + } + } + + + if ($rpm_filt == "") { + if ($roscms_intern_usrgrp_admin == true) { + $rpm_filt="active"; + } + if ($roscms_intern_usrgrp_dev == true && $rpm_page == "dev") { + $rpm_filt="anvc"; + } + if (($roscms_intern_usrgrp_team == true && $rpm_page == "team") || ($roscms_intern_usrgrp_trans == true && $rpm_page == "trans")) { + $rpm_filt="anvc"; + } + } + echo '<p>Filter: '; + if (($roscms_intern_usrgrp_admin == true && $rpm_page == "admin") || ($roscms_intern_usrgrp_dev == true && $rpm_page == "dev")) { + if ($rpm_filt == "active") { + echo '<b>active content</b>'; + $ros_cms_intern_content_filt = "WHERE content_active = '1'"; + } + else { + echo '<a href="?page='.$rpm_page.'&sec=content&sec2=view&sort='.$rpm_ sort.'&filt=active&langid='.$rpm_lang_id.'">active content</a>'; + } + echo ' | '; + if ($rpm_filt == "all") { + echo '<b>all content</b>'; + $ros_cms_intern_content_filt = "WHERE `content_name` != ''"; + } + else { + echo '<a href="?page='.$rpm_page.'&sec=content&sec2=view&sort='.$rpm_ sort.'&filt=all&langid='.$rpm_lang_id.'">all content</a>'; + } + echo ' | '; + } + if ($rpm_filt == "anvc") { + echo '<b>active and visible content</b>'; + $ros_cms_intern_content_filt = "WHERE content_active = '1' AND content_visible = '1'"; + } + else { + echo '<a href="?page='.$rpm_page.'&sec=content&sec2=view&sort='.$rpm_ sort.'&filt=anvc&langid='.$rpm_lang_id.'">active and visible content</a>'; + } + echo ' | '; + if ($rpm_filt == "user") { + echo '<b>current user</b>'; + $ros_cms_intern_content_filt = "WHERE content_usrname_id = '".$roscms_intern_account_id."'"; + } + else { + echo '<a href="?page='.$rpm_page.'&sec=content&sec2=view&sort='.$rpm_ sort.'&filt=user&langid='.$rpm_lang_id.'">current user</a>'; + } + if ($rpm_filt == "history") { + echo ' | <b>history</b>'; + $ros_cms_intern_content_filt = "WHERE content_name = '".$rpm_opt."'"; + } + echo '</p>'; + + if ($rpm_sort == "") { + $rpm_sort="id"; + } + echo '<p>Sorted by: '; + if ($rpm_sort == "id") { + echo '<b>content id</b>'; + $ros_cms_intern_content_sortby="content_name"; + $ros_cms_intern_content_sort="ASC"; + } + else { + echo '<a href="?page='.$rpm_page.'&sec=content&sec2=view&sort=id& filt='.$rpm_filt.'&opt='.$rpm_opt.'&langid='.$rpm_lang_id.'">con tent id</a>'; + } + echo ' | '; + if ($rpm_sort == "date") { + echo '<b>date</b>'; + $ros_cms_intern_content_sortby="content_date"; + $ros_cms_intern_content_sort="DESC"; + } + else { + echo '<a href="?page='.$rpm_page.'&sec=content&sec2=view&sort=date&am p;filt='.$rpm_filt.'&opt='.$rpm_opt.'&langid='.$rpm_lang_id.'">d ate</a>'; + } + echo ' | '; + if ($rpm_sort == "user") { + echo '<b>user</b>'; + $ros_cms_intern_content_sortby="content_usrname_id"; + $ros_cms_intern_content_sort="ASC"; + } + else { + echo '<a href="?page='.$rpm_page.'&sec=content&sec2=view&sort=user&am p;filt='.$rpm_filt.'&opt='.$rpm_opt.'&langid='.$rpm_lang_id.'">u ser</a>'; + } + echo ' | '; + if ($rpm_sort == "active") { + echo '<b>active</b>'; + $ros_cms_intern_content_sortby="content_active"; + $ros_cms_intern_content_sort="DESC"; + } + else { + echo '<a href="?page='.$rpm_page.'&sec=content&sec2=view&sort=active& amp;filt='.$rpm_filt.'&opt='.$rpm_opt.'&langid='.$rpm_lang_id.'"
active</a>';
+ } + echo ' | '; + if ($rpm_sort == "visible") { + echo '<b>visible</b>'; + $ros_cms_intern_content_sortby="content_visible"; + $ros_cms_intern_content_sort="DESC"; + } + else { + echo '<a href="?page='.$rpm_page.'&sec=content&sec2=view&sort=visible &filt='.$rpm_filt.'&opt='.$rpm_opt.'&langid='.$rpm_lang_id.' ">visible</a>'; + } + echo ' | '; + if ($rpm_sort == "version") { + echo '<b>version</b>'; + $ros_cms_intern_content_sortby="content_version"; + $ros_cms_intern_content_sort="DESC"; + } + else { + echo '<a href="?page='.$rpm_page.'&sec=content&sec2=view&sort=version &filt='.$rpm_filt.'&opt='.$rpm_opt.'&langid='.$rpm_lang_id.' ">version</a>'; + } + echo ' | '; + if ($rpm_sort == "language") { + echo '<b>language</b>'; + $ros_cms_intern_content_sortby="content_lang"; + $ros_cms_intern_content_sort="ASC"; + } + else { + echo '<a href="?page='.$rpm_page.'&sec=content&sec2=view&sort=languag e&filt='.$rpm_filt.'&opt='.$rpm_opt.'&langid='.$rpm_lang_id. '">language</a>'; + } + echo ' | '; + if ($rpm_sort == "editor") { + echo '<b>editor</b>'; + $ros_cms_intern_content_sortby="content_editor"; + $ros_cms_intern_content_sort="DESC"; + } + else { + echo '<a href="?page='.$rpm_page.'&sec=content&sec2=view&sort=editor& amp;filt='.$rpm_filt.'&opt='.$rpm_opt.'&langid='.$rpm_lang_id.'"
editor</a>';
+ } + echo '</p>'; + +?> + <table width="100%" border="0" cellpadding="1" cellspacing="1"> + <tr bgcolor="#5984C3"> + <td width="9%"> <div align="center"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif"><strong>Action</strong></font></div></td> + <td width="8%" colspan="3" bgcolor="#5984C3"> <div align="center"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif"><strong>Info</strong></font></div></td> + <td width="13%" bgcolor="#5984C3"> <div align="center"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif"><strong>Content + ID</strong></font></div></td> + <td width="13%"> <div align="center"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif"><strong>Language</strong></font></div></td> + <td width="26%" bgcolor="#5984C3"> <div align="center"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif"><strong>Content</strong></font></div></td> + <td width="7%"> <div align="center"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif"><strong>Rev.</strong></font></div> + <div align="center"></div></td> + <td width="13%"> <div align="center"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif"><strong> + Date</strong></font></div></td> + <td width="10%"> <div align="center"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif"><strong>User</strong></font></div></td> + </tr> + <?php + + if($roscms_intern_usrgrp_sadmin == true) { + $query_content = mysql_query("SELECT * + FROM content + $ros_cms_intern_content_filt $ros_cms_intern_content_lang + ORDER BY '$ros_cms_intern_content_sortby' $ros_cms_intern_content_sort") ; + /*$query_content = mysql_query("SELECT * + FROM content + $ros_cms_intern_content_filt $ros_cms_intern_content_lang + ORDER BY '$ros_cms_intern_content_sortby' $ros_cms_intern_content_sort") ;*/ + } + elseif ($roscms_intern_usrgrp_admin == true) { + $query_content = mysql_query("SELECT * + FROM content + $ros_cms_intern_content_filt AND content_visible != 0 $ros_cms_intern_content_lang + ORDER BY '$ros_cms_intern_content_sortby' $ros_cms_intern_content_sort") ; + } + elseif ($roscms_intern_usrgrp_dev == true) { + $query_content = mysql_query("SELECT * + FROM content + $ros_cms_intern_content_filt AND content_visible != 0 $ros_cms_intern_content_lang + ORDER BY '$ros_cms_intern_content_sortby' $ros_cms_intern_content_sort") ; + } + elseif ($roscms_intern_usrgrp_team == true || $roscms_intern_usrgrp_trans == true) { + $query_content = mysql_query("SELECT * + FROM content + $ros_cms_intern_content_filt AND content_visible != 0 $ros_cms_intern_content_lang + ORDER BY '$ros_cms_intern_content_sortby' $ros_cms_intern_content_sort") ; + } + else { + die(""); + } + + $farbe1="#E2E2E2"; + $farbe2="#EEEEEE"; + $zaehler="0"; + //$farbe="#CCCCC"; + + while($result_content = mysql_fetch_array($query_content)) { // content +?> + <tr> + <td width="9%" valign="middle" bgcolor="<?php + $zaehler++; + if ($zaehler == "1") { + echo $farbe1; + $farbe = $farbe1; + } + elseif ($zaehler == "2") { + $zaehler="0"; + echo $farbe2; + $farbe = $farbe2; + } + ?>"> + <div align="center"> + <a name="<?php echo $result_content['content_id']; ?>"></a> + <?php + if (($roscms_intern_usrgrp_trans == true || $roscms_intern_usrgrp_team == true) && ($rpm_page == "trans" || $rpm_page == "team") && $rpm_lang_id == "en") { ?> + <a href="?page=<?php echo $rpm_page; ?>&sec=content&sec2=edit&opt=translate&<?php echo 'sort='.$rpm_sort.'&filt='.$rpm_filt.'&langid='.$rpm_lang_id.'&a mp;db_id='.$result_content['content_id']; ?>"><img src="images/tool.gif" alt="Translate" width="19" height="18" border="0"></a> + <?php } else { ?> + <a href="?page=<?php echo $rpm_page; ?>&sec=content&sec2=edit&<?php echo 'sort='.$rpm_sort.'&filt='.$rpm_filt.'&langid='.$rpm_lang_id.'&a mp;db_id='.$result_content['content_id']; ?>"><img src="images/view.gif" alt="View" width="19" height="18" border="0"></a> + <?php + } + if($roscms_intern_usrgrp_sadmin == true) { ?> + <script type="text/javascript"> + <!-- + function DeleteContent() { + var chk = window.confirm("Do you really want to delete this content?"); + if (chk == true) { + //parent.location.href = "?page=admin&sec=content&sec2=delete&db_id=<?php echo $result_content['content_id']; ?>"; + alert("Sorry! This feature has been disabled. Please ask the administrator if you really want to delete a content."); + } + } + --> + </script> + <a href="javascript:DeleteContent()"><img src="images/delete.gif" alt="Delete" width="19" height="18" border="0"></a> + <?php } ?> + <a href="<?php echo "?page=".$rpm_page."&sec=content&sec2=view&sort=version& filt=history&opt=".$result_content['content_name']."&langid=".$r esult_content['content_lang']; ?>"><img src="images/history.gif" alt="Filter: history" width="19" height="18" border="0"></a> + </div></td> + <td width="3%" valign="middle" bgcolor="<?php echo $farbe; ?>"><div align="center"> + <?php + if($result_content['content_active'] == "1") { ?> + <a href="<?php if($roscms_intern_usrgrp_admin == true) { echo '?page='.$rpm_page.'&sec=content&sec2=view&sort='.$rpm_sort. '&filt='.$rpm_filt.'&opt='.$rpm_opt.'&langid='.$rpm_lang_id. '&content_active=0&content_active_set='.$result_content['content _id'] ; } else { echo '#'; } ?>"><img src="images/active.gif" alt="active" width="19" height="18" border="0"></a> + <?php + } + else { ?> + <a href="<?php if($roscms_intern_usrgrp_admin == true) { echo '?page='.$rpm_page.'&sec=content&sec2=view&sort='.$rpm_sort. '&filt='.$rpm_filt.'&opt='.$rpm_opt.'&langid='.$rpm_lang_id. '&content_active=1&content_active_set='.$result_content['content _id'] ; } else { echo '#'; } ?>"><img src="images/notactive.gif" alt="NOT active" width="19" height="18" border="0"></a> + <?php } ?> + </div></td> + <td width="3%" valign="middle" bgcolor="<?php echo $farbe; ?>"><div align="center"> + <?php + if($result_content['content_visible'] == "1") { ?> + <img src="images/visible.gif" alt="visible" width="19" height="18" border="0"> + <?php + } + else { ?> + <img src="images/notvisible.gif" alt="NOT visible" width="19" height="18" border="0"> + <?php } ?> + </div></td> + <td width="3%" valign="middle" bgcolor="<?php echo $farbe; ?>"><div align="center"> + <?php if($roscms_intern_account_level<=10) { ?> + <img src="images/lock.gif" alt="Locked" width="19" height="18"> + <?php } else if ($result_content['content_editor'] == "richtext") { ?> + <img src="images/richtexteditor.gif" alt="Rich Text Editor" width="19" height="18"> + <?php } else if ($result_content['content_editor'] == "bbcode") { ?> + <img src="images/bbcode.gif" alt="bbcode Editor" width="19" height="18"> + <?php } ?> + </div></td> + <td width="13%" valign="middle" bgcolor="<?php echo $farbe; ?>"> <div align="left"><font face="Arial, Helvetica, sans-serif"><?php echo "[#cont_<b>".$result_content['content_name']."</b>]"; ?></font></div></td> + <td width="13%" valign="middle" bgcolor="<?php if ($result_content['content_lang'] != "") { echo $farbe; } else { echo "#FF0000"; } ?>"> <div align="center"> + <font face="Arial, Helvetica, sans-serif"> + <?php + $cmsros_intern_temp_lang_short=$result_content['content_lang']; + $sql_lang="SELECT * + FROM languages + WHERE lang_level != '0' AND lang_id = '$cmsros_intern_temp_lang_short' + ORDER BY 'lang_level' DESC"; + $sql_query_lang=mysql_query($sql_lang); + $myrow_lang=mysql_fetch_row($sql_query_lang); // Languages + if ($myrow_lang[1] != "") { + echo $myrow_lang[1]; + } + else if ($result_content['content_lang'] != "all") { + echo $result_content['content_lang']; + } + ?> + </font></div></td> + <td width="26%" valign="middle" bgcolor="<?php echo $farbe; ?>" title="<?php + if ($result_content['content_visible'] != 1) { echo "NOT visible!\n\n"; } + echo substr(htmlentities($result_content['content_text'], ENT_QUOTES), 0, 200)."..."; + ?>"> <pre><font face="Arial, Helvetica, sans-serif"><?php + echo substr(htmlentities($result_content['content_text'], ENT_QUOTES), 0, 40)."..." ; + ?></font></pre> </td> + <td width="7%" valign="middle" bgcolor="<?php echo $farbe; ?>"> <div align="right"><font face="Arial, Helvetica, sans-serif"> + <?php + echo $result_content['content_version']; + ?> + </font></div> + <div align="center"><font face="Arial, Helvetica, sans-serif"> </font></div></td> + <td width="13%" valign="middle" bgcolor="<?php echo $farbe; ?>"> <div align="center"><font face="Arial, Helvetica, sans-serif"> + <?php + echo $result_content['content_date']." ".$result_content['content_time'];; + ?> + </font></div></td> + <td width="10%" valign="middle" bgcolor="<?php echo $farbe; ?>"> <div align="center"><font face="Arial, Helvetica, sans-serif"> + <?php + $accountinfo_query = @mysql_query("SELECT user_name, user_id FROM users WHERE user_id = '".$result_content['content_usrname_id']."'") or die('DB error (admin interface)!'); + $accountinfo_result = @mysql_fetch_array($accountinfo_query); + + $roscms_intern_accountuser = $accountinfo_result['user_name']; + if ($roscms_intern_accountuser && $roscms_intern_accountuser != "") { + echo "<b>".$roscms_intern_accountuser."</b><br><a href='?page=user&sec=profil&sec2=".$result_content['content_usrn ame_id']."' target='_blank'>Profile</a>"; + } + else { + echo "<b>RosCMS</b>"; + } + ?> + </font></div></td> + </tr> + <?php + } // end while +?> + </table> + <?php + include("inc/inc_description_table.php"); +?> +</div> +<?php + } +?> Property changes on: trunk/web/reactos.org/htdocs/roscms/inc/admin_content.php ___________________________________________________________________ Name: svn:eol-style + native _____
Added: trunk/web/reactos.org/htdocs/roscms/inc/admin_content_edit.php --- trunk/web/reactos.org/htdocs/roscms/inc/admin_content_edit.php 2005-11-16 21:17:43 UTC (rev 19275) +++ trunk/web/reactos.org/htdocs/roscms/inc/admin_content_edit.php 2005-11-16 21:19:57 UTC (rev 19276) @@ -0,0 +1,413 @@
+<?php + /* + RosCMS - ReactOS Content Management System + Copyright (C) 2005 Klemens Friedl <frik85@reactos.org> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ +?> +<div class="contentSmall"> <span class="contentSmallTitle">Admin Interface - Content</span> + <?php if(!isset($_POST['content_rad_opt']) || $_POST['content_rad_opt'] == "preview") { ?> + <ul> + <li><strong><a href="?page=<?php echo $rpm_page; ?>&sec=content&sec2=view&<?php echo 'sort='.$rpm_sort.'&filt='.$rpm_filt.'&langid='.$rpm_lang_id."#" .$rpm_db_id ; ?>">Content</a></strong> + <ul> + <li>View content</li> + </ul> + </li> + </ul> + <?php + + $query_content = mysql_query("SELECT * + FROM content + WHERE content_id = '$rpm_db_id' + ORDER BY 'content_lang' ASC") ; + + $farbe="#E2E2E2"; + + $result_content = mysql_fetch_array($query_content); + $roscms_intern_editor_content = ""; + $roscms_intern_editor_content = $result_content['content_text']; +?> + <form name="cms_content" method="post" action="<?php //echo $_SERVER['PHP_SELF']; + echo '?page='.$rpm_page.'&sec=content&sec2=save&db_id='.$rpm_db_i d; + ?>"> + <table width="600" border="0" cellpadding="1" cellspacing="1"> + <tr bgcolor="#5984C3"> + <td width="15%" bgcolor="#5984C3"> <div align="center"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif"><strong>Content + ID </strong></font></div></td> + <td width="85%" bgcolor="#E2E2E2"> <div align="left"><font face="Arial, Helvetica, sans-serif"> + [#cont_ + <input name="txt_contentid" type="text" id="txt_contentid" value="<?php echo $result_content['content_name']; ?>" size="50" maxlength="50"> + ] (e.g. "media")</font></div></td> + </tr> + <tr> + <td valign="top" bgcolor="#5984C3"> <div align="center"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif"><strong>Language</strong></font></div></td> + <td valign="top" bgcolor="#EEEEEE"><div align="left"> + <select id="txt_langa" size="1" name="txt_langa" class="selectbox"> + <?php + //echo $result_page['page_language']; + $cmsros_intern_temp_lang_short=$result_content['content_lang']; + $sql_lang="SELECT * + FROM languages + WHERE lang_level != '0' AND lang_id = '$cmsros_intern_temp_lang_short' + ORDER BY 'lang_level' DESC Limit 1"; + $sql_query_lang=mysql_query($sql_lang); + $myrow_lang=mysql_fetch_row($sql_query_lang); // Languages + ?> + <optgroup label="languages"> + <option value="all"<?php if ($cmsros_intern_temp_lang_short == "all") { echo ' selected="selected"'; } ?>>All</option> + <?php + + // Languages + $sql_langa="SELECT * + FROM languages + WHERE lang_level != '0' + ORDER BY 'lang_level' DESC"; + $sql_query_langa=mysql_query($sql_langa); + while($myrow_langa=mysql_fetch_row($sql_query_langa)) { + echo '<option value="'.$myrow_langa[0].'"'; + if ($myrow_lang[0] == $myrow_langa[0]) { + echo ' selected="selected"'; + } + echo '>'.$myrow_langa[1].'</option>'; + } + ?> + </optgroup> + <optgroup label="other"> + <option value="xhtml"<?php if ($result_content['content_lang'] == "xhtml") { echo ' selected="selected"'; } ?>>XHTML</option> + <option value="html"<?php if ($result_content['content_lang'] == "html") { echo ' selected="selected"'; } ?>>HTML</option> + </optgroup> + </select> + </div></td> + </tr> + <?php + if ($result_content['content_editor'] != "richtext" && $result_content['content_editor'] != "bbcode") { +?> + <tr> + <td valign="top" bgcolor="#5984C3"><div align="center"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif"><strong>Content</strong></font></div></td> + <td valign="top" bgcolor="#E2E2E2"><textarea name="textarea_content" cols="60" rows="20" id="textarea_content"><?php + //echo htmlentities(ereg_replace("&(#[0-9]{4};)", "&\\1", $roscms_intern_editor_content), ENT_QUOTES, 'UTF-8'); + echo ereg_replace("&(#[0-9]{4};)", "&\\1", htmlentities($roscms_intern_editor_content, ENT_QUOTES, 'UTF-8')) + + //echo htmlentities($roscms_intern_editor_content); + + ?></textarea></td> + </tr> + <?php + } +?> + <tr> + <td valign="top" bgcolor="#5984C3"><div align="center"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif"><strong>Revision</strong></font></div></td> + <td valign="top" bgcolor="#EEEEEE"><font face="Arial, Helvetica, sans-serif"> + <?php + echo $result_content['content_version']; + ?> + </font></td> + </tr> + <tr> + <td valign="top" bgcolor="#5984C3"><div align="center"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif"><strong>Visible</strong></font></div></td> + <td valign="top" bgcolor="#E2E2E2"><font face="Arial, Helvetica, sans-serif"> + <?php + if ($result_content['content_visible'] == 1) { + echo ' <input name="content_visible" type="radio" value="yes" checked> yes <input type="radio" name="content_visible" value="no"> no'; + } + else { + echo ' <input name="content_visible" type="radio" value="yes"> yes <input type="radio" name="content_visible" value="no" checked> no'; + } + ?> + </font></td> + </tr> + <tr> + <td valign="top" bgcolor="#5984C3"><div align="center"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif"><strong>Active</strong></font></div></td> + <td valign="top" bgcolor="#EEEEEE"><font face="Arial, Helvetica, sans-serif"> + <?php + if ($result_content['content_active'] == 1) { + echo ' <input name="content_active" type="radio" value="yes" checked> yes <input type="radio" name="content_active" value="no"> no'; + } + else { + echo ' <input name="content_active" type="radio" value="yes"> yes <input type="radio" name="content_active" value="no" checked> no'; + } + ?> + </font></td> + </tr> + <tr> + <td valign="top" bgcolor="#5984C3"><div align="center"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif"><strong>Editor</strong></font></div></td> + <td valign="top" bgcolor="#E2E2E2"> <select id="txt_extra" size="1" name="txt_extra" class="selectbox"> + <optgroup label="current"> + <?php + echo '<option value="'.$result_content["content_editor"].'"'; + echo ' selected="selected">'; + + if ($result_content["content_editor"]=="") { + echo "plain text"; + } + else { + echo $result_content["content_editor"]; + } + echo '</option>'; + ?> + </optgroup> + <optgroup label="extra option"> + <option value="">plain text</option> + <option value="richtext">richtext</option> + <option value="bbcode">bbcode</option> + </optgroup> + </select> </td> + </tr> + <tr> + <td valign="top" bgcolor="#5984C3"><div align="center"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif"><strong>Date</strong></font></div></td> + <td valign="top" bgcolor="#EEEEEE"><font face="Arial, Helvetica, sans-serif"> + <?php + echo $result_content['content_date']; + ?> + </font></td> + </tr> + <tr> + <td valign="top" bgcolor="#5984C3"><div align="center"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif"><strong>Time</strong></font></div></td> + <td valign="top" bgcolor="#E2E2E2"><font face="Arial, Helvetica, sans-serif"> + <?php + echo $result_content['content_time']; + ?> + </font></td> + </tr> + <tr> + <td valign="top" bgcolor="#5984C3"><div align="center"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif"><strong>Action</strong></font></div></td> + <td valign="top" bgcolor="#EEEEEE"></td> + </tr> + </table> + <p> + <?php + if ($result_content['content_editor']=="richtext") { + + include("../editor/FC/fckeditor.php") ; + // Automatically calculates the editor base path based on the _samples directory. + // This is usefull only for these samples. A real application should use something like this: + // $oFCKeditor->BasePath = '/FCKeditor/' ; // '/FCKeditor/' is the default value. + $sBasePath = $_SERVER['PHP_SELF'] ; + $sBasePath = substr( $sBasePath, 0, strpos( $sBasePath, "_samples" ) ) ; + + $oFCKeditor = new FCKeditor('FCKeditor') ; + //$oFCKeditor->BasePath = $sBasePath ; + //$oFCKeditor->ToolbarSet = "Basic"; + $oFCKeditor->BasePath = '../editor/FC/'; + + $oFCKeditor->Height = 500; + $oFCKeditor->Value = $roscms_intern_editor_content; + $oFCKeditor->Create() ; + } + if ($result_content['content_editor']=="bbcode") { + include("../editor/bbcode/bbcodeeditor.php"); + include("../editor/bbcode/cbparser.php"); + if (isset($_POST['content_rad_opt'])) { + echo "<p><fieldset><legend>Preview</legend>".bb2html(stripslashes(@$_POST['po st']),'')."</fieldset></p>"; + } + else { + echo "<p><fieldset><legend>Preview</legend>".bb2html(stripslashes($roscms_int ern_editor_content),'')."</fieldset></p>"; + //echo "<p><hr>".bb2html(stripslashes($roscms_intern_editor_content),'')."<hr>< /p>"; + } + } + + $roscms_intern_content_name=$result_content['content_name']; + ?> + </p> + <p> + <?php if ($rpm_opt=="translate") { ?> + <input name="content_rad_opt" type="radio" value="translate" checked> + Translate + <p><b><blink>Please check, if you selected the right language, before you + click "submit"!</blink></b></p> + <input type="submit" name="Submit" value="Submit"> + <p> </p> + <?php + } else { ?> + <input name="content_rad_opt" type="radio" value="insert" <?php if($roscms_intern_usrgrp_admin != true OR $roscms_intern_content_name == "") { echo "checked"; } ?>> + Save (new version) + <?php + if(($roscms_intern_usrgrp_admin == true || $roscms_intern_account_id == $result_content['content_usrname_id']) AND $roscms_intern_content_name != "" ) { + ?> + <input name="content_rad_opt" type="radio" value="update" <?php if($result_content['content_editor'] != "bbcode") { echo "checked"; } ?>> + Update + <?php } ?> + <?php + if($result_content['content_editor'] == "bbcode") { + ?> + <input name="content_rad_opt" type="radio" value="preview" checked> + Preview + <?php } ?></p> + <p> + <?php + if ($roscms_intern_usrgrp_sadmin == true || + $roscms_intern_usrgrp_admin == true || + $roscms_intern_usrgrp_dev == true || + $roscms_intern_usrgrp_team == true || + $roscms_intern_usrgrp_trans == true) { + ?> + <input type="submit" name="Submit" value="Submit"> + <?php } else { ?> + <img src="images/lock.gif" alt="Locked" width="19" height="18"> (you need + a higher account level to save the content to the database)</p> + <?php + } + } + ?> + <p><strong>Info:</strong> for each [#inc_xyz] tag the RosCMS will include + the code that is linked with this tag from database.<br> + <br> + <strong>Hints:</strong></p> + <ul> + <li>use &amp; instead of "&" in links, e.g. http://www.reactos.org/?page=support&lang=en</li> + <li> "<placeholder>" => &lt;placeholder&gt; </li> + <li>ReactOS Homepage URL: [#roscms_path_homepage]</li> + </ul> + </form> + <?php + } + elseif(isset($_POST['content_rad_opt']) && $_POST['content_rad_opt'] != "preview") { +?> + <ul> + <li><strong><a href="?page=<?php echo $rpm_page; ?>&sec=content&sec2=view&<?php echo 'sort='.$rpm_sort.'&filt='.$rpm_filt.'&langid='.$rpm_lang_id."#" .$rpm_db_id ; ?>">Content</a></strong> + <ul> + <li>Save content</li> + </ul> + </li> + </ul> + <?php + + $content_contentid=""; + $content_langa=""; + $content_vis=""; + $content_act=""; + $content_extra=""; + $content_savemode=""; + + if (array_key_exists("txt_contentid", $_POST)) $content_contentid=$_POST['txt_contentid']; + if (array_key_exists("txt_langa", $_POST)) $content_langa=$_POST['txt_langa']; + if (array_key_exists("content_visible", $_POST)) $content_vis=$_POST['content_visible']; + if (array_key_exists("content_active", $_POST)) $content_act=$_POST['content_active']; + if (array_key_exists("txt_extra", $_POST)) $content_extra=$_POST['txt_extra']; + if (array_key_exists("content_rad_opt", $_POST)) $content_savemode=$_POST['content_rad_opt']; + + echo "<br>aa".$content_act; + if ($content_langa == "") { + $content_langa = "all"; + } + + if ($content_vis == "yes") { + $content_vis="1"; + } + else { + $content_vis="0"; + } + + if ($content_act == "yes") { + $content_act="1"; + } + else { + $content_act="0"; [truncated at 1000 lines; 3865 more skipped]