Page MenuHomeIn-Portal Phabricator

in-portal
No OneTemporary

File Metadata

Created
Sat, Jun 21, 7:45 AM

in-portal

Index: branches/unlabeled/unlabeled-1.26.2/kernel/units/email_events/email_events_event_handler.php
===================================================================
--- branches/unlabeled/unlabeled-1.26.2/kernel/units/email_events/email_events_event_handler.php (nonexistent)
+++ branches/unlabeled/unlabeled-1.26.2/kernel/units/email_events/email_events_event_handler.php (revision 6436)
@@ -0,0 +1,271 @@
+<?php
+
+ class EmailEventsEventsHandler extends InpDBEventHandler
+ {
+
+ /**
+ * Allows to override standart permission mapping
+ *
+ */
+ function mapPermissions()
+ {
+ parent::mapPermissions();
+ $permissions = Array(
+ 'OnFrontOnly' => Array('self' => 'edit'),
+ 'OnSaveSelected' => Array('self' => 'view'),
+ );
+ $this->permMapping = array_merge($this->permMapping, $permissions);
+ }
+
+ /**
+ * Changes permission section to one from REQUEST, not from config
+ *
+ * @param kEvent $event
+ */
+ function CheckPermission(&$event)
+ {
+ $module = $this->Application->GetVar('module');
+ $module = explode(':', $module, 2);
+
+ if (count($module) == 1) {
+ $main_prefix = $this->Application->findModule('Name', $module[0], 'Var');
+ }
+ else {
+ $exceptions = Array('Category' => 'c', 'Users' => 'u');
+ $main_prefix = $exceptions[ $module[1] ];
+ }
+ $section = $this->Application->getUnitOption($main_prefix.'.email', 'PermSection');
+
+ $event->setEventParam('PermSection', $section);
+ return parent::CheckPermission($event);
+ }
+
+ /**
+ * Apply any custom changes to list's sql query
+ *
+ * @param kEvent $event
+ * @access protected
+ * @see OnListBuild
+ */
+ function SetCustomQuery(&$event)
+ {
+ if ($event->Special == 'module') {
+ $object =& $event->getObject();
+ $module = $this->Application->GetVar('module');
+ $object->addFilter('module_filter', '%1$s.Module = '.$this->Conn->qstr($module));
+ }
+ }
+
+ /**
+ * Sets status Front-End Only to selected email events
+ *
+ * @param kEvent $event
+ */
+ function OnFrontOnly(&$event)
+ {
+ $ids = implode(',', $this->StoreSelectedIDs($event));
+
+ $table_name = $this->Application->getUnitOption($event->Prefix, 'TableName');
+ $sql = 'UPDATE '.$table_name.'
+ SET Enabled = 2
+ WHERE EventId IN ('.$ids.')';
+ $this->Conn->Query($sql);
+ }
+
+ /**
+ * Sets selected user to email events selected
+ *
+ * @param kEvent $event
+ */
+ function OnSelectUser(&$event)
+ {
+ $items_info = $this->Application->GetVar('u');
+ if ($items_info) {
+ $user_id = array_shift( array_keys($items_info) );
+
+ $ids = $this->Application->RecallVar($event->getPrefixSpecial().'_selected_ids');
+ $id_field = $this->Application->getUnitOption($event->Prefix, 'IDField');
+ $table_name = $this->Application->getUnitOption($event->Prefix, 'TableName');
+ $sql = 'UPDATE '.$table_name.'
+ SET '.$this->Application->RecallVar('dst_field').' = '.$user_id.'
+ WHERE '.$id_field.' IN ('.$ids.')';
+ $this->Conn->Query($sql);
+ }
+
+ $this->finalizePopup($event);
+ }
+
+ /**
+ * Saves selected ids to session
+ *
+ * @param kEvent $event
+ */
+ function OnSaveSelected(&$event)
+ {
+ $this->StoreSelectedIDs($event);
+ }
+
+ /**
+ * Raised when email message shoul be sent
+ *
+ * @param kEvent $event
+ */
+ function OnEmailEvent(&$event){
+
+ $email_event = $event->getEventParam('EmailEventName');
+ if( strpos($email_event, '_') !== false )
+ {
+ trigger_error('<span class="debug_error">Invalid email event name</span> <b>'.$email_event.'</b>. Use only <b>UPPERCASE characters</b> and <b>dots</b> as email event names', E_USER_ERROR);
+ }
+
+ $to_user_id = $event->getEventParam('EmailEventToUserId');
+ $email_event_type = $event->getEventParam('EmailEventType');
+
+ $message_object = &$this->Application->recallObject('emailmessages', null, Array('skip_autoload' => true));
+ $event_table = $this->Application->getUnitOption('emailevents', 'TableName');
+
+ $event_object =& $event->getObject( Array('skip_autoload' => true) );
+ $event_object->Load(array('Event'=>$email_event, 'Type'=>$email_event_type));
+
+ $event_id = $event_object->GetDBField('EventId');
+ $from_user_id = $event_object->GetDBField('FromUserId');
+ $type = $event_object->GetDBField('Type');
+ $enabled = $event_object->GetDBField('Enabled');
+
+ $direct_send_params = $event->getEventParam('DirectSendParams');
+
+ if ($enabled == 0) return; // disabled event
+ if ($enabled == 2 && $this->Application->IsAdmin() ) return; // event only for front-end
+
+ if ($type == 1){
+ // For type "Admin" recipient is a user from field FromUserId which means From/To user in Email events list
+ $to_user_id = $from_user_id;
+ $from_user_id = -1;
+ }
+ /*
+ if (!($to_user_id > 0) && !$direct_send_params){
+ // if we can not determine recepient we will not send email
+ return;
+ }
+ */
+ //Parse Message Template
+ $message_object->Load(array('EventId' => $event_id, 'LanguageId' => $this->Application->GetVar('m_lang')));
+ $message_type = $message_object->GetDBField('MessageType');
+
+ $email_object = &$this->Application->recallObject('kEmailMessage');
+ $email_object->Clear();
+
+ // add footer: begin
+ $sql = 'SELECT em.Template
+ FROM '.$message_object->TableName.' em
+ LEFT JOIN '.TABLE_PREFIX.'Events e ON e.EventId = em.EventId
+ WHERE em.LanguageId = '.$message_object->GetDBField('LanguageId').' AND e.Event = "COMMON.FOOTER"';
+ $footer = explode("\n\n", $this->Conn->GetOne($sql));
+ $footer = $message_object->GetDBField('MessageType') == 'text' ? $email_object->convertHTMLtoPlain($footer[1]) : $footer[1];
+ $message_template = $message_object->GetDBField('Template')."\r\n".$footer;
+ // add footer: end
+
+ $from_user_object = &$this->Application->recallObject('u.email-from', null, Array('skip_autoload' => true));
+ $from_user_object->Load($from_user_id);
+ // here if we don't have from_user loaded, it takes a default user from config values
+ if ( $from_user_object->IsLoaded() ) {
+ $from_user_email = $from_user_object->GetDBField('Email');
+ $from_user_name = trim($from_user_object->GetDBField('FirstName').' '.$from_user_object->GetDBField('LastName'));
+ }
+ else {
+ $from_user_email = $this->Application->ConfigValue('Smtp_AdminMailFrom');
+ }
+
+ $to_user_object = &$this->Application->recallObject('u.email-to', null, Array('skip_autoload' => true));
+ $to_user_object->Load($to_user_id);
+ $to_user_email = $to_user_object->GetDBField('Email');
+ $to_user_name = trim($to_user_object->GetDBField('FirstName').' '.$to_user_object->GetDBField('LastName'));
+
+ if($direct_send_params){
+ $to_user_email = ( $direct_send_params['to_email'] ? $direct_send_params['to_email'] : $to_user_email );
+ $to_user_name = ( $direct_send_params['to_name'] ? $direct_send_params['to_name'] : $to_user_name );
+ $from_user_email = ( $direct_send_params['from_email'] ? $direct_send_params['from_email'] : $from_user_email);
+ $from_user_name = ( $direct_send_params['from_name'] ? $direct_send_params['from_name'] : $from_user_name );
+ $message_body_additional = $direct_send_params['message'];
+ }
+
+ $to_user_email = $to_user_email ? $to_user_email : $this->Application->ConfigValue('Smtp_AdminMailFrom');
+
+ $this->Application->makeClass('Template');
+ $this->Application->InitParser();
+ $parser_params = $this->Application->Parser->Params;
+ $direct_send_params['message_text'] = $message_body_additional;
+ $this->Application->Parser->Params = array_merge_recursive2($this->Application->Parser->Params, $direct_send_params);
+ $message_template = str_replace('<inp:touser _Field', '<inp2:u_Field name', $message_template);
+ $message_template = $this->Application->Parser->Parse($message_template, 'email_template', 0);
+ $this->Application->Parser->Params = $parser_params;
+
+ $message_template = str_replace("\r", "", $message_template);
+
+ list($message_headers, $message_body) = explode("\n\n", $message_template, 2);
+
+
+ $email_object->setFrom($from_user_email, $from_user_name);
+ $email_object->setTo($to_user_email, $to_user_name);
+ $email_object->setSubject('Mail message');
+
+ $email_object->setHeaders($message_headers);
+
+ if ($message_type == 'html'){
+ $email_object->setHTMLBody($message_body);
+ }
+ else {
+ $email_object->setTextBody($message_body);
+ }
+
+ $smtp_object = &$this->Application->recallObject('kSmtpClient');
+ $smtp_object->debug = $this->Application->isDebugMode() && constOn('DBG_SMTP');
+
+ $smtp_server = $this->Application->ConfigValue('Smtp_Server');
+ $smtp_port = $this->Application->ConfigValue('Smtp_Port');
+
+ $smtp_authenticate = $this->Application->ConfigValue('Smtp_Authenticate');
+ if ($smtp_authenticate){
+ $smtp_user = $this->Application->ConfigValue('Smtp_User');
+ $smtp_pass = $this->Application->ConfigValue('Smtp_Pass');
+ }else{
+ $smtp_user = '';
+ $smtp_pass = '';
+ }
+
+
+ if ($smtp_server){
+ if ($email_object->sendSMTP($smtp_object, $smtp_server, $smtp_user, $smtp_pass, $smtp_authenticate)){
+ $event->status=erSUCCESS;
+ }
+ else {
+ $event->status=erFAIL;
+ }
+ }else{
+ if($email_object->send()){
+ $event->status=erSUCCESS;
+ }
+ else {
+ $event->status=erFAIL;
+ }
+ }
+
+ if ($event->status == erSUCCESS){
+ if (!$from_user_name) {
+ $from_user_name = strip_tags( $this->Application->ConfigValue('Site_Name') );
+ }
+ $sql = 'INSERT INTO '.TABLE_PREFIX.'EmailLog SET
+ fromuser = '.$this->Conn->qstr($from_user_name.' ('.$from_user_email.')').',
+ addressto = '.$this->Conn->qstr($to_user_name.' ('.$to_user_email.')').',
+ subject = '.$this->Conn->qstr($email_object->Subject).',
+ timestamp = UNIX_TIMESTAMP(),
+ event = '.$this->Conn->qstr($email_event);
+ $this->Conn->Query($sql);
+ }
+
+ $this->Application->removeObject('u.email-from');
+ $this->Application->removeObject('u.email-to');
+ return $event;
+ }
+ }
+?>
\ No newline at end of file
Property changes on: branches/unlabeled/unlabeled-1.26.2/kernel/units/email_events/email_events_event_handler.php
___________________________________________________________________
Added: cvs2svn:cvs-rev
## -0,0 +1 ##
+1.26
\ No newline at end of property
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: branches/unlabeled/unlabeled-1.26.2/admin/include/sections.php
===================================================================
--- branches/unlabeled/unlabeled-1.26.2/admin/include/sections.php (nonexistent)
+++ branches/unlabeled/unlabeled-1.26.2/admin/include/sections.php (revision 6436)
@@ -0,0 +1,677 @@
+<?php
+
+$sections = array();
+
+class clsSection
+{
+ var $m_sections;
+ var $m_name;
+ var $m_title;
+ var $m_path;
+ var $m_file;
+ var $m_icon;
+ var $m_icon_small;
+ var $m_icon_list;
+ var $m_child;
+ var $m_parent;
+ var $m_left;
+ var $m_right;
+ var $m_notree = 0;
+ var $m_notabs=0;
+ var $m_nonavbar=0;
+ var $m_notitle=0;
+ var $m_toolbar=0;
+ var $m_description = NULL;
+ var $m_onclick=NULL;
+ var $m_key;
+ var $m_bar_title;
+ var $m_bar_title_plain_text = "";
+
+ function clsSection()
+ {
+ /* constructor */
+ }
+
+ function Get($name)
+ {
+ $var = "m_" . $name;
+ return isset($this->$var) ? $this->$var : '';
+ }
+
+ function Set($name, $value)
+ {
+ if (is_array($name))
+ {
+ for ($i=0; $i<sizeof($name); $i++)
+ {
+ $var = "m_" . $name[$i];
+ $this->$var = $value[$i];
+ }
+ }
+ else
+ {
+ $var = "m_" . $name;
+ $this->$var = $value;
+ }
+ }
+
+ function IsJavaScriptLink()
+ {
+ $file = $this->Get('file');
+ if(!$file) return false;
+
+ return (substr($file, 0, 10) == 'javascript' || $file == '#') ? true : false;
+ }
+
+ function IconURL($large=1)
+ {
+ global $rootURL;
+
+ if($large==1)
+ {
+ $url = $rootURL.$this->Get("icon");
+ }
+ elseif($large==2)
+ {
+ $url = $rootURL.$this->Get("icon_list");
+ }
+ else
+ $url = $rootURL.$this->Get("icon_small");
+ return $url;
+ }
+
+ function IsKernel4Link() {
+ $path = $this->Get('path');
+ if(!$path) return false;
+
+ $file = $this->Get('file');
+
+ return ( strpos($path, 'index.php') !== false || strpos($file, 'kernel4:') !== false) ? true : false;
+ }
+
+ function URL()
+ {
+ global $rootURL, $m_var_list_update;
+
+ if(!$this->IsJavaScriptLink())
+ {
+ $m_var_list_update['opener']='r';
+ if ( $this->IsKernel4Link() ) {
+ global $var_list_update;
+ $stack_t = isset($var_list_update['t']) ? $var_list_update['t'] : null;
+ $var_list_update['t'] = $this->Get('file');
+ $env = BuildEnv();
+ $url = $rootURL.$this->Get('path');
+ $url .= (strstr($url, '?') ? '&' : '?').'env='.$env;
+ if ($stack_t == null) {
+ unset($var_list_update['t']);
+ }
+ else {
+ $var_list_update['t'] = $stack_t;
+ }
+ return $url;
+ }
+ else {
+ $env = BuildEnv();
+ }
+
+ $url = $rootURL.$this->Get('path').$this->Get('file');
+ $url .= (strstr($url, '?') ? '&' : '?').'env='.$env;
+ }
+ else {
+ // never called (tested with all modules installed)
+ $url = $this->Get('file');
+ }
+ return $url;
+ }
+
+ /* functions to display navigation elements */
+ function tab($envar)
+ {
+ global $imagesURL;
+ $link = $this->URL();
+ if(!$this->IsJavaScriptLink())
+ {
+ if(!strstr($link,'env='))
+ $link .= '?'. $envar;
+ }
+ $onclick = $this->Get('onclick');
+ $caption = language($this->Get('name'));
+ if(strlen($this->Get('name')))
+ {
+ $o ="<!-- Tab: $caption -->
+ <td><table bgcolor=\"#009FF0\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" onclick=\"\">
+ <tr onclick=\"$onclick\">
+ <td bgcolor=\"#009FF0\"><img title=\"\" src=\"$imagesURL/tab_left.gif\" width=\"15\" height=\"23\"></td>
+ <td nowrap bgcolor=\"#009FF0\" background=\"$imagesURL/tab_back.gif\" align=\"center\">
+ <a href=\"$link\" class=\"tab2\" onClick=\"$onclick\">$caption</a><br>
+ </td>
+ <td bgcolor=\"#009FF0\"><img title=\"\" src=\"$imagesURL/tab_right.gif\" width=\"15\" height=\"23\"></td>
+ </tr>
+ </table></td>";
+ }
+ else
+ $o = '';
+ return $o;
+ }//Individual Tab
+
+ function active_tab()
+ {
+ global $imagesURL, $envar;
+
+ $link = $this->URL();
+ $onclick = $this->Get("onclick");
+ if(!$this->IsJavaScriptLink())
+ {
+ if(!strstr($link,"env="))
+ $link .= "?". $envar;
+ }
+
+ $caption = language($this->Get("name"));
+
+ if (strlen($caption)<=8)
+ $backgr = "$imagesURL/tab_active_back3.jpg";
+ else if (strlen($caption)<=20)
+ $backgr = "$imagesURL/tab_active_back2.jpg";
+ else
+ $backgr = "$imagesURL/tab_active_back.jpg";
+
+ $o = "<!-- Tab: $caption -->
+ <td><table bgcolor=\"#FFFB32\" background=\"$backgr\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr>
+ <td><img title=\"\" src=\"$imagesURL/tab_active_left.gif\" width=\"15\" height=\"23\"></td>
+ <td nowrap align=\"center\" background=\"$imagesURL/tab_active_back.gif\">
+ <a href=\"$link\" class=\"tab\" onClick=\"$onclick\">$caption</a><br>
+ </td>
+ <td><img title=\"\" src=\"$imagesURL/tab_active_right.gif\" width=\"15\" height=\"23\"></td></tr>
+ </table></td>";
+ return $o;
+ }//Active Tab
+} /*clsSection*/
+
+class clsSectionList
+{
+ var $sections;
+ // var $section;
+ var $current;
+
+ function clsSectionList()
+ {
+ $this->sections = array();
+ $this->current = "default";
+ }
+
+ function GetSection($section)
+ {
+ if (is_array($this->sections) && strlen($section)) {
+ if (array_key_exists($section, $this->sections)) {
+ return $this->sections[$section];
+ }
+ else {
+ return null;
+ }
+ }
+ else {
+ return null;
+ }
+ }
+
+ function SetCurrentSection($section)
+ {
+ $this->current = $section;
+ }
+
+ function GetCurrentSection()
+ {
+ $ret = $this->GetSection($this->current);
+ if(!is_object($ret))
+ $ret = $this->GetSection("default");
+ return $ret;
+ }
+
+
+ function SimpleSection($module, $section_name, $tab_phrase, $title_phrase, $path, $script, $child,$parent,$left,$right)
+ {
+ // simplified method to add sections
+ global $pathtoroot;
+ $sn = explode(':', $section_name);
+
+ if (substr($script, 0, 8) == 'kernel4:') {
+ $img_path = $sn[0].'/admin_templates/img/icons';
+ }
+ else {
+ $img_path = $module.'/admin/images/icons';
+ }
+
+ if (!$img_path) {
+
+ }
+ if( !isset($title_phrase) ) $title_phrase = $tab_phrase;
+
+ $this->AddSection( $section_name,$tab_phrase, $title_phrase,$path, $script,
+ $img_path.'/icon46_'.$sn[1].'.gif', $img_path.'/icon24_'.$sn[1].'.gif',
+ $child,$parent,$left,$right,0,'',1,null,null,null,$img_path.'/icon46_list_'.$sn[1].'.gif');
+ }
+
+ function AddSection($section,$name,$title,$path,$file,$icon,$icon_small, $child,$parent,$left,$right,
+ $notree=0,$onClick = "",$notabs=0,$nonavbar=0,$notitle=0,$toolbar=0,$icon_list="", $bar_title = "", $bar_title_plain_text = "")
+ {
+ if($file == "subitems.php")
+ $file .= "?section=$section";
+
+ $s = new clsSection();
+
+ $s->Set("name", $name);
+ $s->Set("title",$title);
+ $s->Set("path", $path);
+ $s->Set("file", $file);
+ $s->Set("icon", $icon);
+ $s->Set("icon_list", $icon_list);
+ $s->Set("icon_small", $icon_small);
+ $s->Set("child", $child);
+ $s->Set("parent", $parent);
+ $s->Set("left", $left);
+ $s->Set("right", $right);
+ $s->Set("notree", $notree);
+ $s->Set("notabs", $notabs);
+ $s->Set("nonavbar", $nonavbar);
+ $s->Set("notitle", $notitle);
+ $s->Set("toolbar", $toolbar);
+ $s->Set("description", NULL);
+ $s->Set("onclick", $onClick);
+ $s->Set("key",$section);
+ $s->Set("bar_title",$bar_title);
+ $s->Set("bar_title_plain_text", $bar_title_plain_text);
+
+ if($parent != NULL)
+ {
+ $p = $this->GetSection($parent);
+ if(is_object($p))
+ {
+ if(!strlen($p->Get("child")))
+ {
+ //echo "Setting child of $parent to $section<br>\n";
+ $p->Set("child", $section); //set the parent if none set!
+ $this->sections[$parent]=$p;
+ }
+ }
+ if(!strlen($left) && !strlen($right))
+ {
+ /* find first child w/ a null right value */
+ foreach($this->sections as $secname => $subsection)
+ {
+ if($subsection->Get("parent") == $parent)
+ {
+ if(!strlen($subsection->Get("right")))
+ {
+ $this->sections[$secname]->Set("right", $section);
+ $s->Set("left", $secname);
+ break;
+ }
+ }
+ }
+ }
+ }
+ $this->sections[$section]=$s;
+ }
+
+ function AddDescription($section,$desc)
+ {
+ $sec = $this->GetSection($section);
+ if(is_object($sec))
+ {
+ $sec->Set("description",$desc);
+ $this->sections[$section] = $sec;
+ }
+ }
+
+ function sectionURL($section)
+ {
+ return $this->sections[$section]->URL();
+ }
+
+ function SectionIconURL($section,$large=1)
+ {
+ return $this->sections[$section]->IconURL($large);
+ }
+
+ function BuildTree($element, $parent)
+ {
+ global $pathtoroot,$envar;
+ global $rootURL;
+
+ $org = $element;
+ $element = strtolower($element);
+ $j_el=str_replace("-","_",$element);
+ $j_el=str_replace(":","_",$j_el);
+ $j_par=str_replace("-","_",$parent);
+ $j_par=str_replace(":","_",$j_par);
+ $sec = $this->sections[$element];
+ if(is_object($sec))
+ {
+ $caption = $this->sections[$element]->Get("name");
+ if(strlen($caption)==0)
+ $caption = $this->sections[$element]->Get("title");
+ $caption = language($caption);
+ $child =$this->sections[$element]->Get("child");
+ $notree = "";
+ if( isset($this->sections[$child]) && is_object($this->sections[$child]) )
+ $notree = $this->sections[$child]->Get("notree");
+ if (($child == NULL) or ($notree==-1))
+ {
+ print 'var item = insDoc('.$j_par.', gLnk(0, "'.$caption.'", "'.$this->SectionURL($element).'", "return checkEditMode();"));'."\n";
+ print "item.iconSrc = '".$this->SectionIconURL($element,0)."';\n";
+ if($this->sections[$element]->Get("right")!=NULL)
+ $this->BuildTree($this->sections[$element]->Get("right"), $parent);
+
+ return;
+ }
+ if ($child != NULL && $notree !=-1)
+ { //print "$j_el = insFld($j_par, gFld(\"".$sections[$element]['name']."\"));\n";
+
+ print 'var '.$j_el.' = insFld('.$j_par.', gFld("'.$caption.'","'.$this->SectionURL($element).'", "return checkEditMode();"));'."\n";
+ print $j_el . ".iconSrc='".$this->SectionIconURL($element,0)."';\n";
+ if($this->sections[$element]->Get("right")!=NULL)
+ $this->BuildTree($this->sections[$element]->Get("right"), $parent);
+
+ $parent = $element;
+ $this->BuildTree($this->sections[$element]->Get("child"), $parent);
+
+ }
+ }
+ }
+
+
+
+
+
+
+
+ function page_title()
+ {
+ global $imagesURL,$adminURL, $objConfig;
+
+ $o = "";
+ $sec = $this->GetCurrentSection();
+ if($sec->Get("notitle")!="1")
+ {
+ $caption = $sec->Get("title");
+
+ if(strlen($caption)==0)
+ {
+ if(strlen($sec->Get("parent")))
+ {
+ $p = $this->GetSection($sec->Get("parent"));
+ if(is_object($p))
+ {
+ $caption = $p->Get("title");
+ $icon = $p->IconURL(1);
+ }
+ }
+ }
+ else
+ $icon = $sec->IconURL(1);
+ $logout_link = $adminURL."/index.php";
+ if(strlen($caption))
+ {
+ if($sec->Get("key")=="in-portal:root")
+ {
+ $caption = stripslashes( strip_tags( $objConfig->Get('Site_Name') ) );
+ }
+ else
+ {
+ $caption = admin_language($caption);
+ }
+ $bg_image = 'logo_bg.gif';
+ $replace_modules = Array('in-link','in-news','in-bulletin');
+ foreach($replace_modules as $r_module)
+ if( $this->IsModule($r_module) )
+ {
+ $bg_image = 'logo_bg_'.$r_module.'.gif';
+ break;
+ }
+
+ if( defined('REQUIRE_LAYER_HEADER') )
+ {
+
+ $o = "<DIV style='position:relative; z-Index: 1; background-color: #ffffff; padding-top:1px;'>
+ <div style='position:absolute; width:100%;top:0px;' align='right'>
+ <img src='".$imagesURL.'/'.$bg_image."'></div><img src='".$imagesURL."/spacer.gif' width=1 height=7>
+ <br><div style='z-Index:1; position:relative'>";
+ $o .= "<!-- ADMIN TITLE --><table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"100%\">
+ <tr><td valign=\"top\" class=\"admintitle\" align=\"left\">
+ <img title=\"\" width=\"46\" height=\"46\" src=\"$icon\" align=\"absmiddle\">&nbsp;$caption<br>
+ <img src='".$imagesURL."/spacer.gif' width=1 height=4><br>
+ </td></tr></table>";
+ }
+ else
+ {
+ $o = '<!-- ADMIN TITLE -->
+ <!-- <DIV style="position:relative; z-Index: 1; background-color: #ffffff; padding-top:1px;"> -->
+ <table cellpadding="0" cellspacing="0" border="0" width="100%">
+ <tr>
+ <td valign="top" class="admintitle" align="left" style="background: url('.$imagesURL.'/'.$bg_image.') top right; background-repeat: no-repeat;">
+ <img title="" width="46" height="46" src="'.$icon.'" align="absmiddle">&nbsp;'.$caption.'<br>
+ <img src="'.$imagesURL.'/spacer.gif" width="1" height="4"><br>
+ </td>
+ </tr>
+ </table>
+ ';
+ }
+ }
+ }
+ return $o;
+ }
+
+ function IsModule($module_name)
+ {
+ // checks if there is requested module used in right frame
+
+ // module folder match
+ $url_split = explode('/', $_SERVER['PHP_SELF']);
+ if( in_array($module_name, $url_split) ) return 1;
+
+ // module section match
+ $section = GetVar('section');
+ if($section)
+ {
+ $section = explode(':', $section);
+ if( $section[0] == $module_name ) return true;
+ }
+ return false;
+ }
+
+ function page_tabs($envar)
+ {
+ $showtabs=0;
+ $o = '';
+ $sec = $this->GetCurrentSection();
+ if ($sec->Get("notabs")!=1)
+ {
+ //get starting node
+ $node = $sec;
+ while (strlen($node->Get("left")))
+ {
+ $node = $this->GetSection($node->Get("left"));
+ }
+ if($node)
+ {
+
+ $o = "<!-- TABS --><table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"100%\"><tr>
+ <td align=\"right\" width=\"100%\"><table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" height=\"23\">
+ <tr>";
+ $showtabs=1;
+ }
+ //traverse and print tabs
+ while ( isset($node) && is_object($node) )
+ {
+ if ($node->Get("key") == $this->current)
+ $o .= $node->active_tab();
+ else
+ $o .= $node->tab($envar);
+
+ $right = $node->Get("right");
+ unset($node);
+ if(strlen($right))
+ $node = $this->GetSection($right);
+ }
+ if($showtabs)
+ {
+ $o .= "</tr></table></td></tr></table>";
+ }
+ }
+ return $o;
+ }
+
+ function section_header($envar,$navbar=NULL,$extra_title=NULL, $no_help = false, $OtherSection = '')
+ {
+ global $pathtoroot;
+ global $pathtolocal;
+ global $imagesURL;
+ global $adminURL;
+ global $objConfig;
+
+ $output = '';
+ $HelpIcon = $imagesURL."/blue_bar_help.gif";
+ $node = $this->GetCurrentSection();
+ if(is_object($node))
+ {
+ $helpURL = $adminURL.'/help/help.php?'.( substr($envar,0,3) == 'env' ? '' : 'env=').$envar.'&destform=popup';
+ $node_key = $node->Get('key');
+ $o = "<!-- SECTION NAVIGATOR -->";
+ //background="'.$imagesURL.'/tabnav_left.jpg"
+ if($no_help == false) $o .= '<form name="help_form" id="help_form" action="'.$helpURL.'" method="post"><input type="hidden" id="section" name="section" value=""></form>';
+ $o .= '<table border="0" cellpadding="2" cellspacing="0" class="tableborder_full" width="100%" height="30">';
+ $o .= '<tr><TD class="header_left_bg" width="100%">';
+
+ //get path up to the parent node
+ while( isset($node) && is_object($node) )
+ {
+ if( !strlen($extra_title) )
+ {
+ $bar_title = $node->Get("bar_title");
+ $bar_title_plain_text = $node->Get("bar_title_plain_text");
+
+ if(strlen($bar_title) && !is_null($bar_title))
+ $caption = language($bar_title);
+ elseif (is_null($bar_title))
+ $caption = "";
+ else
+ $caption = language($node->Get("name"));
+
+ if (strlen($bar_title_plain_text))
+ $caption.= $bar_title_plain_text;
+ }
+ else
+ {
+ $caption = $extra_title;
+ }
+
+ $output = '<span class="tablenav_link" id="bb_title">'.$caption.'</span><script language="javascript">set_window_title( document.getElementById("bb_title").innerHTML );</script>';
+ unset($node);
+ }
+
+ $o .= $output;
+ if(strlen($navbar))
+ $o .= "::<b>".$navbar."</b>";
+ if($OtherSection) $node_key = $OtherSection;
+ $o .= "</td><td align=\"right\" class=\"tablenav\" background=\"$imagesURL/tabnav_back.jpg\" width=\"10\">";
+ if($no_help == false) $o .= "<a class=\"link\" onclick=\"ShowHelp('".$node_key."');\"><img src=\"$HelpIcon\" border=\"0\"></A>";
+ $o .= "</td></tr></table><!-- END SECTION NAVIGATOR -->";
+ }
+ return $o;
+ }
+
+} /* clsSectionList */
+
+$objSections = new clsSectionList();
+$objSections->AddSection("in-portal:root", $objConfig->Get('Site_Name'), $objConfig->Get('Site_Name'), $admin."/","subitems.php",
+$admin."/icons/icon46_site.gif", $admin."/icons/icon24_site.gif",
+"in-portal:site", NULL, NULL,"in-portal:users",0,"",1, NULL,NULL,NULL, "", "la_section_overview");
+
+$objSections->AddSection("in-portal:site", "la_tab_Site_Structure","la_title_Site_Structure", $admin."/","subitems.php",
+$admin."/icons/icon46_struct.gif", $admin."/icons/icon24_struct.gif",
+"in-portal:browse", "in-portal:root", NULL,"in-portal:users",0,"",1,NULL,NULL,NULL,$admin."/icons/icon46_list_struct.gif","la_selecting_categories");
+
+$objSections->AddSection("in-portal:users","la_tab_Community","la_title_Community",$admin."/","subitems.php",
+$admin."/icons/icon46_community.gif",$admin."/icons/icon24_community.gif", NULL,"in-portal:root","in-portal:site","in-portal:modules",0,"",1,NULL,NULL,NULL,$admin."/icons/icon46_list_community.gif","la_section_overview");
+
+$objSections->AddSection("in-portal:modules","la_tab_ModulesSettings","la_title_Settings",$admin."/","subitems.php",
+$admin."/icons/icon46_modules.gif",$admin."/icons/icon24_modules.gif",NULL, "in-portal:root","in-portal:users","in-portal:reports",0,"",1,NULL,NULL,NULL,$admin."/icons/icon46_list_modules.gif","la_section_overview");
+
+$objSections->AddSection("in-portal:mod_status","la_tab_Modules","la_title_Module_Status",$admin."/modules/","mod_status.php",
+$admin."/icons/icon46_modules.gif",$admin."/icons/icon24_modules.gif",NULL, NULL,NULL,NULL,0,"",1,NULL,NULL,NULL,$admin."/icons/icon46_list_modules.gif");
+
+$objSections->AddSection("in-portal:addmodule","la_tab_Modules","la_title_Add_Module",$admin."/modules/","addmodule.php",
+$admin."/icons/icon46_modules.gif",$admin."/icons/icon24_modules.gif",NULL, NULL,NULL,NULL,0,"",1,NULL,NULL,NULL,$admin."/icons/icon46_list_modules.gif");
+
+$objSections->AddSection("in-portal:reports","la_tab_Reports","la_title_Reports",$admin."/","subitems.php",
+$admin."/icons/icon46_summary_logs.gif",$admin."/icons/icon24_summary_logs.gif",NULL, "in-portal:root","in-portal:modules","in-portal:system",0,"",1,NULL,NULL,NULL,$admin."/icons/icon46_list_summary_logs.gif","la_section_overview");
+
+$objSections->AddSection("in-portal:log_summary","la_tab_Summary","la_tab_Summary",$admin."/logs/","summary.php",
+$admin."/icons/icon46_summary.gif",$admin."/icons/icon24_summary.gif",NULL,
+"in-portal:reports",NULL,"in-portal:searchlog",0,"",1,NULL,NULL,NULL,$admin."/icons/icon46_list_summary.gif");
+
+$objSections->AddSection("in-portal:searchlog","la_tab_SearchLog","la_tab_SearchLog",$admin."/logs/","searchlog.php",
+$admin."/icons/icon46_search_log.gif",$admin."/icons/icon24_search_log.gif",
+NULL,"in-portal:reports","in-portal:log_summary","in-portal:sessionlog",0,"",1,NULL,NULL,NULL,$admin."/icons/icon46_list_search_log.gif");
+
+$objSections->AddSection("in-portal:sessionlog","la_tab_SessionLog","la_tab_SessionLog",$admin."/logs/","session_list.php",
+$admin."/icons/icon46_sessions_log.gif",$admin."/icons/icon24_sessions_log.gif",
+NULL,"in-portal:reports","in-portal:sessionlog",'in-portal:emaillog',0,"",1,NULL,NULL,NULL,$admin."/icons/icon46_list_sessions_log.gif");
+
+$objSections->AddSection("in-portal:emaillog","la_tab_EmailLog","la_tab_EmailLog",$admin."/logs/","email_log.php",
+$admin."/icons/icon46_email_log.gif",$admin."/icons/icon24_email_log.gif",
+NULL,"in-portal:reports","in-portal:emaillog",NULL,0,"",1,NULL,NULL,NULL,$admin."/icons/icon46_list_email_log.gif");
+
+/* Help */
+$objSections->AddSection("in-portal:help","la_tab_Help","la_title_Help",$admin."/help/","manual.pdf",
+$admin."/icons/icon46_help.gif",$admin."/icons/icon24_help.gif",
+NULL,"in-portal:root","in-portal:system",NULL,0,"",1,NULL,NULL,NULL,$admin."/icons/icon46_list_help.gif");
+
+
+/*
+$objSections->AddSection("in-portal:help","la_tab_Help","la_title_Help",$admin."/help/topics/","download.html",
+$admin."/icons/icon46_help.gif",$admin."/icons/icon24_help.gif",
+NULL,"in-portal:root","in-portal:system",NULL,0,"",1,NULL,NULL,NULL,$admin."/icons/icon46_list_help.gif");
+
+$objSections->AddSection("in-portal:help_overview","la_tab_Overview","la_title_Help",$admin."/help/","help.php",
+$admin."/icons/icon46_help.gif",$admin."/icons/icon24_help.gif",
+NULL,"in-portal:help",NULL,"in-portal:help_ch1",NULL,NULL,NULL,NULL,NULL,NULL,$admin."/icons/icon46_list_help.gif");
+$objSections->AddSection("in-portal:help_ch1","Chapter 1","Chapter 1",$admin."/help/","help.php",
+$admin."/icons/icon46_help.gif",$admin."/icons/icon24_help.gif",
+NULL,"inportal:help","in-portal:help_overview","in-portal:help_ch2");
+$objSections->AddSection("in-portal:help_ch2","Chapter 2","Chapter 2",$admin."/help/","help.php",
+$admin."/icons/icon46_help.gif",$admin."/icons/icon24_help.gif",
+NULL,"inportal:help","in-portal:help_ch1",NULL);
+*/
+/* Help ends */
+$objSections->AddSection("in-portal:item_select","la_title_Select_Item","Select Item",$admin."/","item_select.php","","",
+NULL,NULL,NULL,0,"",1,1);
+
+$objSections->AddSection("in-portal:rel_select","la_title_Select_Target_Item","Select Item",$admin."/","rel_select.php","","",
+NULL,NULL,NULL,0,"",1,0,1,1);
+
+$NewButtons = array();
+/* each module will add to the array declared below, which contains the info for the
+'new' button for the module's Browse data. The array is an array of arrays,
+and the subarray should contain the following indexes:
+
+ImagePath = URL to the directory containing the image
+Action = Action attribute of the image (this is also the "base name" of the image
+Alt = Image ALT value
+Tab = If set, button will only be displayed when this div is active
+
+*/
+
+$m = GetModuleArray("admin");
+if(is_array($m))
+{
+ foreach($m as $key=>$value)
+ {
+ $mod = $pathtoroot . $value . "admin/include/navmenu.php";
+ include_once($mod);
+ }
+}
+$objSections->AddSection("default","","",$admin."/","#",NULL,NULL,NULL,NULL,NULL,NULL);
+
+?>
Property changes on: branches/unlabeled/unlabeled-1.26.2/admin/include/sections.php
___________________________________________________________________
Added: cvs2svn:cvs-rev
## -0,0 +1 ##
+1.26
\ No newline at end of property
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property

Event Timeline