Я перевел но почему то не работает. Если быть точным то незнаю что сдеать с функцией updateUsers();
Оригинал:
Код: Выделить всё
package { import flash.display.*; import flash.events.*; import flash.net.*; import vk.APIConnection; import vk.events.*; import vk.api.serialization.json.JSON; import flash.text.*; import fl.containers.UILoader; public class VipUsers extends Sprite { public var api_id:Number; public var viewer_id; public var sid:String; public var secret:String; var auth_key; var wasPayBox = false;// было открыто окно "Внесите 1 голос", при нажатии на кнопку "Добавить" var VK:APIConnection; public function VipUsers() { // получаем flashVars var flashVars:Object = stage.loaderInfo.parameters as Object;/* // для тестирования локально, вводим свои данные здесь и раскоменчиваем код flashVars['api_id'] = 743131; flashVars['viewer_id'] = 1306422; flashVars['sid'] = 'a1006fd1e8gb9bd669e1119280166bc6cb9110b8a111550333bf041301'; flashVars['secret'] = '7ef8l6a4p8';*/ // присваиваем переменным значения из flashVars api_id = flashVars['api_id']; viewer_id = flashVars['viewer_id']; sid = flashVars['sid']; secret = flashVars['secret']; auth_key = flashVars['auth_key']; // инициализация VK VK = new APIConnection(flashVars); add_btn.addEventListener(MouseEvent.CLICK,addUid); // вешаем слушатель на событие изменения баланса VK.addEventListener('onBalanceChanged',onBalanceChanged); // обновляем аватарки пользователей updateUsers(); } // добавление пользователя в базу function addUid(e:Event):void { // проверяем баланс VK.api('getUserBalance', {}, onBalanceLoaded, onError); } private function onBalanceLoaded(data: Object):void { if (data < 100) {// не достаточно голосов VK.callMethod("showPaymentBox",1); wasPayBox = true; } else { var loader:URLLoader = new URLLoader(); var request:URLRequest = new URLRequest("http://flapps.ru/apps/vip/add.php"); request.method = URLRequestMethod.POST; var vars:URLVariables = new URLVariables(); vars['auth_key'] = auth_key; vars['viewer_id'] = viewer_id; request.data = vars; loader.addEventListener(Event.COMPLETE,uidAdded); loader.load(request); } } // uid был отправлен и был получен ответ от сервера function uidAdded(event:Event):void { var json_data = JSON.decode(event.target.data); result_tf.text = json_data.error.msg; // обновляем аватарки пользователей updateUsers(); } // обновление аватарок пользователей function updateUsers() { var loader:URLLoader = new URLLoader(); var request:URLRequest = new URLRequest("http://flapps.ru/apps/vip/getuids.php"); request.method = URLRequestMethod.POST; var vars:URLVariables = new URLVariables(); vars['auth_key'] = auth_key; vars['viewer_id'] = viewer_id; request.data = vars; loader.addEventListener(Event.COMPLETE,onUsersUpdate); loader.load(request); } function onUsersUpdate(event:Event):void { var json_data = JSON.decode(event.target.data); // список id пользователей var uidsVip = json_data.response; // получаем профили VK.api('getProfiles', {uids:uidsVip,fields:'photo' }, onProfilesLoaded, onError); } private function onProfilesLoaded(data: Object):void { // количество полученных профилей var count = data.length; // массив блоков с информацией о пользователях var usersBoxArray = new Array(); // стиль текста var textformat:TextFormat = new TextFormat(); textformat.align = TextFormatAlign.CENTER; textformat.font = 'Tahoma'; textformat.size = 11; textformat.color = 0x2B587A; for (var i=0; i<count; i++) { // создаем MovieClip, в котором будет ава и имя пользователя var user_box = new MovieClip; // рамка блока user_box.graphics.beginFill(0xDAE1E8); user_box.graphics.drawRect(0,0,80,95); // заливка блока user_box.graphics.beginFill(0xF7F7F7); user_box.graphics.drawRect(1,1,78,93); user_box.graphics.endFill(); user_box.x = 10 + i * 85; user_box.y = 10; user_box.buttonMode = true; user_box.useHandCursor = true; user_box.mouseChildren = false; // добавляем фото var user_photo:UILoader = new UILoader ; user_photo.autoLoad = true; user_photo.scaleContent = false; user_photo.source = data[i]['photo']; user_photo.move(15,10); user_box.addChild(user_photo); // добавляем имя var user_name_tf:TextField = new TextField ; user_name_tf.width = 80; user_name_tf.height = 40; user_name_tf.wordWrap = true; user_name_tf.defaultTextFormat = textformat; user_name_tf.text = data[i]['first_name'] + "\n" + data[i]['last_name']; user_name_tf.x = 0; user_name_tf.y = 60; user_box.addChild(user_name_tf); usersBoxArray.push(user_box); addChild(usersBoxArray[i]); // записываем id пользователя в массив usersBoxArray[i].uid = data[i]['uid']; // клик по блоку usersBoxArray[i].addEventListener(MouseEvent.CLICK, function(e:MouseEvent){ //navigateToURL(new URLRequest('http://vkontakte.ru/id' + data[i]['uid'])); trace('http://vkontakte.ru/id' + e.currentTarget.uid); }); } } // если произошла ошибка private function onError(data: Object):void { result_tf.text = data.error_msg; } // баланс изменен private function onBalanceChanged(e:CustomEvent):void { // если пополнение баланса была вызвано приложением автоматически, то пробуем отправить снова if (wasPayBox) { wasPayBox = false; addUid(null); } } }}
Код: Выделить всё
import flash.display.*; import flash.events.*; import flash.net.*; import vk.APIConnection; import vk.events.*; import vk.api.serialization.json.JSON; import flash.text.*; import fl.containers.UILoader; var api_id:Number; var viewer_id; var sid:String; var secret:String; var auth_key; var wasPayBox = false;// было открыто окно "Внесите 1 голос", при нажатии на кнопку "Добавить" var VK:APIConnection; function VipUsers() { // получаем flashVars var flashVars:Object = stage.loaderInfo.parameters as Object;/* // для тестирования локально, вводим свои данные здесь и раскоменчиваем код flashVars['api_id'] = 743131; flashVars['viewer_id'] = 1306422; flashVars['sid'] = 'a1006fd1e8gb9bd669e1119280166bc6cb9110b8a111550333bf041301'; flashVars['secret'] = '7ef8l6a4p8';*/ // присваиваем переменным значения из flashVars api_id = flashVars['api_id']; viewer_id = flashVars['viewer_id']; sid = flashVars['sid']; secret = flashVars['secret']; auth_key = flashVars['auth_key']; // инициализация VK VK = new APIConnection(flashVars); add_btn.addEventListener(MouseEvent.CLICK,addUid); // вешаем слушатель на событие изменения баланса VK.addEventListener('onBalanceChanged',onBalanceChanged); // обновляем аватарки пользователей updateUsers(); } // добавление пользователя в базу function addUid(e:Event):void { // проверяем баланс VK.api('getUserBalance', {}, onBalanceLoaded, onError); } function onBalanceLoaded(data: Object):void { if (data < 100) {// не достаточно голосов VK.callMethod("showPaymentBox",1); wasPayBox = true; } else { var loader:URLLoader = new URLLoader(); var request:URLRequest = new URLRequest("http://flapps.ru/apps/vip/add.php"); request.method = URLRequestMethod.POST; var vars:URLVariables = new URLVariables(); vars['auth_key'] = auth_key; vars['viewer_id'] = viewer_id; request.data = vars; loader.addEventListener(Event.COMPLETE,uidAdded); loader.load(request); } } // uid был отправлен и был получен ответ от сервера function uidAdded(event:Event):void { var json_data = JSON.decode(event.target.data); result_tf.text = json_data.error.msg; // обновляем аватарки пользователей updateUsers(); } // обновление аватарок пользователей function updateUsers() { var loader:URLLoader = new URLLoader(); var request:URLRequest = new URLRequest("http://flapps.ru/apps/vip/getuids.php"); request.method = URLRequestMethod.POST; var vars:URLVariables = new URLVariables(); vars['auth_key'] = auth_key; vars['viewer_id'] = viewer_id; request.data = vars; loader.addEventListener(Event.COMPLETE,onUsersUpdate); loader.load(request); } function onUsersUpdate(event:Event):void { var json_data = JSON.decode(event.target.data); // список id пользователей var uidsVip = json_data.response; // получаем профили VK.api('getProfiles', {uids:uidsVip,fields:'photo' }, onProfilesLoaded, onError); } function onProfilesLoaded(data: Object):void { // количество полученных профилей var count = data.length; // массив блоков с информацией о пользователях var usersBoxArray = new Array(); // стиль текста var textformat:TextFormat = new TextFormat(); textformat.align = TextFormatAlign.CENTER; textformat.font = 'Tahoma'; textformat.size = 11; textformat.color = 0x2B587A; for (var i=0; i<count; i++) { // создаем MovieClip, в котором будет ава и имя пользователя var user_box = new MovieClip; // рамка блока user_box.graphics.beginFill(0xDAE1E8); user_box.graphics.drawRect(0,0,80,95); // заливка блока user_box.graphics.beginFill(0xF7F7F7); user_box.graphics.drawRect(1,1,78,93); user_box.graphics.endFill(); user_box.x = 10 + i * 85; user_box.y = 10; user_box.buttonMode = true; user_box.useHandCursor = true; user_box.mouseChildren = false; // добавляем фото var user_photo:UILoader = new UILoader ; user_photo.autoLoad = true; user_photo.scaleContent = false; user_photo.source = data[i]['photo']; user_photo.move(15,10); user_box.addChild(user_photo); // добавляем имя var user_name_tf:TextField = new TextField ; user_name_tf.width = 80; user_name_tf.height = 40; user_name_tf.wordWrap = true; user_name_tf.defaultTextFormat = textformat; user_name_tf.text = data[i]['first_name'] + "\n" + data[i]['last_name']; user_name_tf.x = 0; user_name_tf.y = 60; user_box.addChild(user_name_tf); usersBoxArray.push(user_box); addChild(usersBoxArray[i]); // записываем id пользователя в массив usersBoxArray[i].uid = data[i]['uid']; // клик по блоку usersBoxArray[i].addEventListener(MouseEvent.CLICK, function(e:MouseEvent){ //navigateToURL(new URLRequest('http://vkontakte.ru/id' + data[i]['uid'])); trace('http://vkontakte.ru/id' + e.currentTarget.uid); }); } } // если произошла ошибкаfunction onError(data: Object):void { result_tf.text = data.error_msg; } // баланс изменен function onBalanceChanged(e:CustomEvent):void { // если пополнение баланса была вызвано приложением автоматически, то пробуем отправить снова if (wasPayBox) { wasPayBox = false; addUid(null); } } /* http://flapps.ru */