• Main Page
  • Related Pages
  • Namespaces
  • Data Structures
  • Files
  • Examples
  • File List
  • Globals

cms/common.lib.php

Go to the documentation of this file.
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         $page = (isset($_GET['page']))?$_GET['page']:"/";
00039         $file="";
00040         if(strripos($str,"./")!=strripos($str,"../")) {
00041                 $file= substr($str,strripos($str,"/")+1);
00042                 $str = substr($str,0,strripos($str,"/")+1);
00043         }
00044         if(substr($str,0,3)=="../"){
00045                 $page = substr($page,0,strripos($page,"/")-1);
00046                 $page = substr($page,0,strripos($page,"/")+1);
00047         }
00048         if(strpos($str,"../")) {
00049                 $pos = strpos($str,"../");
00050                 $page = substr($page,0,strripos($page,"/")-1);
00051                 $page = substr($page,0,strripos($page,"/")+1);
00052                 $str = substr($str,0,$pos) . substr($str,$pos+3);
00053                 //echo $page." -<br>";
00054         }
00055         $str = ereg_replace("^./",$urlRequestRoot."/?page=".$page,$str);
00056         $str = ereg_replace("^../",$urlRequestRoot."/?page=".$page,$str);
00057         $str = ereg_replace("\+","&action=",$str);
00058         $str = ereg_replace("^".hostURL()."/home",hostURL()."/?page=",$str);
00059         $str = ereg_replace("^".$urlRequestRoot."/home","./?page=",$str);
00060         if($file!="")
00061                 $str .= "&fileget=".$file;
00062         return $str;
00063 }
00064 
00065 function convertUrif($x,$attr) {
00066         $y="";
00067         $z = $x;
00068         $len=strlen($attr);
00069         if($len!=0)
00070         while(1) {
00071                 $z=$x;
00072                 $count=0;
00073                 if(strpos($x,$attr))
00074                         $y .= substr($x,$count,strpos($x,$attr)+$len+2);
00075                 else
00076                         $y .= substr($x,$count);
00077                 $count=strpos($x,$attr)+$len+2;
00078                 if($count==$len+2) break;
00079                 $x = substr($x,$count);
00080                 //echo "<br>" . substr($x,0,strpos($x,"\"")) . " => " . prettyurl(substr($x,0,strpos($x,"\"")));
00081                 $count1=(strpos($x,"\"")==-1||!strpos($x,"\""))?10000:strpos($x,"\"");
00082                 $count2=(strpos($x,"'")==-1||!strpos($x,"'"))?10000:strpos($x,"'");
00083                 $count=($count1<$count2)?$count1:$count2;
00084 //              echo substr($x,0,$count) ." => ". prettyurl(substr($x,0,$count)). "<br>";
00085                 $y .= prettyurl(substr($x,0,$count));
00086                 $x = substr($x,$count);
00087         }
00088         return $y;
00089 }
00090 function convertUri($x) {
00091         $y="";
00092         $z = $x;
00093         $hsref=array("href","action","src");
00094         foreach($hsref as $href) {
00095         $len=strlen($href);
00096         if($len!=0)
00097         $z=convertUrif($z,$href);
00098         }
00099         return $z;
00100 }
00101 
00106 function escape($query)
00107 {
00108         if (!get_magic_quotes_gpc()) {
00109             $query = addslashes($query);
00110         }
00111         return $query;
00112 }
00113 
00116 function URLSecurityCheck($getvars)
00117 {
00118         foreach($getvars as $var=>$val)
00119         {
00120                 if(preg_match("/[<>]/",$var) || preg_match("/[<>]/",$val)) 
00121                         return true;
00122         }
00123         return false;
00124 }
00125 
00128 function safe_html($html)
00129 {
00130         return htmlspecialchars(strip_tags($html));
00131 }
00136 function reloadTemplates()
00137 {
00138         global $sourceFolder;
00139         global $templateFolder;
00140         $templates=scandir($sourceFolder.'/'.$templateFolder);
00141         $res="<table>";
00142         $temparrr=array();
00143         foreach($templates as $tdir)
00144         {
00145                 $tdir=escape($tdir);
00146                 if(is_dir($sourceFolder.'/'.$templateFolder.'/'.$tdir) && $tdir[0]!='.' && $tdir!="common")
00147                 {
00148                         $query="INSERT IGNORE INTO `".MYSQL_DATABASE_PREFIX."templates` (`template_name`) VALUES ('$tdir')";
00149                         mysql_query($query);
00150                         if(mysql_affected_rows())
00151                                 $res.="<tr><td>$tdir</td><td><b>Found new template! Installed.</b></td></tr>";
00152                         else $res.="<tr><td>$tdir</td><td>OK</td></tr>";
00153                         $temparr[]=$tdir;
00154                 }
00155                 
00156         }
00157         $templist=join("','",$temparr); 
00158         $query="DELETE FROM `".MYSQL_DATABASE_PREFIX."templates` WHERE `template_name` NOT IN ('$templist')";
00159         mysql_query($query);
00160         if($delc=mysql_affected_rows()>0)
00161                 $res.="<tr><td colspan=2>$delc template(s) removed from database</td></tr>";
00162         return $res."</table>";
00163 }
00164 
00165 function reloadModules()
00166 {
00167         global $sourceFolder;
00168         global $moduleFolder;
00169         $modules=scandir($sourceFolder.'/'.$moduleFolder);
00170         $res="<table>";
00171         $modarr=array();
00172         foreach($modules as $module)
00173         {
00174                 $module=escape($module);
00175                 $ext=substr($module,-8);
00176                 $module=substr($module,0,-8);
00177                 if($ext==".lib.php")
00178                 {
00179                         $query="INSERT IGNORE INTO `".MYSQL_DATABASE_PREFIX."modules` (`module_name`) VALUES ('$module')";
00180                         mysql_query($query);
00181                         if(mysql_affected_rows())
00182                                 $res.="<tr><td>$module</td><td><b>Found new module! Installed.</b></td></tr>";
00183                         else $res.="<tr><td>$module</td><td>OK</td></tr>";
00184                         $modarr[]=$module;
00185                 }
00186                 
00187         }
00188         $modlist=join("','",$modarr);   
00189         $query="DELETE FROM `".MYSQL_DATABASE_PREFIX."modules` WHERE `module_name` NOT IN ('$modlist')";
00190         mysql_query($query);
00191         if($delc=mysql_affected_rows()>0)
00192                 $res.="<tr><td colspan=2>$delc module(s) removed from database</td></tr>";
00193         return $res."</table>";
00194 }
00195 
00196 
00199 function getGlobalSettings()
00200 {
00201         $query="SELECT * FROM `".MYSQL_DATABASE_PREFIX."global`";
00202         $result=mysql_query($query);
00203         $globals=array();
00204         while($row=mysql_fetch_array($result))
00205                 $globals[$row['attribute']]=$row['value'];
00206         return $globals;
00207 }
00208 
00211 function setGlobalSettings($globals)
00212 {
00213         
00214         foreach($globals as $var => $val)
00215         {
00216                 setGlobalSettingByAttribute($var,$val);
00217         }
00218 }
00219 
00222 function setGlobalSettingByAttribute($attribute,$value)
00223 {
00224         if(mysql_num_rows(mysql_query("SELECT `value` FROM `" . MYSQL_DATABASE_PREFIX . "global` WHERE `attribute` = '$attribute'")) != 0)
00225                 $query="UPDATE `".MYSQL_DATABASE_PREFIX."global` SET `value`='$value' WHERE `attribute`='$attribute'";
00226         else
00227                 $query="INSERT INTO `" . MYSQL_DATABASE_PREFIX . "global`(`attribute`,`value`) VALUES('{$attribute}','{$value}')";
00228         mysql_query($query);    
00229 }
00230 
00232 function displayerror($error_desc) {
00233         global $ERRORSTRING;
00234         $ERRORSTRING .= "<div class=\"cms-error\">$error_desc</div>";
00235 }
00236 
00238 function displayinfo($error_desc) {
00239         global $INFOSTRING;
00240         $INFOSTRING .= "<div class=\"cms-info\">$error_desc</div>";
00241         
00242 }
00243 
00245 function displaywarning($error_desc) {
00246         global $WARNINGSTRING;
00247         $WARNINGSTRING .= "<div class=\"cms-warning\">$error_desc</div>";
00248 }
00249 
00255  function arraytostring($array) {
00256         $text = "array(";
00257         $count=count($array);
00258         $x=0;
00259         foreach ($array as $key=>$value) {
00260                 $x++;
00261                 if (is_array($value)) {
00262                         if(substr($text,-1,1)==')')
00263                                 $text .= ',';
00264                         $text.='"'.$key.'"'."=>".arraytostring($value);
00265                         continue;
00266                 }
00267 
00268                 $text.="\"$key\"=>\"$value\"";
00269                 if ($count!=$x)
00270                         $text.=",";
00271         }
00272 
00273         $text.=")";
00274 
00275         if(substr($text, -4, 4)=='),),')$text.='))';
00276                 return $text;
00277 }
00278 
00284 function getUserName($userId) {
00285         if($userId <= 0) return "Anonymous";
00286         $query = "SELECT `user_name` FROM `".MYSQL_DATABASE_PREFIX."users` WHERE `user_id` = ".$userId;
00287         $result = mysql_query($query);
00288         $row = mysql_fetch_row($result);
00289         return $row[0];
00290 }
00291 
00297 function getUserFullName($userId) {
00298         if($userId <= 0) return "Anonymous";
00299         $query = "SELECT `user_fullname` FROM `".MYSQL_DATABASE_PREFIX."users` WHERE `user_id` = ".$userId;
00300         $result = mysql_query($query);
00301         $row = mysql_fetch_row($result);
00302         return $row[0];
00303 }
00304 
00310 function getUserFullNameFromEmail($email) {
00311         $query = "SELECT `user_fullname` FROM `".MYSQL_DATABASE_PREFIX."users` WHERE `user_email` = '".$email."'";
00312         $result = mysql_query($query);
00313         
00314         $row = mysql_fetch_row($result);
00315         return $row[0];
00316 }
00317 
00323 function getUserEmail($userId) {
00324         if($userId <= 0) return 'Anonymous';
00325         $query="SELECT `user_email` FROM `".MYSQL_DATABASE_PREFIX."users` WHERE `user_id` = ".$userId;
00326         $result = mysql_query($query);
00327         $row= mysql_fetch_row($result);
00328         return $row[0];
00329 }
00330 
00336 function getUserIdFromEmail($email) {
00337         if(strtolower($email) == 'anonymous') return 0;
00338         $query = 'SELECT `user_id` FROM `'.MYSQL_DATABASE_PREFIX."users` WHERE `user_email` = '".$email."'";
00339         $result = mysql_query($query);
00340         $row = mysql_fetch_row($result);
00341         return $row[0];
00342 }
00343 
00344 
00350 function getEffectivePageModule($pageId) {
00351         $pagemodule_query = "SELECT `page_module`, `page_modulecomponentid` FROM `".MYSQL_DATABASE_PREFIX."pages` WHERE `page_id`=".$pageId;
00352         $pagemodule_result = mysql_query($pagemodule_query);
00353         $pagemodule_row = mysql_fetch_assoc($pagemodule_result);
00354         if($pagemodule_row['page_module']=="link")      return (getEffectivePageModule($pagemodule_row['page_modulecomponentid']));
00355         return $pagemodule_row['page_module'];
00356 }
00357 
00363 function getNextModuleComponentId($modulename) {
00364                 $moduleComponentIdQuery = "SELECT MAX(page_modulecomponentid) FROM `".MYSQL_DATABASE_PREFIX."_pages` WHERE `page_module`='$modulename'";
00365                 $moduleComponentIdResult = mysql_query($moduleComponentIdQuery);
00366                 if(!$moduleComponentIdResult)
00367                         return 0;
00368                 $moduleComponentIdRow = mysql_fetch_row($moduleComponentIdResult);
00369                 if(!is_null($moduleComponentIdRow[0]))
00370                         return $moduleComponentIdRow[0] + 1;
00371                 return 1;
00372 }
00373 
00374 
00380 function getDereferencedPageId($pageId) {
00381         $pagemodule_query = "SELECT `page_module`, `page_modulecomponentid` FROM `".MYSQL_DATABASE_PREFIX."pages` WHERE `page_id`=".$pageId;
00382         $pagemodule_result = mysql_query($pagemodule_query);
00383         $pagemodule_row = mysql_fetch_assoc($pagemodule_result);
00384         if($pagemodule_row['page_module']=="link") {
00385                 return getDereferencedPageId($pagemodule_row['page_modulecomponentid']);
00386         }
00387         return $pageId;
00388 }
00389 
00390 
00391 
00392 function getPagePath($pageid) {
00393         $pagepath = '';
00394 
00395         while($pageid != 0) {
00396                 $pathQuery = "SELECT `page_parentid`, `page_name` FROM `".MYSQL_DATABASE_PREFIX."pages` WHERE `page_id` = ".$pageid;
00397                 $pathResult = mysql_query($pathQuery);
00398                 $pathResultRow = mysql_fetch_row($pathResult);
00399 
00400                 $pageid = $pathResultRow[0];
00401                 $pagepath = $pathResultRow[1]."/$pagepath";
00402         }
00403 
00404         return "/$pagepath";
00405 }
00406 
00407 function getPageModule($pageId) {
00408         $pagemodule_query = "SELECT `page_module` FROM `".MYSQL_DATABASE_PREFIX."pages` WHERE `page_id`=".$pageId;
00409         $pagemodule_result = mysql_query($pagemodule_query);
00410         $pagemodule_row = mysql_fetch_assoc($pagemodule_result);
00411         return $pagemodule_row['page_module'];
00412 }
00413 function getPageTitle($pageId) {
00414         $pagemodule_query = "SELECT `page_title` FROM `".MYSQL_DATABASE_PREFIX."pages` WHERE `page_id`=".$pageId;
00415         $pagemodule_result = mysql_query($pagemodule_query);
00416         $pagemodule_row = mysql_fetch_assoc($pagemodule_result);
00417         return $pagemodule_row['page_title'];
00418 }
00419 
00420 
00421 
00427 function getParentPage($pageid) {
00428         $pageparent_query = "SELECT `page_parentid` FROM `".MYSQL_DATABASE_PREFIX."pages` WHERE `page_id`=".$pageid;
00429         $pageparent_result = mysql_query($pageparent_query);
00430         $pageparent_row = mysql_fetch_assoc($pageparent_result);
00431         return $pageparent_row['page_parentid'];
00432 }
00433 function getPageInfo($pageid) {
00434         $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;
00435         $pageparent_result = mysql_query($pageparent_query);
00436         $pageparent_row = mysql_fetch_assoc($pageparent_result);
00437         return $pageparent_row;
00438 }
00439 function getPageModuleComponentId($pageid) {
00440         $pageparent_query = "SELECT `page_modulecomponentid` FROM `".MYSQL_DATABASE_PREFIX."pages` WHERE `page_id`=".$pageid;
00441         $pageparent_result = mysql_query($pageparent_query);
00442         $pageparent_row = mysql_fetch_assoc($pageparent_result);
00443         return $pageparent_row['page_modulecomponentid'];
00444 }
00445 function getPageIdFromModuleComponentId($moduleName,$moduleComponentId) {
00446         $moduleid_query = "SELECT `page_id` FROM `".MYSQL_DATABASE_PREFIX."pages` WHERE `page_module` = '".$moduleName."' AND `page_modulecomponentid` = ".$moduleComponentId;
00447         $moduleid_result = mysql_query($moduleid_query);
00448         $moduleid_row = mysql_fetch_assoc($moduleid_result);
00449         return $moduleid_row['page_id'];
00450 }
00451 
00452 function getModuleComponentIdFromPageId($pageId, $moduleName) {
00453         $moduleIdQuery = 'SELECT `page_modulecomponentid` FROM `' . MYSQL_DATABASE_PREFIX . "pages` WHERE `page_module` = '".$moduleName."' AND `page_id` = ".$pageId;
00454         $moduleIdResult = mysql_query($moduleIdQuery);
00455         $moduleIdRow = mysql_fetch_row($moduleIdResult);
00456         return $moduleIdRow[0];
00457 }
00464 function getPageDepth($pageId) {
00465         $depth = 1;
00466         if(getParentPage($pageId) == 0)
00467                 return 0;
00468         else
00469                 return $depth + getPageDepth(getParentPage($pageId));
00470 }
00471 
00472 function logInfo ($userEmail, $userId, $pageId, $pagePath, $permModule, $permAction, $accessIpAddress) {
00473         if(isRequiredMaintenance()) {
00474                 require_once("maintenance.lib.php");
00475                 runMaintenance();
00476         }
00477         if($pageId === false) $pageId = -1;
00478         if(isset($_GET['fileget']))     return false;
00479 
00480         $updateQuery = "SELECT `log_no` FROM `".MYSQL_DATABASE_PREFIX."log` WHERE `log_no` = 1";
00481         $result = mysql_query($updateQuery);
00482         
00483         if(!$result || mysql_num_rows($result) == 0)
00484                 $updateQuery = "INSERT INTO `".MYSQL_DATABASE_PREFIX."log` (`log_no`, `user_email`, `user_id`, `page_id`, `page_path`, `perm_module`, `perm_action`, `user_accessipaddress`)
00485         VALUES ( 1  , '".$userEmail."', ".$userId.", ".$pageId.", '".$pagePath."', '".$permModule."', '".$permAction."', '".$accessIpAddress."' );";
00486     else
00487         $updateQuery = "INSERT INTO `".MYSQL_DATABASE_PREFIX."log` (`log_no`, `user_email`, `user_id`, `page_id`, `page_path`, `perm_module`, `perm_action`, `user_accessipaddress`)
00488         ( SELECT (MAX(log_no)+1)  , '".$userEmail."', ".$userId.", ".$pageId.", '".$pagePath."', '".$permModule."', '".$permAction."', '".$accessIpAddress."' FROM  `".MYSQL_DATABASE_PREFIX."log`);";
00489     
00490     if(!mysql_query($updateQuery))
00491         displayerror ("Error in logging info.");
00492     return true;
00493 }
00494 
00495 #returns true for first access of every 10 day slab
00496 #select date > sub(now, diff(now,first)%10)
00497 function isRequiredMaintenance() {
00498         $requiredQuery = "SELECT log_datetime FROM `".MYSQL_DATABASE_PREFIX."log` WHERE
00499 log_datetime >
00500 SUBDATE( SUBTIME(NOW(),CURTIME()),(
00501                 DATEDIFF( 
00502                         NOW(), ( 
00503                                 SELECT MIN(log_datetime) FROM `".MYSQL_DATABASE_PREFIX."log`
00504                                 ) 
00505                         )
00506                 )%10 
00507                 )
00508 LIMIT 0,1";
00509         $requiredResult = mysql_query($requiredQuery);
00510         if($requiredResult!=NULL && mysql_num_rows($requiredResult) == 0) { 
00511                 return true;
00512         }
00513         return false;
00514 }
00515 
00521 function convertToHttps($url){
00522         if(!strncasecmp("https://",$url,8))
00523                 return $url;
00524         else
00525                 return str_replace("http://","https://",$url);
00526 }
00527 
00533 function convertToHttp($url){
00534         if(!strncasecmp("http://",$url,7))
00535                 return $url;
00536         else {
00537                 $pos = strpos($url, '://');
00538                 if($pos >= 0) {
00539                         return 'http://' . substr($url, $pos + 3);
00540                 }
00541                 else return $url;
00542         }
00543 }
00544 
00545 function verifyHttps($url){
00546         if(!strncasecmp("https://",$url,7))
00547                 return true;
00548         else 
00549                 return false;
00550 }
00551 
00552 function selfURI() {
00553     $s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
00554     $protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s;
00555     $port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
00556         return $protocol."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI'];
00557 }
00558 
00559 function hostURL() {
00560     $s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
00561     $protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s;
00562     $location = substr($_SERVER['SCRIPT_NAME'],0,strpos($_SERVER['SCRIPT_NAME'],"/index.php"));
00563     $port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
00564         return $protocol."://".$_SERVER['SERVER_NAME'].$port.$location;
00565 }
00566 
00578 function replaceAction($url,$old,$new) {
00579    $offset = strpos($url,"action=$old");
00580    $url = substr_replace($url,$new,$offset+7,strlen($old));
00581    return $url;
00582 }
00583 
00584 function strleft($s1, $s2) {
00585     return substr($s1, 0, strpos($s1, $s2));
00586 }
00587 
00588 function updateUserPassword($user_email,$user_passwd) {
00589         $query = "UPDATE `" . MYSQL_DATABASE_PREFIX . "users` SET `user_password`= '".md5($user_passwd)."' WHERE `" . MYSQL_DATABASE_PREFIX . "users`.`user_email` = '" . $user_email . "'";
00590                                                         mysql_query($query) or die(mysql_error() . " in function updateUserPassword");
00591 }
00592 
00593 function getUserInfo($user_email) {
00594         $query = "SELECT `user_id`,`user_password`,`user_name`,`user_activated`,`user_lastlogin`,`user_loginmethod` FROM `" . MYSQL_DATABASE_PREFIX . "users` WHERE `user_email` = '" . $user_email . "'";
00595         $result = mysql_query($query) or die(mysql_error() . " in function getUserInfo : common.lib.php");
00596         return mysql_fetch_assoc($result);
00597 }
00598 
00599 /*
00600 @todo should be moved to email.lib.php ,or is it really used ?
00601 */
00602 class messenger {
00603                 var $vars;
00604                 
00605                         
00606                 function assign_vars($vars) {
00607                                 $this->vars = (empty($this->vars)) ? $vars : $this->vars + $vars;
00608                                 }
00609                                 
00610                 function mailer($to,$mailtype,$key,$from) {
00611                                 
00612                                 if(!isset($from)) $from="from: ".CMS_TITLE." <".CMS_EMAIL.">";
00613                                 
00614                                 //init mail template file path
00615                                 $mail_filepath= MAILPATH."/".LANGUAGE."/email/$mailtype.txt"; 
00616                                 $drop_header = '';
00617                                 
00618                                 if(!file_exists($mail_filepath)) {displayerror(safe_html("NO FILE called $mail_filepath FOUND !"));} //check file
00619                                 if(($data = @file_get_contents($mail_filepath)) === false) {displayerror("$mail_filepath FILE READ ERROR !");} //read contents
00620                                 
00621                                 //escape quotes
00622                                 $body = str_replace ("'", "\'", $data); 
00623                                 //replace the vars in file content with those defined
00624                                 $body = preg_replace('#\{([a-z0-9\-_]*?)\}#is', "' . ((isset(\$this->vars['\\1'])) ? \$this->vars['\\1'] : '') . '", $body);
00625                                 //Make the content parseable
00626                                 eval("\$body = '$body';");
00627                                 
00628                                 //Extract the SUBJECT from mail content
00629                                 $match=array();
00630                                 if (preg_match('#^(Subject:(.*?))$#m', $body, $match)) {
00631                                         //Find SUBJECT
00632                                         $subject = (trim($match[2]) != '') ? trim($match[2]) :  $subject ;
00633                                         $drop_header .= '[\r\n]*?' . preg_quote($match[1], '#');
00634                                 }
00635                                 if ($drop_header) {
00636                                         //Remove SUBJECT from BODY of mail
00637                                         $body = trim(preg_replace('#' . $drop_header . '#s', '', $body));
00638                                 }
00639                                 
00640                                 //Debug info
00641                                 //echo displayinfo($from.' <br> '.$to.' <br> '.$subject.' <br> '.$body);
00642                                 
00643                                 //Send mail 
00644                                 global $debugSet;
00645                                 if($debugSet=="on")
00646                                 {
00647                                         displayinfo("Vars :".arraytostring($this->vars));
00648                                         displayinfo("Mail sent to $to from $from with subject $subject and body $body");
00649                                         
00650                                 }
00651                                 return mail($to, $subject, $body, $from);
00652                         }
00653                                 
00654         }
00655 
00656 function getAvailableTemplates()
00657 {
00658         $query="SELECT template_name FROM `".MYSQL_DATABASE_PREFIX."templates`";
00659         $result=mysql_query($query);
00660         $templates=array();
00661         $i=0;
00662         while($row=mysql_fetch_row($result))
00663         {
00664                 $templates[$i]=$row[0];
00665                 $i++;
00666         }
00667         
00668         return $templates;
00669 }
00670 
00671 function getAvailableModules()
00672 {
00673         $query="SELECT `module_name` FROM `".MYSQL_DATABASE_PREFIX."modules`";
00674         $result=mysql_query($query);
00675         $templates=array();
00676         $i=0;
00677         while($row=mysql_fetch_row($result))
00678         {
00679                 $templates[$i]=$row[0];
00680                 $i++;
00681         }
00682         
00683         return $templates;
00684 }
00685 
00686 function getTableFieldsName($tablename,$exclude="user_profilepic")
00687 {
00688         $query="SELECT * FROM ".MYSQL_DATABASE_PREFIX.$tablename;
00689         $result=mysql_query($query);
00690         $numfields=mysql_num_fields($result);
00691         $fields=array();
00692         $i=0;
00693         $exclist=explode(",",$exclude);
00694         while($i<$numfields)
00695         {
00696                 $meta=mysql_fetch_field($result,$i);
00697                 if($meta && array_search($meta->name,$exclist)===FALSE)
00698                 {
00699                         $fields[$i]=$meta->name;
00700                 }
00701                 $i++;
00702         }
00703         return $fields;
00704 }
00705 
00706 function getNextUserId()
00707 {
00708         $query="SELECT max(user_id) FROM ".MYSQL_DATABASE_PREFIX."users";
00709         $result=mysql_query($query);
00710         $row=mysql_fetch_row($result);
00711         return $row[0]+1;
00712 }
00713 
00714 function showBreadcrumbSubmenu()
00715 {
00716         $query="SELECT `value` FROM `".MYSQL_DATABASE_PREFIX."global` WHERE `attribute`='breadcrumb_submenu'";
00717         $result = mysql_fetch_row(mysql_query($query));
00718         return $result[0];
00719 }
00720 
00721 function getFileActualPath($moduleType,$moduleComponentId,$fileName)
00722 {
00723         $query = "SELECT * FROM `" . MYSQL_DATABASE_PREFIX . "uploads` WHERE  `upload_filename`= '". escape($fileName). "' AND `page_module` = '".escape($moduleType)."' AND `page_modulecomponentid` = '".escape($moduleComponentId)."'";
00724         $result = mysql_query($query) or die(mysql_error() . "upload L:85");
00725         $row = mysql_fetch_assoc($result);
00731         global $sourceFolder,$uploadFolder;
00732         $upload_fileid = $row['upload_fileid'];
00733         
00734         $filename = str_repeat("0", (10 - strlen((string) $upload_fileid))) . $upload_fileid . "_" . $fileName;
00735         
00736         $file = $sourceFolder . "/" . $uploadFolder . "/" . $moduleType . "/" . $filename;
00737         return $file;
00738 }
00742 function iscurlinstalled() {
00743   if  (in_array  ('curl', get_loaded_extensions())) {
00744     return true;
00745   }
00746   else{
00747     return false;
00748   }
00749 }
00750 $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.";
00751 function censor_words($text)
00752 {
00753         $query = "SELECT `value` FROM `".MYSQL_DATABASE_PREFIX."global` WHERE `attribute` = 'censor_words'";
00754         $words = mysql_query($query);
00755         $words = mysql_fetch_row($words);
00756         $replace = "<b>CENSORED</b>";
00757         if($words[0]=='')
00758                 return $text;
00759         else
00760                 $res = preg_replace("/$words[0]/i",$replace,$text);
00761         return $res;
00762 }

Generated on Sun Jan 2 2011 04:55:31 for Pragyan CMS by  doxygen 1.7.1