00001 <?php
00002 if(!defined('__PRAGYAN_CMS'))
00003 {
00004 header($_SERVER['SERVER_PROTOCOL'].' 403 Forbidden');
00005 echo "<h1>403 Forbidden<h1><h4>You are not authorized to access the page.</h4>";
00006 echo '<hr/>'.$_SERVER['SERVER_SIGNATURE'];
00007 exit(1);
00008 }
00009
00021 global $sourceFolder,$moduleFolder;
00022
00023 require_once("smarttable.class.php");
00024
00026 function connect() {
00027 $dbase = mysql_connect(MYSQL_SERVER, MYSQL_USERNAME, MYSQL_PASSWORD) or die("Could not connect to server");
00028 mysql_select_db(MYSQL_DATABASE) or die("Could not connect to database");
00029 return $dbase;
00030 }
00031
00033 function disconnect() {
00034 mysql_close();
00035 }
00036 function prettyurl($str) {
00037 global $urlRequestRoot;
00038 if(strpos("a".$str,"http")==1) if(!strpos("a".$str,hostURL())) return $str;
00039 if(strpos("a".$str,$urlRequestRoot."/cms")) return $str;
00040
00041 $page = (isset($_GET['page']))?$_GET['page']:"/";
00042 $file="";
00043 $ch = (strpos("a".$str,hostURL())==1)?strlen(hostURL()):2;
00044 if(strripos("a".$str,".")>$ch&&($ch==2||strpos("a".$str,hostURL()."/home/")==1)) {
00045 $file= substr($str,strripos($str,"/")+1);
00046 $str = substr($str,0,strripos($str,"/")+1);
00047 }
00048 if(substr($str,0,3)=="../"){
00049 $page = substr($page,0,strripos($page,"/")-1);
00050 $page = substr($page,0,strripos($page,"/")+1);
00051 }
00052 if(strpos($str,"../")) {
00053 $pos = strpos($str,"../");
00054 $page = substr($page,0,strripos($page,"/")-1);
00055 $page = substr($page,0,strripos($page,"/")+1);
00056 $str = substr($str,0,$pos) . substr($str,$pos+3);
00057
00058 }
00059 $str = preg_replace("/^.\//",$urlRequestRoot."/?page=".$page,$str);
00060 $str = preg_replace("/^..\//",$urlRequestRoot."/?page=".$page,$str);
00061 $str = preg_replace("/\+/","&action=",$str);
00062 $str = preg_replace("/^".str_replace("/","\/",hostURL())."\/home/",hostURL()."/?page=",$str);
00063 $str = preg_replace("/^".str_replace("/","\/",$urlRequestRoot)."\/home/","./?page=",$str);
00064 if($file!="")
00065 $str .= "&fileget=".$file;
00066 return $str;
00067 }
00068
00069 function convertUrif($x,$attr) {
00070 $y="";
00071 $z = $x;
00072 $len=strlen($attr);
00073 if($len!=0)
00074 while(1) {
00075 $z=$x;
00076 $count=0;
00077 if(strpos($x,$attr))
00078 $y .= substr($x,$count,strpos($x,$attr)+$len+2);
00079 else
00080 $y .= substr($x,$count);
00081 $count=strpos($x,$attr)+$len+2;
00082 if($count==$len+2) break;
00083 $x = substr($x,$count-1);
00084 if($x[0]!='"'&&$x[0]!="'") {
00085 $x = substr($x,1);
00086 continue;
00087 }
00088 $x = substr($x,1);
00089
00090 $count1=(strpos($x,"\"")==-1||!strpos($x,"\""))?10000:strpos($x,"\"");
00091 $count2=(strpos($x,"'")==-1||!strpos($x,"'"))?10000:strpos($x,"'");
00092 $count=($count1<$count2)?$count1:$count2;
00093
00094 $y .= prettyurl(substr($x,0,$count));
00095 $x = substr($x,$count);
00096 }
00097 return $y;
00098 }
00099 function convertUri($x) {
00100 $y="";
00101 $z = $x;
00102 $hsref=array(" href"," action"," src");
00103 foreach($hsref as $href) {
00104 $len=strlen($href);
00105 if($len!=0)
00106 $z=convertUrif($z,$href);
00107 }
00108 return $z;
00109 }
00110
00115 function escape($query)
00116 {
00117 if (!get_magic_quotes_gpc()) {
00118 $query = addslashes($query);
00119 }
00120 return $query;
00121 }
00122
00125 function URLSecurityCheck($getvars)
00126 {
00127 foreach($getvars as $var=>$val)
00128 {
00129 if(preg_match("/[<>]/",$var) || preg_match("/[<>]/",$val))
00130 return true;
00131 }
00132 return false;
00133 }
00134
00137 function safe_html($html)
00138 {
00139 return htmlspecialchars(strip_tags($html));
00140 }
00145 function reloadTemplates()
00146 {
00147 global $sourceFolder;
00148 global $templateFolder;
00149 $templates=scandir($sourceFolder.'/'.$templateFolder);
00150 $res="<table>";
00151 $temparrr=array();
00152 foreach($templates as $tdir)
00153 {
00154 $tdir=escape($tdir);
00155 if(is_dir($sourceFolder.'/'.$templateFolder.'/'.$tdir) && $tdir[0]!='.' && $tdir!="common")
00156 {
00157 $query="INSERT IGNORE INTO `".MYSQL_DATABASE_PREFIX."templates` (`template_name`) VALUES ('$tdir')";
00158 mysql_query($query);
00159 if(mysql_affected_rows())
00160 $res.="<tr><td>$tdir</td><td><b>Found new template! Installed.</b></td></tr>";
00161 else $res.="<tr><td>$tdir</td><td>OK</td></tr>";
00162 $temparr[]=$tdir;
00163 }
00164
00165 }
00166 $templist=join("','",$temparr);
00167 $query="DELETE FROM `".MYSQL_DATABASE_PREFIX."templates` WHERE `template_name` NOT IN ('$templist')";
00168 mysql_query($query);
00169 if($delc=mysql_affected_rows()>0)
00170 $res.="<tr><td colspan=2>$delc template(s) removed from database</td></tr>";
00171 return $res."</table>";
00172 }
00173
00174 function reloadModules()
00175 {
00176 global $sourceFolder;
00177 global $moduleFolder;
00178 $modules=scandir($sourceFolder.'/'.$moduleFolder);
00179 $res="<table>";
00180 $modarr=array();
00181 foreach($modules as $module)
00182 {
00183 $module=escape($module);
00184 $ext=substr($module,-8);
00185 $module=substr($module,0,-8);
00186 if($ext==".lib.php")
00187 {
00188 $query="INSERT IGNORE INTO `".MYSQL_DATABASE_PREFIX."modules` (`module_name`) VALUES ('$module')";
00189 mysql_query($query);
00190 if(mysql_affected_rows())
00191 $res.="<tr><td>$module</td><td><b>Found new module! Installed.</b></td></tr>";
00192 else $res.="<tr><td>$module</td><td>OK</td></tr>";
00193 $modarr[]=$module;
00194 }
00195
00196 }
00197 $modlist=join("','",$modarr);
00198 $query="DELETE FROM `".MYSQL_DATABASE_PREFIX."modules` WHERE `module_name` NOT IN ('$modlist')";
00199 mysql_query($query);
00200 if($delc=mysql_affected_rows()>0)
00201 $res.="<tr><td colspan=2>$delc module(s) removed from database</td></tr>";
00202 return $res."</table>";
00203 }
00204
00205
00208 function getGlobalSettings()
00209 {
00210 $query="SELECT * FROM `".MYSQL_DATABASE_PREFIX."global`";
00211 $result=mysql_query($query);
00212 $globals=array();
00213 while($row=mysql_fetch_array($result))
00214 $globals[$row['attribute']]=$row['value'];
00215 return $globals;
00216 }
00217
00220 function setGlobalSettings($globals)
00221 {
00222
00223 foreach($globals as $var => $val)
00224 {
00225 setGlobalSettingByAttribute($var,$val);
00226 }
00227 }
00228
00230 function check_email($mail)
00231 {
00232 $domain = substr(strstr($mail,'@'),1);
00233 $ip = gethostbyname($domain);
00234 $query = "SELECT * FROM `".MYSQL_DATABASE_PREFIX."blacklist` WHERE `domain` = '$domain' OR `ip`= '$ip'";
00235 $result = mysql_query($query);
00236 $num_rows = mysql_num_rows($result);
00237 if($num_rows)
00238 return 0;
00239 return 1;
00240 }
00243 function setGlobalSettingByAttribute($attribute,$value)
00244 {
00245 if(mysql_num_rows(mysql_query("SELECT `value` FROM `" . MYSQL_DATABASE_PREFIX . "global` WHERE `attribute` = '$attribute'")) != 0)
00246 $query="UPDATE `".MYSQL_DATABASE_PREFIX."global` SET `value`='$value' WHERE `attribute`='$attribute'";
00247 else
00248 $query="INSERT INTO `" . MYSQL_DATABASE_PREFIX . "global`(`attribute`,`value`) VALUES('{$attribute}','{$value}')";
00249 mysql_query($query);
00250 }
00251
00253 function displayerror($error_desc) {
00254 global $ERRORSTRING;
00255 $ERRORSTRING .= "<div class=\"cms-error\">$error_desc</div>";
00256 }
00257
00259 function displayinfo($error_desc) {
00260 global $INFOSTRING;
00261 $INFOSTRING .= "<div class=\"cms-info\">$error_desc</div>";
00262
00263 }
00264
00266 function displaywarning($error_desc) {
00267 global $WARNINGSTRING;
00268 $WARNINGSTRING .= "<div class=\"cms-warning\">$error_desc</div>";
00269 }
00270
00276 function arraytostring($array) {
00277 $text = "array(";
00278 $count=count($array);
00279 $x=0;
00280 foreach ($array as $key=>$value) {
00281 $x++;
00282 if (is_array($value)) {
00283 if(substr($text,-1,1)==')')
00284 $text .= ',';
00285 $text.='"'.$key.'"'."=>".arraytostring($value);
00286 continue;
00287 }
00288
00289 $text.="\"$key\"=>\"$value\"";
00290 if ($count!=$x)
00291 $text.=",";
00292 }
00293
00294 $text.=")";
00295
00296 if(substr($text, -4, 4)=='),),')$text.='))';
00297 return $text;
00298 }
00299
00305 function getUserName($userId) {
00306 if($userId <= 0) return "Anonymous";
00307 $query = "SELECT `user_name` FROM `".MYSQL_DATABASE_PREFIX."users` WHERE `user_id` = ".$userId;
00308 $result = mysql_query($query);
00309 $row = mysql_fetch_row($result);
00310 return $row[0];
00311 }
00312
00318 function getUserFullName($userId) {
00319 if($userId <= 0) return "Anonymous";
00320 $query = "SELECT `user_fullname` FROM `".MYSQL_DATABASE_PREFIX."users` WHERE `user_id` = ".$userId;
00321 $result = mysql_query($query);
00322 $row = mysql_fetch_row($result);
00323 return $row[0];
00324 }
00325
00331 function getUserFullNameFromEmail($email) {
00332 $query = "SELECT `user_fullname` FROM `".MYSQL_DATABASE_PREFIX."users` WHERE `user_email` = '".$email."'";
00333 $result = mysql_query($query);
00334
00335 $row = mysql_fetch_row($result);
00336 return $row[0];
00337 }
00338
00344 function getUserEmail($userId) {
00345 if($userId <= 0) return 'Anonymous';
00346 $query="SELECT `user_email` FROM `".MYSQL_DATABASE_PREFIX."users` WHERE `user_id` = ".$userId;
00347 $result = mysql_query($query);
00348 $row= mysql_fetch_row($result);
00349 return $row[0];
00350 }
00351
00357 function getUserIdFromEmail($email) {
00358 if(strtolower($email) == 'anonymous') return 0;
00359 $query = 'SELECT `user_id` FROM `'.MYSQL_DATABASE_PREFIX."users` WHERE `user_email` = '".$email."'";
00360 $result = mysql_query($query);
00361 $row = mysql_fetch_row($result);
00362 return $row[0];
00363 }
00364
00365
00371 function getEffectivePageModule($pageId) {
00372 $pagemodule_query = "SELECT `page_module`, `page_modulecomponentid` FROM `".MYSQL_DATABASE_PREFIX."pages` WHERE `page_id`=".$pageId;
00373 $pagemodule_result = mysql_query($pagemodule_query);
00374 $pagemodule_row = mysql_fetch_assoc($pagemodule_result);
00375 if($pagemodule_row['page_module']=="link") return (getEffectivePageModule($pagemodule_row['page_modulecomponentid']));
00376 return $pagemodule_row['page_module'];
00377 }
00378
00384 function getNextModuleComponentId($modulename) {
00385 $moduleComponentIdQuery = "SELECT MAX(page_modulecomponentid) FROM `".MYSQL_DATABASE_PREFIX."_pages` WHERE `page_module`='$modulename'";
00386 $moduleComponentIdResult = mysql_query($moduleComponentIdQuery);
00387 if(!$moduleComponentIdResult)
00388 return 0;
00389 $moduleComponentIdRow = mysql_fetch_row($moduleComponentIdResult);
00390 if(!is_null($moduleComponentIdRow[0]))
00391 return $moduleComponentIdRow[0] + 1;
00392 return 1;
00393 }
00394
00395
00401 function getDereferencedPageId($pageId) {
00402 $pagemodule_query = "SELECT `page_module`, `page_modulecomponentid` FROM `".MYSQL_DATABASE_PREFIX."pages` WHERE `page_id`=".$pageId;
00403 $pagemodule_result = mysql_query($pagemodule_query);
00404 $pagemodule_row = mysql_fetch_assoc($pagemodule_result);
00405 if($pagemodule_row['page_module']=="link") {
00406 return getDereferencedPageId($pagemodule_row['page_modulecomponentid']);
00407 }
00408 return $pageId;
00409 }
00410
00411
00412
00413 function getPagePath($pageid) {
00414 $pagepath = '';
00415
00416 while($pageid != 0) {
00417 $pathQuery = "SELECT `page_parentid`, `page_name` FROM `".MYSQL_DATABASE_PREFIX."pages` WHERE `page_id` = ".$pageid;
00418 $pathResult = mysql_query($pathQuery);
00419 $pathResultRow = mysql_fetch_row($pathResult);
00420
00421 $pageid = $pathResultRow[0];
00422 $pagepath = $pathResultRow[1]."/$pagepath";
00423 }
00424
00425 return "/$pagepath";
00426 }
00427
00428 function getPageModule($pageId) {
00429 $pagemodule_query = "SELECT `page_module` FROM `".MYSQL_DATABASE_PREFIX."pages` WHERE `page_id`=".$pageId;
00430 $pagemodule_result = mysql_query($pagemodule_query);
00431 $pagemodule_row = mysql_fetch_assoc($pagemodule_result);
00432 return $pagemodule_row['page_module'];
00433 }
00434 function getPageTitle($pageId) {
00435 $pagemodule_query = "SELECT `page_title` FROM `".MYSQL_DATABASE_PREFIX."pages` WHERE `page_id`=".$pageId;
00436 $pagemodule_result = mysql_query($pagemodule_query);
00437 $pagemodule_row = mysql_fetch_assoc($pagemodule_result);
00438 return $pagemodule_row['page_title'];
00439 }
00440
00441
00442
00448 function getParentPage($pageid) {
00449 $pageparent_query = "SELECT `page_parentid` FROM `".MYSQL_DATABASE_PREFIX."pages` WHERE `page_id`=".$pageid;
00450 $pageparent_result = mysql_query($pageparent_query);
00451 $pageparent_row = mysql_fetch_assoc($pageparent_result);
00452 return $pageparent_row['page_parentid'];
00453 }
00454 function getPageInfo($pageid) {
00455 $pageparent_query = "SELECT `page_id`, `page_name`, `page_parentid`, `page_title`, `page_module`, `page_modulecomponentid`, `page_menurank`, `page_inheritedinfoid`, `page_displayinmenu`, `page_displaymenu`, `page_displaysiblingmenu`, `page_menutype`, `page_menudepth`, `page_image`, `page_displayicon` FROM `".MYSQL_DATABASE_PREFIX."pages` WHERE `page_id`=".$pageid;
00456 $pageparent_result = mysql_query($pageparent_query);
00457 $pageparent_row = mysql_fetch_assoc($pageparent_result);
00458 return $pageparent_row;
00459 }
00460 function getPageModuleComponentId($pageid) {
00461 $pageparent_query = "SELECT `page_modulecomponentid` FROM `".MYSQL_DATABASE_PREFIX."pages` WHERE `page_id`=".$pageid;
00462 $pageparent_result = mysql_query($pageparent_query);
00463 $pageparent_row = mysql_fetch_assoc($pageparent_result);
00464 return $pageparent_row['page_modulecomponentid'];
00465 }
00466 function getPageIdFromModuleComponentId($moduleName,$moduleComponentId) {
00467 $moduleid_query = "SELECT `page_id` FROM `".MYSQL_DATABASE_PREFIX."pages` WHERE `page_module` = '".$moduleName."' AND `page_modulecomponentid` = ".$moduleComponentId;
00468 $moduleid_result = mysql_query($moduleid_query);
00469 $moduleid_row = mysql_fetch_assoc($moduleid_result);
00470 return $moduleid_row['page_id'];
00471 }
00472
00473 function getModuleComponentIdFromPageId($pageId, $moduleName) {
00474 $moduleIdQuery = 'SELECT `page_modulecomponentid` FROM `' . MYSQL_DATABASE_PREFIX . "pages` WHERE `page_module` = '".$moduleName."' AND `page_id` = ".$pageId;
00475 $moduleIdResult = mysql_query($moduleIdQuery);
00476 $moduleIdRow = mysql_fetch_row($moduleIdResult);
00477 return $moduleIdRow[0];
00478 }
00485 function getPageDepth($pageId) {
00486 $depth = 1;
00487 if(getParentPage($pageId) == 0)
00488 return 0;
00489 else
00490 return $depth + getPageDepth(getParentPage($pageId));
00491 }
00492
00493 function logInfo ($userEmail, $userId, $pageId, $pagePath, $permModule, $permAction, $accessIpAddress) {
00494 if(isRequiredMaintenance()) {
00495 require_once("maintenance.lib.php");
00496 runMaintenance();
00497 }
00498 if($pageId === false) $pageId = -1;
00499 if(isset($_GET['fileget'])) return false;
00500
00501 $updateQuery = "SELECT `log_no` FROM `".MYSQL_DATABASE_PREFIX."log` WHERE `log_no` = 1";
00502 $result = mysql_query($updateQuery);
00503
00504 if(!$result || mysql_num_rows($result) == 0)
00505 $updateQuery = "INSERT INTO `".MYSQL_DATABASE_PREFIX."log` (`log_no`, `user_email`, `user_id`, `page_id`, `page_path`, `perm_module`, `perm_action`, `user_accessipaddress`)
00506 VALUES ( 1 , '".$userEmail."', ".$userId.", ".$pageId.", '".$pagePath."', '".$permModule."', '".$permAction."', '".$accessIpAddress."' );";
00507 else
00508 $updateQuery = "INSERT INTO `".MYSQL_DATABASE_PREFIX."log` (`log_no`, `user_email`, `user_id`, `page_id`, `page_path`, `perm_module`, `perm_action`, `user_accessipaddress`)
00509 ( SELECT (MAX(log_no)+1) , '".$userEmail."', ".$userId.", ".$pageId.", '".$pagePath."', '".$permModule."', '".$permAction."', '".$accessIpAddress."' FROM `".MYSQL_DATABASE_PREFIX."log`);";
00510
00511 if(!mysql_query($updateQuery))
00512 displayerror ("Error in logging info.");
00513 return true;
00514 }
00515
00516 #returns true for first access of every 10 day slab
00517 #select date > sub(now, diff(now,first)%10)
00518 function isRequiredMaintenance() {
00519 $requiredQuery = "SELECT log_datetime FROM `".MYSQL_DATABASE_PREFIX."log` WHERE
00520 log_datetime >
00521 SUBDATE( SUBTIME(NOW(),CURTIME()),(
00522 DATEDIFF(
00523 NOW(), (
00524 SELECT MIN(log_datetime) FROM `".MYSQL_DATABASE_PREFIX."log`
00525 )
00526 )
00527 )%10
00528 )
00529 LIMIT 0,1";
00530 $requiredResult = mysql_query($requiredQuery);
00531 if($requiredResult!=NULL && mysql_num_rows($requiredResult) == 0) {
00532 return true;
00533 }
00534 return false;
00535 }
00536
00542 function convertToHttps($url){
00543 if(!strncasecmp("https://",$url,8))
00544 return $url;
00545 else
00546 return str_replace("http://","https://",$url);
00547 }
00548
00554 function convertToHttp($url){
00555 if(!strncasecmp("http://",$url,7))
00556 return $url;
00557 else {
00558 $pos = strpos($url, '://');
00559 if($pos >= 0) {
00560 return 'http://' . substr($url, $pos + 3);
00561 }
00562 else return $url;
00563 }
00564 }
00565
00566 function verifyHttps($url){
00567 if(!strncasecmp("https://",$url,7))
00568 return true;
00569 else
00570 return false;
00571 }
00572
00573 function selfURI() {
00574 $s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
00575 $protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s;
00576 $port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
00577 return $protocol."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI'];
00578 }
00579
00580 function hostURL() {
00581 $s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
00582 $protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s;
00583 $location = substr($_SERVER['SCRIPT_NAME'],0,strpos($_SERVER['SCRIPT_NAME'],"/index.php"));
00584 $port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
00585 return $protocol."://".$_SERVER['SERVER_NAME'].$port.$location;
00586 }
00587
00599 function replaceAction($url,$old,$new) {
00600 $offset = strpos($url,"action=$old");
00601 $url = substr_replace($url,$new,$offset+7,strlen($old));
00602 return $url;
00603 }
00604
00605 function strleft($s1, $s2) {
00606 return substr($s1, 0, strpos($s1, $s2));
00607 }
00608
00609 function updateUserPassword($user_email,$user_passwd) {
00610 $query = "UPDATE `" . MYSQL_DATABASE_PREFIX . "users` SET `user_password`= '".md5($user_passwd)."' WHERE `" . MYSQL_DATABASE_PREFIX . "users`.`user_email` = '" . $user_email . "'";
00611 mysql_query($query) or die(mysql_error() . " in function updateUserPassword");
00612 }
00613
00614 function getUserInfo($user_email) {
00615 $query = "SELECT `user_id`,`user_password`,`user_name`,`user_activated`,`user_lastlogin`,`user_loginmethod` FROM `" . MYSQL_DATABASE_PREFIX . "users` WHERE `user_email` = '" . $user_email . "'";
00616 $result = mysql_query($query) or die(mysql_error() . " in function getUserInfo : common.lib.php");
00617 return mysql_fetch_assoc($result);
00618 }
00619
00620
00621
00622
00623 class messenger {
00624 var $vars;
00625
00626
00627 function assign_vars($vars) {
00628 $this->vars = (empty($this->vars)) ? $vars : $this->vars + $vars;
00629 }
00630
00631 function mailer($to,$mailtype,$key,$from) {
00632
00633 if(empty($from)) $from="from: ".CMS_TITLE." <".CMS_EMAIL.">";
00634
00635
00636 $mail_filepath= MAILPATH."/".LANGUAGE."/email/$mailtype.txt";
00637 $drop_header = '';
00638
00639 if(!file_exists($mail_filepath)) {displayerror(safe_html("NO FILE called $mail_filepath FOUND !"));}
00640 if(($data = @file_get_contents($mail_filepath)) === false) {displayerror("$mail_filepath FILE READ ERROR !");}
00641
00642
00643 $body = str_replace ("'", "\'", $data);
00644
00645 $body = preg_replace('#\{([a-z0-9\-_]*?)\}#is', "' . ((isset(\$this->vars['\\1'])) ? \$this->vars['\\1'] : '') . '", $body);
00646
00647 eval("\$body = '$body';");
00648
00649
00650 $match=array();
00651 if (preg_match('#^(Subject:(.*?))$#m', $body, $match)) {
00652
00653 $subject = (trim($match[2]) != '') ? trim($match[2]) : $subject ;
00654 $drop_header .= '[\r\n]*?' . preg_quote($match[1], '#');
00655 }
00656 if ($drop_header) {
00657
00658 $body = trim(preg_replace('#' . $drop_header . '#s', '', $body));
00659 }
00660
00661
00662
00663
00664
00665 global $debugSet;
00666 if($debugSet=="on")
00667 {
00668 displayinfo("Vars :".arraytostring($this->vars));
00669 displayinfo("Mail sent to $to from $from with subject $subject and body $body");
00670
00671 }
00672 return mail($to, $subject, $body, $from);
00673 }
00674
00675 }
00676
00677 function getAvailableTemplates()
00678 {
00679 $query="SELECT template_name FROM `".MYSQL_DATABASE_PREFIX."templates`";
00680 $result=mysql_query($query);
00681 $templates=array();
00682 $i=0;
00683 while($row=mysql_fetch_row($result))
00684 {
00685 $templates[$i]=$row[0];
00686 $i++;
00687 }
00688
00689 return $templates;
00690 }
00691
00692 function getAvailableModules()
00693 {
00694 $query="SELECT `module_name` FROM `".MYSQL_DATABASE_PREFIX."modules`";
00695 $result=mysql_query($query);
00696 $templates=array();
00697 $i=0;
00698 while($row=mysql_fetch_row($result))
00699 {
00700 $templates[$i]=$row[0];
00701 $i++;
00702 }
00703
00704 return $templates;
00705 }
00706
00707 function getTableFieldsName($tablename,$exclude="user_profilepic")
00708 {
00709 $query="SELECT * FROM ".MYSQL_DATABASE_PREFIX.$tablename;
00710 $result=mysql_query($query);
00711 $numfields=mysql_num_fields($result);
00712 $fields=array();
00713 $i=0;
00714 $exclist=explode(",",$exclude);
00715 while($i<$numfields)
00716 {
00717 $meta=mysql_fetch_field($result,$i);
00718 if($meta && array_search($meta->name,$exclist)===FALSE)
00719 {
00720 $fields[$i]=$meta->name;
00721 }
00722 $i++;
00723 }
00724 return $fields;
00725 }
00726
00727 function getNextUserId()
00728 {
00729 $query="SELECT max(user_id) FROM ".MYSQL_DATABASE_PREFIX."users";
00730 $result=mysql_query($query);
00731 $row=mysql_fetch_row($result);
00732 return $row[0]+1;
00733 }
00734
00735 function showBreadcrumbSubmenu()
00736 {
00737 $query="SELECT `value` FROM `".MYSQL_DATABASE_PREFIX."global` WHERE `attribute`='breadcrumb_submenu'";
00738 $result = mysql_fetch_row(mysql_query($query));
00739 return $result[0];
00740 }
00741
00742 function getFileActualPath($moduleType,$moduleComponentId,$fileName)
00743 {
00744 $query = "SELECT * FROM `" . MYSQL_DATABASE_PREFIX . "uploads` WHERE `upload_filename`= '". escape($fileName). "' AND `page_module` = '".escape($moduleType)."' AND `page_modulecomponentid` = '".escape($moduleComponentId)."'";
00745 $result = mysql_query($query) or die(mysql_error() . "upload L:85");
00746 $row = mysql_fetch_assoc($result);
00752 global $sourceFolder,$uploadFolder;
00753 $upload_fileid = $row['upload_fileid'];
00754
00755 $filename = str_repeat("0", (10 - strlen((string) $upload_fileid))) . $upload_fileid . "_" . $fileName;
00756
00757 $file = $sourceFolder . "/" . $uploadFolder . "/" . $moduleType . "/" . $filename;
00758 return $file;
00759 }
00763 function iscurlinstalled() {
00764 if (in_array ('curl', get_loaded_extensions())) {
00765 return true;
00766 }
00767 else{
00768 return false;
00769 }
00770 }
00771 $curl_message="cURL extention is not enabled/installed on your system. OpenID requires this extention to be loaded. Please enable cURL extention. (This can be done by uncommenting the line \"extension=curl.so\" in your php.ini file). OpenID can't be enabled until you enable cURL.";
00772 function censor_words($text)
00773 {
00774 $query = "SELECT `value` FROM `".MYSQL_DATABASE_PREFIX."global` WHERE `attribute` = 'censor_words'";
00775 $words = mysql_query($query);
00776 $words = mysql_fetch_row($words);
00777 $replace = "<b>CENSORED</b>";
00778 if($words[0]=='')
00779 return $text;
00780 else
00781 $res = preg_replace("/$words[0]/i",$replace,$text);
00782 return $res;
00783 }
00784