Tutorial membuat jejaring sosial dengan Codeigniter

 

membuat jejaring sosial fitur follower dan follo wingdengan codeigniter

Saya merilis Video tutorial membuat Social network dengan Codeigniter harga Rp. 120.000,- bisa dipesan di Bukalapak dan Tokopedia.

Tutorial ini membahas tentang pembuatan fitur follower dan following, tombol follow dan unfollow, yang menarik di turorial ini adalah pembahasan  perancangan relationship table, bagaimana cara unik untuk mendesain database dari NOL BESAR sampai teknik Peng KODING an aplikasi dengan PHP Codeigniter Framework,

Link Bukalapak: https://www.bukalapak.com/p/buku/komputer-487/194ldu-jual-buku-video-tutorial-membuat-fitur-social-network-dengan-php-codeigniter

Link Tokopedia: https://www.tokopedia.com/slametnurhadi/video-tutorial-membuat-fitur-social-network-dengan-php-codeigniter

 

 

berisi Video :

  1. Memulai Proyek: membuat basis data dan table users
  2. Membuat Tabel users
  3. Membuat User  Register
  4. Membuat User Home untuk dashboard
  5. Membuat User login
  6. Membuar User detail
  7. Membuat User Logout
  8. Membuat Daftar User
  9. Teori dan konsep Relasi tabel
  10. Membuat tabel Follows dan Membuat Model follows
  11. Perancangan Logika Follow.
  12. perancangan logika Unfollow.
  13. Authentikasi User.
  14. Cek Authentikasi User.
  15. membuat tombol follow
  16. Menghilangkan Tombol follow pad Id  Login Sendiri
  17. Membuat Tombol follow dan Unfollow
  18. Proteksi follow dengan Session
  19. Halaman user follower
  20. halaman user following

 

proyek social network

Halaman user All

video tutorial codeigniter 5

halaman user Follower

 

video tutorial codeigniter 6

 

 

 

Halaman User Following

video tutorial codeigniter 7

Tampilan debgab Css Bootstrap 3:
user  all

preview 1
User detailpreview 2

 

User Home dashboard

preview 3

 

user login

preview 4

 

 

 

 

follow1

ini adalah contoh web saya pernah saya implementasikan sebuah fitur followind dan follower.

unfllow2

Pre Order dibuka untuk mendapatkan harga Rp. 100.000 melalui kontak facebook saya atau watsap 089636283068,  dikirim dari jakarta

Hormat saya,

Slamet Nurhadi

Advertisements

the best recent post widget for blogger

top recent post widget for blogspot theme red and colori

style 1:

Color Red : #E73037

 

 

 

recent post 2

<script style="text/javascript" src="http://helplogger.googlecode.com/svn/trunk/helplogger/recentpoststhumbs.js"></script>
<script style="text/javascript">
var posts_no = 5;
var showpoststhumbs = true;
var readmorelink = true;
var showcommentslink = true;
var posts_date = true;
var post_summary = true;
var summary_chars = 70;</script>
<script src="/feeds/posts/default?orderby=published&alt=json-in-script&callback=showlatestpostswiththumbs"></script>
<a style="font-size: 9px; color: #CECECE; float: right; margin: 5px;" href="http://www.allproduct.tk" rel="nofollow">Recent Posts Widget</a>
<noscript>Your browser does not support JavaScript!</noscript>
<link href='http://fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'/>





<style type="text/css">
img.recent-post-thumb {padding:2px;width:65px;height:65px;float:left;margin: 0px 10px 10px; background: #fff; border: 1px solid #69B7E2;}
.recent-posts-container {font-family: 'Oswald', sans-serif;  float: left;width: 100%;min-height: 70px;margin: 5px 0px 5px 0px;padding: 0;font-size:12px;}
ul.recent-posts-container li {position:relative;padding:5px 0px;min-height:65px; list-style-type: none; margin-bottom: 5px;}
ul.recent-posts-container {counter-reset: countposts;list-style-type: none;}
ul.recent-posts-container li:before {content: counter(countposts,decimal);counter-increment: countposts;z-index: 2;position:absolute; left: 15px; font-size: 13px;font-weight: bold;color: #fff;background: #E73037;padding: 4px 10px; border-radius: 100%;}
.recent-posts-container a { text-decoration:none; }
.recent-post-title a {font-size: 13px; text-transform: uppercase; color: #E73037;}
.recent-posts-details {margin: 5px 0px 0px 92px; }
.recent-posts-details a{ color: #777;}
</style>





style 2:

Color Red : #E73037

recent post 1-1



<div class="recentpoststyle">
<script src="http://helplogger.googlecode.com/svn/trunk/helplogger/recentposts.js"></script>
<script>
var posts_no = 5;var posts_date = true;var post_summary = true;var summary_chars = 80;</script>
<script src="/feeds/posts/default?orderby=published&amp;alt=json-in-script&amp;callback=showlatestposts">
</script><a style="font-size: 9px; color: #CECECE; float: right; margin: 5px;" href="http://www.allproduct.tk/" rel="nofollow"></a>
<noscript>Your browser does not support JavaScript!</noscript>


<style type="text/css">
.recentpoststyle {counter-reset: countposts;list-style-type: none;}
.recentpoststyle a {text-decoration: none; color: #49A8D1;}
.recentpoststyle a:hover {color: #000;}
.recentpoststyle li:before {content: counter(countposts,decimal);counter-increment: countposts;float: left;z-index: 2;position:relative;font-size: 20px;font-weight: bold;color: #fff;background: #E73037; margin: 15px 5px 0px -6px; padding: 0px 10px; border-radius: 100%;}
li.recent-post-title { padding: 5px 0px;}
.recent-post-title { font-family: "Avant Garde",Avantgarde,"Century Gothic",CenturyGothic,AppleGothic,sans-serif;}
.recent-post-title a {color: #444;font-size: 13px; text-decoration: none; padding: 2px; font-weight: bold;}
.post-date {padding: 5px 2px 5px 30px; font-size: 11px; color: #999; margin-bottom: 5px;}
.recent-post-summ { border-left: 1px solid #E73037; color: #777; padding: 0px 5px 0px 20px; margin-left: 11px; font-family: Garamond,Baskerville,"Baskerville Old Face","Hoefler Text","Times New Roman",serif; font-size: 15px;}
</style>







</div>








 

syle 3:

recent post 3

<script style="text/javascript" src="http://helplogger.googlecode.com/svn/trunk/helplogger/recentpoststhumbs.js"></script>
<script style="text/javascript">
var posts_no = 5;
var showpoststhumbs = true;
var readmorelink = true;
var showcommentslink = false;
var posts_date = true;
var post_summary = true;
var summary_chars = 70;
</script>
<script src="/feeds/posts/default?orderby=published&alt=json-in-script&callback=showlatestpostswiththumbs"></script>
<a style="font-size: 9px; color: #CECECE; float: right; margin: 5px;" href="http://www.allproduct.tk" rel="nofollow">Recent Posts Widget</a>
<noscript>Your browser does not support JavaScript!</noscript>
<link href='http://fonts.googleapis.com/css?family=Ubuntu+Condensed' rel='stylesheet' type='text/css' />




<style type="text/css">
img.recent-post-thumb {width:50px;height:50px;float:right;margin: 5px -5px 0px 0px; border-radius: 100%; padding: 3px;background: #fff}
.recent-posts-container {font-family: 'Ubuntu Condensed', sans-serif; float: left;width: 100%;min-height: 55px;margin: 5px 0px 5px 0px;padding: 0;font-size:12px;}
ul.recent-posts-container {list-style-type: none; background: #fff;padding: 0px; }
ul.recent-posts-container li:nth-child(1n+0) {background: #F00A1A; width: 100%}
ul.recent-posts-container li:nth-child(2n+0) {background: #990033; width: 98%}
ul.recent-posts-container li:nth-child(3n+0) {background: #3685B8; width: 96%;}
ul.recent-posts-container li:nth-child(4n+0) {background: #FF0066; width: 94%;}
ul.recent-posts-container li:nth-child(5n+0) {background: #6ED933; width: 92%;}
ul.recent-posts-container li {padding:5px 10px;min-height:50px; list-style-type: none; margin: 0px 5px -5px 5px; color: #ffffff;}
.recent-posts-container a { text-decoration:none; }
.recent-posts-container a:hover { color: #ffffff;}
.post-date {color:#ffffff; font-size: 11px; }
.recent-post-title a {font-size: 14px;color: #FAF203; font-weight: bold;}
.recent-post-title {padding: 6px 0px;}
.recent-posts-details a{ color: #ffffff;}
.recent-posts-details {padding: 5px 0px 5px; }
</style>




style 4:

recent post 4

<script style="text/javascript" src="https://helplogger.googlecode.com/svn/trunk/helplogger/recentposts2.js"></script>
<script style="text/javascript">
var posts_no = 5;
var showpoststhumbs = true;
var readmorelink = true;
var showcommentslink = true;
var posts_date = true;
</script>
<script src="/feeds/posts/default?orderby=published&alt=json-in-script&callback=showlatestpostswiththumbs" rel="nofollow"></script>
<a style="font-size: 9px; color: #CECECE; float: right; margin: 5px;" href="http://www.allproduct.tk" rel="nofollow">Recent Posts Widget</a>
<noscript>Your browser does not support JavaScript!</noscript>
<link href='http://fonts.googleapis.com/css?family=Lobster|Gloria+Hallelujah' rel='stylesheet' type='text/css' />



<style type="text/css">
img.recent-post-thumb {width:50px;height:50px;float:right;margin: -4px -35px 0px 0px; border: 4px solid #E73037; border-radius: 100%;}
.recent-posts-container {font-family:  "Avant Garde",Avantgarde, cursive;  float: left;width: 100%;min-height: 55px;margin: 5px 0px 5px 0px;padding: 0;font-size:12px;}
ul.recent-posts-container {counter-reset: countposts;list-style-type: none; background: #fff; }
ul.recent-posts-container li:before {content: counter(countposts,decimal);counter-increment: countposts;z-index: 2;position:absolute; left: -40px; font-size: 16px;color: #ffffff;background: #E73037;padding: 9px 14px; border-radius: 100%; margin-top: 15px;}
ul.recent-posts-container li {position:relative;padding:5px 0px;min-height:50px; list-style-type: none; margin: -2px 5px 5px 5px;  border-top: 2px solid #E73037;}
ul.recent-posts-container {border: 2px solid #E73037; }
.recent-posts-container a { text-decoration:none; }
.recent-posts-container a:hover { color: #222;}
.post-date {color:#e0c0c6; font-size: 11px; }
.recent-post-title a {font-size: 14px;color: #616662;}
.recent-post-title {padding: 6px 0px;}
.recent-posts-details a{ color: #888;}
.recent-posts-details {padding-bottom: 5px;}
a.readmorelink {color: #4DACE3;}
</style>



style 5:

 

recent post 5

<script style="text/javascript" src="http://helplogger.googlecode.com/svn/trunk/helplogger/recentposts2.js"></script>
<script style="text/javascript">
var posts_no = 5;
var showpoststhumbs = false;
var readmorelink = true;
var showcommentslink = true;
var posts_date = true;
</script>
<script src="/feeds/posts/default?orderby=published&alt=json-in-script&callback=showlatestpostswiththumbs"></script>
<a style="font-size: 9px; color: #CECECE; float: right; margin: 5px;" href="http://www.allproduct.tk">Recent Posts Widget</a>
<noscript>Your browser does not support JavaScript!</noscript>
<link href='http://fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'/>


<style type="text/css">
img.recent-post-thumb {padding: 2px; width:35px;height:35px;float:right;margin: -14px 0px 0px 5px; border: 1px solid #cea5ac; border-radius: 10%;}
.recent-posts-container {font-family: 'Oswald', sans-serif;  float: left;width: 100%;min-height: 70px;margin: 5px 0px 5px 0px;padding: 0;font-size:12px;}
ul.recent-posts-container li {position:relative;padding:5px 0px;min-height:65px; list-style-type: none; margin: 0px 10px 5px 35px;}
ul.recent-posts-container {counter-reset: countposts;list-style-type: none;}
ul.recent-posts-container li:before {content: counter(countposts,decimal);counter-increment: countposts;z-index: 2;position:absolute; left: -40px; font-size: 16px;color: #ffffff;background: #E73037;padding: 9px 14px; border: 1px solid #E73037;}
.recent-posts-container a { text-decoration:none; }
.recent-posts-container a:hover{color: #E73037;}
.post-date {color:#e0c0c6; font-size: 11px; }
.recent-post-title a {font-size: 13px; text-transform: uppercase; color: #5C4D4D;}
.recent-post-title { margin: 5px 0px; }
.recent-posts-details {border-top: 4px solid #E73037; margin-top: 5px; padding-top: 5px;}
.recent-posts-details a{ color: #888;}
a.readmorelink {color: #4DACE3;}
</style>


style 6:

recent post 6

<script style="text/javascript" src="http://helplogger.googlecode.com/svn/trunk/helplogger/recentposts2.js"></script>
<script style="text/javascript">
var posts_no = 5;
var showpoststhumbs = false;
var readmorelink = false;
var showcommentslink = false;
var posts_date = false;
</script>
<script src="/feeds/posts/default?orderby=published&alt=json-in-script&callback=showlatestpostswiththumbs"></script>
<a style="font-size: 9px; color: #CECECE; float: right; margin: 5px;" href="http://www.allproduck.tk">Recent Posts Widget</a>
<noscript>Your browser does not support JavaScript!</noscript>
<link href='http://fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'/>
<style type="text/css">
img.recent-post-thumb {padding: 2px; width:35px;height:35px;float:right;margin: -14px 0px 0px 1px; border: 1px solid #cea5ac; border-radius: 10%;}
.recent-posts-container {font-family: 'Oswald', sans-serif;  float: left;width: 100%;min-height: 70px;margin: 5px 0px 5px 0px;padding: 0;font-size:12px;}
ul.recent-posts-container li {position:relative;padding:2px 0px;min-height:65px; list-style-type: none; margin: 0px 10px 5px 35px;}
ul.recent-posts-container {counter-reset: countposts;list-style-type: none;}
ul.recent-posts-container li:before {content: counter(countposts,decimal);counter-increment: countposts;z-index: 2;position:absolute; left: -40px; font-size: 16px;color: #ffffff;background: #E73037;padding: 9px 14px; border: 1px solid #E73037;}
.recent-posts-container a { text-decoration:none; }
.recent-posts-container a:hover{color: #E73037;}
.post-date {color:#e0c0c6; font-size: 11px; }
.recent-post-title a {font-size: 13px; text-transform: uppercase; color: #5C4D4D;}
.recent-post-title { margin: 5px 0px; }



</style>

Popunder dengan bayaran tertinggi 2016

PopUnder Baru Dengan Bayaran Tinggi Poptm – sudah lama sarnuji.com tidak membahas tentang bloging namun dalam kesempatan kali ini saya menemukan sebuah ad server popunder baru yang bayaran lumayan tinggi di bandingkan dengan popunder lainya seperti adf.ly popads.net dan sebagainya , poptm ini juga mempunya beberapa keunggulan yaitu sebagai berikut .

Kenunggulan PopTM

95% ad block lewat
Tidak redirect blog anda
Tidak download applikasi otomatis
ECPM tinggi
Cara Daftar

Daftar di Poptm.com
Isi form di sana
Dan konfirmasi email
Pastikan situs anda menggunakan hitstats dan google analyic
Penghasilan agan ?

 

PopUnder-Baru-Dengan-Bayaran-Tinggi-Poptm

 

PopUnder Baru Dengan Bayaran Tinggi Poptm
PopUnder Baru Dengan Bayaran Tinggi Poptm
Bukti Pembayaran ?

PopUnder Baru Dengan Bayaran Tinggi Poptm
PopUnder Baru Dengan Bayaran Tinggi PoptmPopUnder-Baru-Dengan-Bayaran-Tinggi-Poptm-1-652x1024
Karena bukti pembayaran itu sangat penting bagi anda , saya berikan kepada agan agan semua agar pada tidak menyangka kalo poptm ini scam atau tidak membayar , ane kirim salah satu bukti pembayaran aja , selamat mencoba dan sukses selalu .

Cara mengatasi Boomb Click Iklan Adsense

Apa itu AdsShield? AdsShield adalah anti click/spam untuk Adsense. Cara kerja scriptnya bagaimana? Script ini bekerja dengan cara dengan mendeteksi klik dari pengunjung sehingga jika terjadi klik lebih dari nilai yang sudah di atur, iklan akan menghilang dari pengunjung tadi. Iklan menghilang karena iklan tersebut berada dalam area tag.

adsense tutorial

yang berisi class AdsShield. Jadi jika ada iklan di area tersebut di klik sebanyak pengaturan maksimal klik, area tersebut termasuk iklan di dalamnya akan menghilang dari pengunjung.

Namun, ada beberapa bug yang masih ada dalam script ini. Berikut daftar bugnya:
Jika pengunjung mengklik dengan cara CTRL + Click dan juga klik kanan lalu open link new tab, jumlah klik tidak akan terdeteksi.
Jika pengunjung menggunakan TAB untuk menuju link pada saat kursor mouse berada pada iklan, akan terhitung sebagai klik.
Hanya bekerja pada web browser terbaru seperti Chrome, Firefox, dan IE.
Untuk cara pakai, silahkan paste kode di bawah ini ke atas kode template anda.

<a href="http://files.sabri.id/AdShield.js">http://files.sabri.id/AdShield.js</a>

Jangan lupa pastikan sudah ada jQuery yang terinstall di website anda. Jika belum silahkan tambahkan kode berikut di atas kode juga.

<a href="https://code.jquery.com/jquery-1.12.2.min.js">https://code.jquery.com/jquery-1.12.2.min.js</a>

Jika sudah, pakai kode berikut ini setiap kali ingin menambahkan iklan.

KODE IKLAN ANDA DISINI

Kode ini bukan hanya untuk Adsense, melainkan untuk semua jenis iklan.

Sekian artikel saya kali ini. Jika ada kurang atau salah mohon dimaklumi karena saya masih newbie.

martinsville race 2016 nascar race

MARTINSVILLE, Va. — Kyle Busch came to Martinsville Speedway this weekend with no grandfather clock trophies, the traditional award for winning at the shortest and tightest of the NASCAR Sprint Cup Series short tracks.

nascar 2016

He left with two such clocks after completing an unprecedented Martinsville sweep in Sunday’s STP 500, and, appropriately, coyly radioed a single question to his crew after his celebratory burnouts.

“What time is it?” crowed the reigning series champion, who a day earlier had won the NASCAR Camping World Truck Series at Martinsville in his own equipment.

MORE: Busch wins OT Truck race at Martinsville

Then, Busch answered his own question.

“Time to tell the haters to shut up!” Busch shouted in a reference to the rocky relationship the Joe Gibbs Racing driver sometimes enjoys with the NASCAR fan base.

Busch can be forgiven for his over-the-top exclamation. With the victory, he’s all but assured of defending his 2015 championship in this year’s Chase for the NASCAR Sprint Cup.

“I can’t say enough about this whole JGR team,” said Busch, who led the final 173 laps after passing teammate Matt Kenseth for the top spot. “The (No. 18) M&M’s Camry was awesome in practice (on Saturday). We had a really good car through practice, and (crew chief) Adam (Stevens) made some really good adjustments overnight to keep us where we needed to be, running up front all day.”

In fact, Busch led 352 of the 500 laps on the way to his first victory of the season and the 35th of his career. The 352 laps led were the most at Martinsville since Bobby Hamilton dominated the Apr. 20, 1998 Sprint Cup race at the .526-mile track, winning from the pole and leading 378 circuits.

 

nascar 2016 usa

For the final restart on Lap 489, after caution had slowed the race for the eighth time when Jamie McMurray shredded a tire and lost control in Turn 2, Busch pulled away to cross the finish line .663 seconds ahead of AJ Allmendinger.

Allmendinger matched his career-best Sprint Cup finish on an oval track, with his previous second place coming at Martinsville in 2012. Moreover, it was Allmendinger’s first top five since he won at the Watkins Glen International road course in August 2014 and qualified for the Chase for the only time in his career.

“God, I wish we had one more spot,” said Allmendinger, who restarted third with 12 laps left, forced his way past Kenseth and spent the final 10 laps in an all-out — albeit futile — attempt to run down Busch before the finish.

“We got our car really, really good on the long runs,” he continued. “That’s kind of where I thought we shined. We didn’t have great short-run speed, but after about 30, 40 laps we could really get rolling there. I was kind of hoping we’d stay green the last 120 laps. I figured that wasn’t going to happen, but I was praying we had a shot at that, because I felt like if that happened, we had a great chance to win the race.”

Kyle Larson, who, like Busch, competed in Saturday’s truck race, used the extra track time to full benefit in finishing third in the Cup race, one spot ahead of Austin Dillon, who stayed out on old tires for the final restart (as did Busch, Kenseth and Allmendinger).

Brad Keselowski recovered from a Lap 93 pit road-speeding penalty to run fifth. Carl Edwards, who started 25th and spent much of the race a lap down, fought back to finish sixth. Brian Vickers, Paul Menard, Jimmie Johnson and Ryan Newman completed the top 10.

Polesitter Joey Logano struggled with the handling of his car from the outset. Busch put him a lap down on Lap 76, but Logano recovered to finish 11th, despite so much damage to the nose of the No. 22 Ford that he finished the race with his hood flapping above the engine compartment.

MORE: Martinsville brings out angry old men in Penske cars

Denny Hamlin, who was a pre-race favorite, wheel-hopped his No. 11 Toyota into the Turn 1 wall on Lap 220 and retired from the race in 39th place.

MORE: Hamlin hits wall, ends day

Dale Earnhardt Jr. and Kevin Harvick were shuffled back during the final restart and finished 14th and 17th, respectively. Harvick retained the series lead by four points over Johnson and five points over Busch.

Hung on the outside on the final restart, Kenseth dropped to 15th after Allmendinger passed him. Danica Patrick came home 16th, her best result so far this season.

Leak boosts Panama’s image

[PANAMA] A huge data leak from a law firm in Panama suggesting it hid billions of dollars in assets of global politicians, sports stars and entertainers threatened Sunday to dramatically boost the country’s reputation as an offshore haven for money laundering.

panama video

Panama, a small nation of just four million people, has a booming financial services sector that, including revenue from its famous canal, accounts for nearly 80 per cent of gross domestic product.

It has one of the best sustained economic growth rates in Latin America, low inflation, and uses the US dollar as its currency.

Successive governments have strenuously sought to portray the country as a business-friendly financial hub akin to Singapore that actively encourages banking and investment.

But they have found it hard to shake a widely held image of Panama as a place where shady deals are done in secret to hide money from tax authorities and launder the proceeds of the rich, the powerful and the criminal.

After coming under heavy scrutiny in recent years from other countries, especially the United States, Panama has cleaned up its act somewhat, enough to get off an international “blacklist” of suspected money-laundering states.

In February, Panama was also taken off a “gray list” of nations with lax financial laws, but still flagged as having deficiencies in fighting money laundering.

Sunday’s revelations, published under the title “The Panama Papers,” could put the progress it has made at risk.

Although the media investigation into the data leak notes that many of the transactions may not in themselves be illegal, they were often politically unpalatable – and were facilitated by Panama’s tardiness in fully applying international transparency rules.

Despite foreign pressure Panama has dragged it feet on exchanging financial information with other countries and lifting its banking secrecy.

“Panama has become the most opaque place on earth,” the director of the Center for Tax Policy in the Organisation for Economic Cooperation and Development (OECD), Pascal Saint-Amans, told France’s iTele network on Sunday.

The Tax Justice Network, an advocacy group, in December said: “Panama thumbs its nose at transparency.”

Transparency International, a corruption watchdog, ranks the country 72 out of 168 in the world (168 being the least transparent), with a pretty secretive financial system put at 14 out of 71 jurisdictions.

Last month, Panama’s Foreign Minister and Vice President Isabel De Saint Malo told BBC radio her country was “completely committed” to exchanging financial information.

But she said Panama was “concerned about the cost to our financial institutions” under proposed reporting guidelines.

She was also asked specifically about the Panama-based law firm at the centre of the data leak scandal, Mossack Fonseca, and its role in a huge bribery case unfolding in Brazil involving the state oil company Petrobras.

“I think that needs to be cleared up,” she admitted in the March 7 interview.

She stated, however: “Our financial sector abides by the highest standards internationally.”

The Washington-based International Consortium of Investigative Journalism said the extensive investigation detailed the offshore holdings of a dozen current and former world leaders, as well as businessmen, criminals, celebrities and sports stars.

panama2 video

The allegations were published by more than 100 news organisations around the world, and the German newspaper Sueddeutsche Zeitung, which first received the data more than a year ago, said it was confident the material was genuine.

The Munich-based daily was offered the data through an encrypted channel by an anonymous source who requested no monetary compensation, said Bastian Obermayer, a reporter for the paper.

The data concerned internal documents from a Panama-based law firm, Mossack Fonseca. Founded by German-born Juergen Mossack, the company has offices across the globe and is among the world’s biggest creators of shell companies, the newspaper said.

Ramon Fonseca of Mossack Fonseca said the firm had no control of how its clients might use offshore vehicles created for them.

“We are not responsible for the actions of a corporation that we set up,” he told Panama’s Channel 2.

ICIJ said the law firm’s internal files contain information on 214,488 offshore entities connected to people in more than 200 countries and territories, and it thought it was the biggest leak journalists had ever worked on.

Among the countries with past or present political figures named in the reports are Iceland, Ukraine, Pakistan, Saudi Arabia, Russia and Argentina.

The Guardian newspaper, which took part in the investigation, published a video on its website showing an interview with Iceland’s prime minister, Sigmundur David Gunnlaugsson conducted by Sweden’s SVT television.

He is asked about a company called Wintris, and responds by insisting that its affairs are above board and calling the question “completely inappropriate” before breaking off the interview.

In Russia, the Kremlin last week said it was anticipating what it called an upcoming “information attack”.

Vladimir Putin’s spokesman, Dmitry Peskov, told reporters the Kremlin had received “a series of questions in a rude manner” from an organisation that he said was trying to smear the Russian president.

“Journalists and members of other organisations have been actively trying to discredit Putin and this country’s leadership,” Mr Peskov said.

The office of Argentina’s president, Mauricio Macri, confirmed the business group owned by his family set up Fleg Trading, an offshore company based in the Bahamas.

But it said Mr Macri himself had no shares in Fleg and never received income from it.

The ICIJ said the documents included emails, financial spreadsheets, passports and corporate records detailing how powerful figures used banks, law firms and offshore shell companies to hide their assets. The data spanned nearly 40 years, from 1977 through to the end of 2015.

According to the media group’s website, global banks including HSBC, UBS, Credit Suisse, Deutsche Bank and others have worked with Mossack Fonseca to create offshore accounts.

“The allegations are historical, in some cases dating back 20 years, pre-dating our significant, well-publicised reforms implemented over the last few years,” HSBC spokesman Rob Sherman said.

“We work closely with the authorities to fight financial crime and implement sanctions.”

Panama’s president said his government will co-operate “vigorously” with any judicial investigation arising from the leak.

President Juan Carlos Varela said the revelations should not detract from his government’s “zero tolerance” for any illicit activities in Panama’s finance industry.