mirror of
				https://github.com/Mibew/design.git
				synced 2025-11-04 12:25:19 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			119 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			119 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/*
 | 
						|
 * This file is part of Mibew Messenger project.
 | 
						|
 *
 | 
						|
 * Copyright (c) 2005-2011 Mibew Messenger Community
 | 
						|
 * All rights reserved. The contents of this file are subject to the terms of
 | 
						|
 * the Eclipse Public License v1.0 which accompanies this distribution, and
 | 
						|
 * is available at http://www.eclipse.org/legal/epl-v10.html
 | 
						|
 *
 | 
						|
 * Alternatively, the contents of this file may be used under the terms of
 | 
						|
 * the GNU General Public License Version 2 or later (the "GPL"), in which case
 | 
						|
 * the provisions of the GPL are applicable instead of those above. If you wish
 | 
						|
 * to allow use of your version of this file only under the terms of the GPL, and
 | 
						|
 * not to allow others to use your version of this file under the terms of the
 | 
						|
 * EPL, indicate your decision by deleting the provisions above and replace them
 | 
						|
 * with the notice and other provisions required by the GPL.
 | 
						|
 *
 | 
						|
 * Contributors:
 | 
						|
 *    Evgeny Gryaznov - initial API and implementation
 | 
						|
 */
 | 
						|
 | 
						|
function generate_button($title, $locale, $style, $group, $inner, $showhost, $forcesecure, $modsecurity)
 | 
						|
{
 | 
						|
	global $settings;
 | 
						|
	$link = get_app_location($showhost, $forcesecure) . "/client.php";
 | 
						|
	if ($locale)
 | 
						|
		$link = append_query($link, "locale=$locale");
 | 
						|
	if ($style)
 | 
						|
		$link = append_query($link, "style=$style");
 | 
						|
	if ($group)
 | 
						|
		$link = append_query($link, "group=$group");
 | 
						|
 | 
						|
	$modsecfix = $modsecurity ? ".replace('http://','').replace('https://','')" : "";
 | 
						|
	$jslink = append_query("'" . $link, "url='+escape(document.location.href$modsecfix)+'&referrer='+escape(document.referrer$modsecfix)");
 | 
						|
	$temp = get_popup($link, "$jslink",
 | 
						|
					  $inner, $title, "webim", "toolbar=0,scrollbars=0,location=0,status=1,menubar=0,width=640,height=480,resizable=1");
 | 
						|
	if ($settings['enabletracking']) {
 | 
						|
	    $temp = preg_replace('/^(<a )/', '\1id="mibewAgentButton" ', $temp);
 | 
						|
	    $temp .= '<div id="mibewinvitation"></div><script type="text/javascript">var mibewInviteStyle = \'@import url(';
 | 
						|
	    $temp .= get_app_location($showhost, $forcesecure);
 | 
						|
	    $temp .= '/invite.css);\';</script><script type="text/javascript" src="';
 | 
						|
	    $temp .= get_app_location($showhost, $forcesecure);
 | 
						|
	    $temp .= '/js/invite.js"></script><script type="text/javascript">mibewInviteMakeRequest(\'';
 | 
						|
	    $temp .= get_app_location($showhost, $forcesecure) . '/invite.php?entry=\' + escape(document.referrer) + \'&lang=ru\', ' . $settings['updatefrequency_tracking'] . '*1000);</script>';
 | 
						|
	}
 | 
						|
	return "<!-- mibew button -->" . $temp . "<!-- / mibew button -->";
 | 
						|
}
 | 
						|
 | 
						|
function get_style_list($stylesfolder)
 | 
						|
{
 | 
						|
	$stylelist = array("" => getlocal("page.preview.style_default"));
 | 
						|
	if ($handle = opendir($stylesfolder)) {
 | 
						|
		while (false !== ($file = readdir($handle))) {
 | 
						|
			if (preg_match("/^\w+$/", $file) && is_dir("$stylesfolder/$file")) {
 | 
						|
				$stylelist[$file] = $file;
 | 
						|
			}
 | 
						|
		}
 | 
						|
		closedir($handle);
 | 
						|
	}
 | 
						|
	return $stylelist;
 | 
						|
}
 | 
						|
 | 
						|
function verifyparam_groupid($paramid)
 | 
						|
{
 | 
						|
	global $settings, $errors;
 | 
						|
	$groupid = "";
 | 
						|
	if ($settings['enablegroups'] == '1') {
 | 
						|
		$groupid = verifyparam($paramid, "/^\d{0,8}$/", "");
 | 
						|
		if ($groupid) {
 | 
						|
			$group = group_by_id($groupid);
 | 
						|
			if (!$group) {
 | 
						|
				$errors[] = getlocal("page.group.no_such");
 | 
						|
				$groupid = "";
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return $groupid;
 | 
						|
}
 | 
						|
 | 
						|
function get_groups_list()
 | 
						|
{
 | 
						|
	global $settings;
 | 
						|
	$result = array();
 | 
						|
	if ($settings['enablegroups'] == '1') {
 | 
						|
		$link = connect();
 | 
						|
		$allgroups = get_all_groups($link);
 | 
						|
		close_connection($link);
 | 
						|
		$result[] = array('groupid' => '', 'vclocalname' => getlocal("page.gen_button.default_group"));
 | 
						|
		foreach ($allgroups as $g) {
 | 
						|
			$result[] = $g;
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return $result;
 | 
						|
}
 | 
						|
 | 
						|
function get_image_locales_map($localesdir)
 | 
						|
{
 | 
						|
	$imageLocales = array();
 | 
						|
	$allLocales = get_available_locales();
 | 
						|
	foreach ($allLocales as $curr) {
 | 
						|
		$imagesDir = "$localesdir/$curr/button";
 | 
						|
		if ($handle = @opendir($imagesDir)) {
 | 
						|
			while (false !== ($file = readdir($handle))) {
 | 
						|
				if (preg_match("/^(\w+)_on.gif$/", $file, $matches)
 | 
						|
					&& is_file("$imagesDir/" . $matches[1] . "_off.gif")) {
 | 
						|
					$image = $matches[1];
 | 
						|
					if (!isset($imageLocales[$image])) {
 | 
						|
						$imageLocales[$image] = array();
 | 
						|
					}
 | 
						|
					$imageLocales[$image][] = $curr;
 | 
						|
				}
 | 
						|
			}
 | 
						|
			closedir($handle);
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return $imageLocales;
 | 
						|
}
 | 
						|
 | 
						|
?>
 |