// MapAdv Source code pragma solidity ^0.4.18; ////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// // контракт для определения прав владения contract Ownable { address public owner; // выполняется при деплое function Ownable() public { owner = msg.sender; } // только владелец modifier onlyOwner() { require(msg.sender == owner); _; } // уничтожить контракт function kill() public onlyOwner { selfdestruct(owner); } // передать владение контрактом другому лицу function transferOwnership(address newOwner) public onlyOwner { if (newOwner != address(0)) { owner = newOwner; } } } ////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// // контракт для создания объявлений с геопозицией contract AdvCard is Ownable { // выполняется при деплое function AdvCard() public { // } // конструктор объявления struct Adv { uint advId; address advOwner; string text; string category; string geo; } // конструктор владельца объяления struct AdvOwner { uint advId; } // список объялениеов Adv[] advs; // список id объялениеов принадлежащих владельцу mapping (address => uint[]) ownerAdvIds; // добавить объяление function addAdv ( string _text, string _category, string _geo ) public returns (uint) { uint _advId = advs.length; Adv memory _adv = Adv({ advId: _advId, advOwner: msg.sender, text: _text, category: _category, geo: _geo }); ownerAdvIds[msg.sender].push(_advId); //ownerAdvOwnerAdvIds[msg.sender] = _advId; return advs.push(_adv) - 1; } // получение данных о объялении по его айди function getAdv(uint _advId) view public returns ( uint advId, string name, string category, address advOwner ) { return ( advs[_advId].advId, advs[_advId].text, advs[_advId].category, advs[_advId].advOwner ); } // получение данных о объялении по адресу его владельца function getAdvsOfOwner(address _advOwner) view public returns ( uint[] advIds ) { return ( ownerAdvIds[_advOwner] ); } } ////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// // карточка владельца объявления contract AdvOwnerCard is Ownable { // выполняется при деплое function AdvOwnerCard() public { // } // конструктор объявления struct AdvOwner { address advOwner; string text; string category; string geo; } } ////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// // контракт для создания территорий ////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// // контракт для создания госудаств
0.4.18